sudo apt install swig libpcsclite-dev pcscd libbluetooth-dev
sudo dnf install swig pcsc-lite-devel pcsc-lite bluez-libs-devel
cd mobile-atlas/mobileatlas/simprovider
virtualenv venv
source venv/bin/activate
pip3 install -r requirements.txt
The current version will share all SIM cards that are connected via Serial and PC/SC reader.
The SIM-Provider has two modes:
- In 'direct' mode, it listens on the specified address(es) and waits for a Probe to connect.
- In 'server' mode, it connects to a Tunnel-Server and offers the connected SIMs.
cd mobile-atlas
./sim.py -h 0.0.0.0 --cafile <path to CA certificate> direct --cert <certificate> --key <cert key>
cd mobile-atlas
API_TOKEN=<token> ./sim.py --host 0.0.0.0 --cafile <path to CA certificate> server --api-url <server endpoint>
The setup procedure for patching a Raspberry Pi 4 is explained in this README file.
cd mobile-atlas/mobileatlas/probe
virtualenv venv
source venv/bin/activate
pip3 install -r requirements.txt
The current version will share all SIM cards that are connected via Serial and PC/SC reader.
The Probe provides two modes:
- In 'direct' mode, it connects directly to a SIM-Provider listening in 'direct' mode.
- In 'server' mode, it connects to a Tunnel-Server requesting a connection to the configured SIM card.
cd mobile-atlas
sudo ./probe.py --host <SIM provider address> --testname TestNetworkInfo --configfile mobileatlas/probe/test_config.json --cafile <path to CA certificate> direct --cert <certificate> --key <cert key>
cd mobile-atlas
MAM_TOKEN=<token for management server> API_TOKEN=<SIM tunnel token> sudo ./probe.py --host <SIM provider address> --testname TestNetworkInfo --configfile mobileatlas/probe/test_config.json
A json formatted config file containing the experiment's configuration parameters has to be provided when executing the probe.
test_config.json
:
{
"imsi" : 123456789012345,
"phone_number": "+1234567890",
"provider_name": "AT_MobileAtlasTest",
"module_blacklist" : ["qmi_wwan", "cdc_ether"],
"test_params": {
"apn" : "internet",
"pdp_type" : "ipv4v6"
}
}
The allowed configuration options are defined
here and can be further extended by every
specific experiment (cf. function validate_test_config
in
this file).
The SIM tunnel server is responsible for connecting probes with SIM providers and handles the authentication/authorization of providers and probes.
For more details and instructions on using the SIM tunnel server, please refer to the relevant README.
The management server is used to manage and monitor the MobileAtlas probes. Specifically, it handles the authentication of probes, the deployment of Wireguard configurations to probes, monitors the status of each probe, and serves as the default authentication/authorization backend for the SIM tunnel server.
Please refer to the README for more information.
If you need a quick way to generate certificates for the clients/servers you can
use the Makefile provided in the tls-certs
directory.