Project

General

Profile

Accelerate3g5 -- benoit » History » Revision 8

Revision 7 (benoit, 10/06/2017 10:00 PM) → Revision 8/11 (benoit, 02/13/2018 09:12 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 A 4G core network part has already been developed, based on an old library (libmich). 
 It is responsible for handling home-NodeBs (ip.access femtocells) through available here: https://github.com/mitshell/corenet/. 
 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 The intention is to develop 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 clean API,  
 a wider Python support all NAS signalling messages. All required RAN (both 2.7 and NAS stacks 3.4+), a complete ASN.1 compiler and procedures have been  
 implemented in the pycrate_corenet subdirectory, plus a main signalling server, a GTP-U server, runtime, 
 and an SMS forwarder. 


 the additional protocol handlers for RUA / RANAP and 2G-3G NAS. 

 h2. Where 

 The new framework is available here: https://github.com/ANSSI-FR/pycrate. 
 A wiki has been initiated It currently proposes: 
 - a complete ASN.1 compiler and is growing progessively: https://github.com/anssi-fr/pycrate/wiki. runtime (with BER/CER/DER/(U)PER encoders and decoders) 
 The CryptoMobile library has been updated with CPython wrappers instead - a large set of ctypes Python wrappers ASN.1 libraries, ready to be used 
 around 3G - a CSN.1 translater and 4G cryptographic algorithms: https://github.com/mitshell/CryptoMobile. runtime for encoding and decoding 
 The Corenet application has been updated - 24.008 MM, GMM and IE encoders and decoders 
 - A signaling server to use this new framework: https://github.com/mitshell/corenet. 


 handle Iuh interface 

 h2. Final Some results (february 2018) (october 2017) 

 The corenet application can handle pycrate_corenet subdirectory has a server handling connections from HNB over IuH. 
 It supports connecting / disconnecting femtocells and UE with HNBAP. 
 It supports RUA to transport RANAP transactions for both home-NodeBs CS and eNodeBs correctly,  
 PS domains. 
 It supports enough of RANAP to have the attachment and connecting handsets in 3G mobility of UE through the femtocells. 
 It supports mobility procedures from the TS 24.008 for both the CS and 4G. PS domains. 

 As a result, it is possible to connect UEs to the signaling server, through femtocells: 
 The application can provide data connectivity through APNs, - CS procedures supported: location update, IMSI detach, paging and forward SMS. all MM common procedures 
 No voice call service is supported, neither USSD applications. 


 - PS procedures supported: attach, routing area update, detach, paging and all GMM common procedures 

 A wiki has been started here: https://github.com/anssi-fr/pycrate/wiki 
 Basic information on how to configure and run the server will follow soon. 

 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)