Project

General

Profile

Accelerate3g5 -- benoit » History » Revision 9

Revision 8 (benoit, 02/13/2018 09:12 PM) → Revision 9/11 (benoit, 02/13/2018 09:13 PM)

h1. Accelerate3g5 -- benoit 


 h2. Who 

 Benoit Michau, email contact: michau[dot]benoit[at]gmail[dot]com 


 h2. What 

 Provide a 3G and 4G core network entirely written in Python, mainly for testing handsets easily and smoothly. 


 h2. How 

 The core network part is responsible for handling home-NodeBs (ip.access femtocells) through 
 their Iuh interface, and eNodeBs (amarisoft, OAI, ...) through their S1 interface. 
 Handsets are handled through their NAS connections in the CS, PS and EPS domains, transported 
 over RANAP/RUA (for the Iuh interface) and S1AP (for the S1 interface). 

 A new framework named *pycrate* has been developped for this purpose. 
 It contains an ASN.1 compiler with PER and BER encoders, a translater for CSN.1 structures, 
 and support all NAS signalling messages. All required RAN and NAS stacks and procedures have been  
 implemented in the pycrate_corenet subdirectory, plus a main signalling server, a GTP-U server, 
 and an SMS forwarder. 


 h2. Where 

 The new framework is available here: https://github.com/ANSSI-FR/pycrate. 
 A wiki has been initiated and is growing progessively: https://github.com/ANSSI-FR/pycrate/wiki/The-pycrate-wiki. https://github.com/anssi-fr/pycrate/wiki. 
 The CryptoMobile library has been updated with CPython wrappers instead of ctypes Python wrappers 
 around 3G and 4G cryptographic algorithms: https://github.com/mitshell/CryptoMobile. 
 The Corenet application has been updated to use this new framework: https://github.com/mitshell/corenet. 


 h2. Final results (february 2018) 

 The corenet application can handle both home-NodeBs and eNodeBs correctly,  
 and connecting handsets in 3G and 4G. 
 The application can provide data connectivity through APNs, and forward SMS. 
 No voice call service is supported, neither USSD applications. 


 h2. Questions raised during the development 

 - How to configure a lower global Tx level in the femtocell statically ? 
 I have currently a temporary solution, which consists in using the web server of the femtocell  
 exposing some configuration parameters. For this, we need to replace the .htaccess file of the 
 web server. However, each time the Iuh interface restarts, the default Tx level is restored. 

 - Is there a way to broadcast information related to LTE neighbour cells ? 
 From the configuration parameters, it seems only 2G and 3G neighbour cells can be configured in 
 the system information messages. 

 - Is it possible to change the logging verbosity ? 
 I encountered some bugs during the development, and it would have been nice to get more 
 detailed logging and debugging information within the femtocell.  
Add picture from clipboard (Maximum size: 48.8 MB)