Accelerate3g5 -- benoit » History » Version 11
benoit, 03/01/2024 09:48 AM
1 | 1 | benoit | h1. Accelerate3g5 -- benoit |
---|---|---|---|
2 | |||
3 | 8 | benoit | |
4 | 1 | benoit | h2. Who |
5 | 3 | benoit | |
6 | 1 | benoit | Benoit Michau, email contact: michau[dot]benoit[at]gmail[dot]com |
7 | |||
8 | 8 | benoit | |
9 | 1 | benoit | h2. What |
10 | 3 | benoit | |
11 | 1 | benoit | Provide a 3G and 4G core network entirely written in Python, mainly for testing handsets easily and smoothly. |
12 | |||
13 | 8 | benoit | |
14 | 1 | benoit | h2. How |
15 | 6 | benoit | |
16 | 8 | benoit | The core network part is responsible for handling home-NodeBs (ip.access femtocells) through |
17 | their Iuh interface, and eNodeBs (amarisoft, OAI, ...) through their S1 interface. |
||
18 | Handsets are handled through their NAS connections in the CS, PS and EPS domains, transported |
||
19 | over RANAP/RUA (for the Iuh interface) and S1AP (for the S1 interface). |
||
20 | 1 | benoit | |
21 | 8 | benoit | A new framework named *pycrate* has been developped for this purpose. |
22 | It contains an ASN.1 compiler with PER and BER encoders, a translater for CSN.1 structures, |
||
23 | and support all NAS signalling messages. All required RAN and NAS stacks and procedures have been |
||
24 | implemented in the pycrate_corenet subdirectory, plus a main signalling server, a GTP-U server, |
||
25 | and an SMS forwarder. |
||
26 | |||
27 | |||
28 | 1 | benoit | h2. Where |
29 | |||
30 | 11 | benoit | The new framework is available here: https://github.com/pycrate-org/pycrate. |
31 | A wiki has been initiated and is growing progessively: https://github.com/pycrate-org/pycrate/wiki/. |
||
32 | 8 | benoit | The CryptoMobile library has been updated with CPython wrappers instead of ctypes Python wrappers |
33 | around 3G and 4G cryptographic algorithms: https://github.com/mitshell/CryptoMobile. |
||
34 | The Corenet application has been updated to use this new framework: https://github.com/mitshell/corenet. |
||
35 | 1 | benoit | |
36 | 4 | benoit | |
37 | 8 | benoit | h2. Final results (february 2018) |
38 | 4 | benoit | |
39 | 8 | benoit | The corenet application can handle both home-NodeBs and eNodeBs correctly, |
40 | and connecting handsets in 3G and 4G. |
||
41 | The application can provide data connectivity through APNs, and forward SMS. |
||
42 | No voice call service is supported, neither USSD applications. |
||
43 | 4 | benoit | |
44 | |||
45 | h2. Questions raised during the development |
||
46 | |||
47 | - How to configure a lower global Tx level in the femtocell statically ? |
||
48 | I have currently a temporary solution, which consists in using the web server of the femtocell |
||
49 | exposing some configuration parameters. For this, we need to replace the .htaccess file of the |
||
50 | 8 | benoit | web server. However, each time the Iuh interface restarts, the default Tx level is restored. |
51 | |||
52 | - Is there a way to broadcast information related to LTE neighbour cells ? |
||
53 | From the configuration parameters, it seems only 2G and 3G neighbour cells can be configured in |
||
54 | the system information messages. |
||
55 | |||
56 | - Is it possible to change the logging verbosity ? |
||
57 | I encountered some bugs during the development, and it would have been nice to get more |
||
58 | detailed logging and debugging information within the femtocell. |