Project

General

Profile

Accelerate3g5 -- benoit » History » Version 8

benoit, 02/13/2018 09:12 PM

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
The new framework is available here: https://github.com/ANSSI-FR/pycrate.
31 8 benoit
A wiki has been initiated and is growing progessively: https://github.com/anssi-fr/pycrate/wiki.
32
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. 
Add picture from clipboard (Maximum size: 48.8 MB)