osmocom-bb/src/target/fake_trx
Vadim Yanitskiy 615faadcfb fake_trx/data_msg.py: implement message transformation API
This change introduces two new methods, which allow to perform
L12TRX <-> TRX2L1 message type transformations.

Change-Id: Ic99cf74baa1864bf20a8fc0fc025604bc160084c
2018-02-27 06:49:07 +07:00
..
.gitignore target/fake_trx: initial release of virtual transceiver 2017-11-19 17:35:07 +07:00
README fake_trx/burst_send.py: implement DATA capture support 2018-02-20 19:29:00 +07:00
burst_fwd.py fake_trx: implement simple freq. filter 2017-11-19 17:35:07 +07:00
burst_gen.py fake_trx/udp_link.py: close socket in destructor 2018-02-27 04:40:28 +07:00
burst_send.py fake_trx/udp_link.py: close socket in destructor 2018-02-27 04:40:28 +07:00
clck_gen.py fake_trx/udp_link.py: close socket in destructor 2018-02-27 04:40:28 +07:00
ctrl_cmd.py fake_trx/udp_link.py: close socket in destructor 2018-02-27 04:40:28 +07:00
ctrl_if.py fake_trx/ctrl_if.py: allow adding custom params to response 2017-11-19 17:35:07 +07:00
ctrl_if_bb.py fake_trx/udp_link.py: close socket in destructor 2018-02-27 04:40:28 +07:00
ctrl_if_bts.py fake_trx/udp_link.py: close socket in destructor 2018-02-27 04:40:28 +07:00
data_dump.py fake_trx/data_dump.py: use 2 bytes to store message length 2018-02-20 19:43:02 +07:00
data_if.py fake_trx: use DATAMSG classes for DATA messages 2018-01-29 04:19:01 +07:00
data_msg.py fake_trx/data_msg.py: implement message transformation API 2018-02-27 06:49:07 +07:00
fake_pm.py fake_trx: implement power measurement emulation 2017-11-19 17:35:07 +07:00
fake_trx.py fake_trx/udp_link.py: close socket in destructor 2018-02-27 04:40:28 +07:00
gsm_shared.py fake_trx: share and use common GSM constants 2018-01-29 03:49:35 +07:00
rand_burst_gen.py fake_trx: share and use common GSM constants 2018-01-29 03:49:35 +07:00
trx_sniff.py fake_trx/trx_sniff.py: use DATADumpFile for capture writing 2018-02-20 18:02:35 +07:00
udp_link.py fake_trx/udp_link.py: set SO_REUSEADDR socket option 2018-02-27 04:57:58 +07:00

README

This is a set of tools for creating a virtual Um-interface between
OsmocomBB and OsmoBTS. It may be extremely useful for testing and
development of GSM stack, including both sides (MS and BTS). This
software implements OsmoTRX (Osmocom's fork of OpenBTS transceiver)
style clock (CLCK), control (CTRL) and data interfaces. So, OsmoBTS
source code doesn't require any modifications, while for OsmocomBB
you will need to use a new application - trxcon, which can be found
in the 'fixeria/trx' branch until one is merged to master.

Brief description of available applications:

  - fake_trx.py - main application, that allows to connect both
    OsmocomBB and OsmoBTS without actual RF hardware. Currently
    only a single MS may work with a single BTS.

  - clck_gen.py - a peripheral tool aimed to emulate TDMA frame
    clock generator. Could be used for testing and clock
    synchronization of multiple applications. It should be noted,
    that one relays on generic system timer (via Python), so
    a random clock jitter takes place.

  - ctrl_cmd.py - another peripheral tool, which could be used
    for sending CTRL commands directly in manual mode, and also
    for application fuzzing.

  - burst_gen.py - a tool for sending GSM bursts either to L1
    (OsmoBTS or OsmocomBB) or to TRX (OsmoTRX and GR-GSM TRX).
    Currently it is only possible to generate random bursts of
    different types: NB, FB, SB, AB.

  - burst_send.py - a tool for sending existing bursts from a
    capture file either to L1 (OsmoBTS or OsmocomBB) or to
    TRX (e.g. OsmoTRX or GR-GSM TRX).

  - trx_sniff.py - Scapy-based TRX protocol sniffer. Allows one
    to observe a single connection between TRX and L1, and vice
    versa. Also provides some capabilities for filtering bursts
    by direction, frame and timeslot numbers, and for recording
    captured messages to a binary file.