osmocom-bb/src/host/layer23
Pau Espin 32266a9ad3 layer23: Support configuring GSMTAP through VTY in l23 apps.
This allow all l23 apps supporting L23_OPT_VTY and L23_OPT_TAP to
dynamically configure gsmtap through a "gsmtap" VTY node:

gsmtap
 gsmtap-remote-host 127.0.0.2
 gsmtap-sapi bcch
 gsmtap-sapi ccch
 gsmtap-sapi rach
 gsmtap-sapi agch
 gsmtap-sapi pch
 gsmtap-sapi sdcch
 gsmtap-sapi tch/f
 gsmtap-sapi tch/h
 gsmtap-sapi pacch
 gsmtap-sapi pdtch
 gsmtap-sapi ptcch
 gsmtap-sapi cbch
 gsmtap-category gprs dl-unknown
 gsmtap-category gprs dl-dummy
 gsmtap-category gprs dl-ctrl
 gsmtap-category gprs dl-data-gprs
 gsmtap-category gprs dl-data-egprs
 gsmtap-category gprs ul-unknown
 gsmtap-category gprs ul-dummy
 gsmtap-category gprs ul-ctrl
 gsmtap-category gprs ul-data-gprs
 gsmtap-category gprs ul-data-egprs

VTY cmd "gsmtap-sapi" enables/disables tapping on general channel types,
while "gsmtap-category" allows fine-grained selection of messages being
tapped within the enabled sapis which would tap those messages.

Change-Id: I2582a1633d37d350a7f4c2bb5e03793bdf46e839
2023-01-31 11:59:13 +01:00
..
include layer23: Support configuring GSMTAP through VTY in l23 apps. 2023-01-31 11:59:13 +01:00
src layer23: Support configuring GSMTAP through VTY in l23 apps. 2023-01-31 11:59:13 +01:00
.gitignore gsmmap: move this utility to 'layer23/src/misc/' 2023-01-03 02:43:57 +07:00
COPYING Rename 'layer2' program to 'layer23' program 2010-03-03 14:25:21 +01:00
Makefile.am Rename 'layer2' program to 'layer23' program 2010-03-03 14:25:21 +01:00
README Fix common misspellings and typos 2019-10-17 08:07:39 +00:00
configure.ac Depend on libosmo-gprs-{llc,sndcp} 2023-01-19 20:02:17 +01:00

README

= OsmocomBB layer23 architecture =

layer23 is an (incomplete) MS-side implementation of the L2 and L3 GSM
protocols as described in GSM TS 04.06, 04.08 and others.

== Interfaces ==

L1 (on the phone) uses the L1CTL protocol to talk with layer23 (on the PC).

L2 (inside layer23) uses the RSLms protocol to talk with the L3 (inside layer23)


=== RSLms ===

RSLms is modeled after the GSM TS 08.58 Radio Subsystem Link protocol.  Despite
being designed for the network side, RSL seems a good match for the L2/L3
interface inside a MS, too.

At least the RLL (Radio Link Layer) part of RSL is 100% as applicable to the MS
side as it is for the ntwork side.

==== Lower interface (L2 to RSLms) ====

Layer2 calls rslms_sendmsg() with a msgb that has the msgb->l2h pointing to a
RSL header (struct abis_rsl_common_hdr).

==== Upper interface (L3 to RSLms) ====

Layer3 calls rslms_recvmsg() with a msgb that has the msgb->l2h pointing to a
RSL header (struct abis_rsl_common_hdr).

There are utility functions like rslms_tx_rll_req() and rslms_tx_rsll_req_l3()
for creating msgb's with the appropriate RSL/RLL headers.


=== LAPDm ===

LAPDm is the GSM TS 04.06 protocol

The lower interface (to L1) is using L1CTL

The upper interface (to L3) is using RSLms