osmocom-bb/src/host/layer23
Andreas Eversberg d7e611472a ASCI: Add option to join voice group/broadcast calls without valid SIM
This option must be enabled in the VTY and is disabled by default.

Calls can be joined when service is limited or normal. With that option
enabled, calls can be joined even with invalid SIM.

Talking is allowed when service is normal. With that option enabled,
talking is always allowed. It depends on the network, if it accepts the
talker.

Change-Id: I6ea851a8cb015ff685b985335968c6184beca816
Related: OS#5364
2023-10-27 09:12:26 +02:00
..
include ASCI: Add option to join voice group/broadcast calls without valid SIM 2023-10-27 09:12:26 +02:00
src ASCI: Add option to join voice group/broadcast calls without valid SIM 2023-10-27 09:12:26 +02: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 modem: initial SM layer support through libosmo-gprs-sm 2023-03-30 13:52:50 +02: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