OsmoCBC: osmo-cbc 0.4.0 released, now with 4G (SBcAP) support

Added by laforge about 2 months ago

We're happy to announce release 0.4.0 of OsmoCBC, the Open Source Cell Broadcast Centre.

The major news for this release (aside from the usual series of bugfixes) is the support of LTE/4G via the so-called 3GPP SBcAP interface. This means that emergency messages can now not only sent to a 2G/GSM cellular network, but also to a 4G/LTE network. The support of 3GPP standardized SBcAP ensures interoperability with a variety of different EPC/MME.

Development of this 4G capability was made possibly by a generous grant of the NLnet foundation

Pre-compiled packages for a variety of GNU/Linux distributions are available as usual via our Latest_Builds

For a full changelog, please see

Cellular Network Infrastructure: Binary packages moved to new location

Added by osmith 3 months ago

The nightly and latest feeds of the Osmocom binary packages for Debian, Raspbian, Ubuntu, openSUSE and CentOS are from now on available at See the binary packages wiki page for the exact, distribution specific URLs and for instructions for adding the repositories in these distributions.

As transitional phase, the packages will still be available at the old location ( until end of October 2022 . Make sure to change the URLs on your systems, so "apt upgrade" etc. still work as expected.

The reason for this change is, that we decided to self-host the openSUSE build service at See #5557 for details.

Cellular Network Infrastructure: June 2022 Osmocom CNI releases

Added by pespin 3 months ago

The Osmocom project has released new version 202206 of the CNI (Cellular Network Infrastructure) software, including OsmoTRX, OsmoBTS, OsmoPCU, OsmoBSC, OsmoMGW, OsmoMSC, OsmoHLR, OsmoSGSN, OsmoGGSN, OsmoSTP, OsmoSIPConnector, and others.

Those new tagged/released versions contain 7 months of work since the previous versions released during November 2021.

You can find pre-compiled binary packages of our latest release for a variety of Debian and Ubuntu GNU/Linux versions at Latest_Builds.

List of tagged versions and link to related ChangeLog

Project Version Changelog
libosmocore 1.7.0
libosmo-abis 1.3.0
libosmo-sccp (+ OsmoSTP) 1.6.0
osmo-iuh 1.3.0
OsmoHNBGW 1.3.0
OsmoTRX 1.4.1
OsmoBTS 1.5.0
OsmoPCU 1.1.0
OsmoBSC 1.9.0
OsmoMSC 1.9.0
OsmoHLR 1.4.0
osmo-mgw 1.10.0
osmo-sip-connector 1.6.1
OsmoSGSN 1.9.0
OpenGGSN 1.9.0
osmo-pcap 0.4.0
osmo-gbproxy 1:0.3.0
osmo-cbc 0.3.0
osmo-smlc 0.2.2
osmo-e1d 0.4.0
osmo-hnodeb 0.1.0
osmo-uecups 0.2.0
osmo-e1d 0.4.0
osmo-gsm-manuals 1.3.0

Noteworthy Changes

Misc / Common

  • libosmocore: Fix several memleaks appearing under queue overflows ( async logging, gsmtap)
  • libosmocore: Improved IuUP support
  • libosmocore: New osmo_stats API which makes TCP socket statistics available as stats.
  • libosmocore: Fixes and improvements to osmo_time_cc subsystem
  • libosmocore: Improved support to run under OpenWRT (musl libc)
  • libosmovty: Implement 'no log gsmtap [HOSTNAME]' command
  • libosmovty: Add a 'skip-zero' version of 'show stats' and 'show rate-counters'
  • libosmogsm: Supprt SAI as Cell Identifier
  • libosmogsm: Handover Request ACK now contains "Codec List (BSS Supported)" IE
  • libosmogsm: Improved support encoding/decoding additional IEs in Perform Location Request
  • libosmogsm: Support decoding several more GSM 08.08 IEs
  • libusb: Several fixes and improvements
  • libosmocoding: Several fixes and improvementes to AMR and DTX support
  • libosmosim: APDU parsing support for GlobalPlatform
  • libosmoabis: TCP socket statistics of ipaccess RSL/OML are now monitored through osmocom stats
  • libosmoabis: Polling optimizations in ipaccess code (reduces CPU load)
  • libosmo-netif: osmo_stream API now supports UNIX sockets too
  • libosmo-netif: Introduced new osmo_prim API (exchange of osmo_prim based data types over IPC communication)
  • libosmo-netif: Improve and fix AMR support
  • osmo-hnbgw was moved from osmo-iuh.git to its own repository
  • Several fixes and improvements in build system regarding pkgconfig dependencies, linker, etc.


  • Fixed memleaks and NULL pointer dereferences
  • rsl: fixed parsing of the RSL MultiRate conf IE
  • cbch: fixed double-free in bts_smscb_state_reset()
  • measurement: fixed detection of SUB frames by TDMA FN
  • osmo-bts-trx: multiple performance improvements
  • osmo-bts-trx: fixed SID detection on TCH/H channels
  • osmo-bts-trx: fixed and improved the AMR loop implementation
  • osmo-bts-trx: improved Uplink measurement processing for TCH/[FH]
  • osmo-bts-trx: removed Uplink loss detection hack from Downlink path
  • osmo-bts-trx: new rate counter 'trx_sched:dl_fh_cache_miss'


  • llc: schedule frames to MS based on SAPI priority
  • Several crash fixes


  • Disable C/I based MS Power Control Loop by default
  • Multiple crash & memleak fixes
  • Lots of paging improvements and fixes (scheduling and CPU load optimizations)
  • Early avoid managing BTS which are considered to be wrongly configured at startup/connection time
  • Fix DLCI CC bits transmitted in SAPI "n" REJECT
  • bssmap_reset: make T4 user configurable
  • inter-BSC handover: Fixes in encryption
  • inter-BSC handover: Fixes and improvements to Speech related IEs
  • handover: Add handover2 penalty-time low-rxqual-ho
  • Fix handling of E-GSM ARFCNs in frequency list (Cell Channel Description IE)
  • counter: Add missing counter increment for Perform Location Request
  • counter: add counter for inter-BSC incoming Handover Request
  • Support "empty" SCCP N-Connect from MSC
  • ipa oml: Fix encoding of T3105
  • NM FSM fixes and improvements
  • System Information Type 3: allow updating T3212 at run-time
  • Fixes and improvements sending System Information Type 13
  • Improves and fixes in SMSCB code, specially in the CBSP protocol side
  • Improves and fixes in CBCH allocation and scheduling
  • Improve Adaptative Multi Rate config defaults
  • emergency call: fix RR release cause for pre-emption
  • Introduce VTY command 'ccch load-indication-period <0-255>'
  • acc: Fix erratic ramping behavior when several BTS configured
  • stats: new trackers for lchan life duration
  • stats: track TCH/SDCCH lchans reaching fully-established state
  • Fix performance for chan_counts and all_allocated stats (reduce CPU load)
  • Expand VTY option which controls use of TCH for signalling
  • ipaccess-config: improve readability of printed attribute response
  • ipaccess-config: request and print NM_ATT_IPACC_NV_FLAGS


  • Several memleak and crash fixes
  • Always send SecModeCmd for UTRAN
  • Announce IuFP audio codec for UTRAN conns in CRCX towards MGW
  • Avoid setting audio codec if not available during assignment_complete (MDCX)
  • Fix rate_ctr not being computed
  • Add VLR and SMS queue related rate counters and stat items
  • Add improvements and optimizations to sqlite based code handling the internal SMSC.
  • Drop use of libdbi in favour of using libsqlite3 directly.

OsmoHLR (and libosmo-gsup-client)

  • VTY: Fix wrong error message displayed when tyring to add an already existing subscriber
  • Introduce new CTRL commands to manage subscribers

OsmoMGW (and libosmo-mgcp-client)

  • Proper initial IuUP support
  • mgw: Fix memleak handling E1 frames
  • mgw: Some preparations for future multi-thread support

OsmoSTP (and libosmo-sigtran)

  • Several improvements to the sccp_demo_user tool
  • libosmo-sccp: M3UA/SUA: Implement handling of SCON (signaling congestion)


  • Fix forwarding of QoS Profile IE Gb<->Gn
  • Iu: add UEA encryption

OsmoGGSN (and libgtp)

  • ggsn: Fix VTY cmd 'no echo-interval' doing nothing
  • libgtp: Fix ggsn crash if pdp alloc array is full (PDP_MAX)
  • libgtp: Define retransmit QUEUE_SIZE relative to PDP_MAX (increase)
  • libgtp: Logging improvements


  • client: Add 'wqueue max-length <0-4294967295>' VTY command
  • Increase wqueue max-length default from 10 to 1000


  • Route STATUS messages with truncated PDU in error
  • Fix crash when FLUSH_LL_ACK does not contain a BVCI IE
  • Free all related BVCs if the cell is freed
  • Only route to an SGSN if the BVC is not blocked
  • New rate counters counting packet forwarding errors
  • Ensure PtP-BVCs are also reset when the SGSN SIG-BVC is reset


  • Fix several crashes
  • Fix several multi-thread issues (deadlocks, race conditions, etc.)
  • Add command line optarg support


  • icE1usb: Add support for RAI interrupt error flag
  • icE1usb: Add support for GPS-DO
  • octoi: initial support for E1oIP forwarding
  • octoi: Use RIFO (random in, first out) for IP->E1 direction
  • octoi: Add new rate-counter for out-of-order packets
  • octoi: Improve underflow/overflow conditions
  • octoi: Support setting IP DSCP and socket priority via VTY
  • octoi: Add rate_ctr for rx + tx packet / byte count
  • octoi: Make batching-factor and prefill-frame-count configurable
  • Several USB related fixes and improvements
  • Allow configuration of interfaces/lines via VTY
  • Add support for osmocom CPU schedule VTY options
  • Add rate counters for number of frames muxed/demuxed (E1 side)
  • Add stat_items for the GPS-DO related bits
  • Fix crashes


  • Set Channel Indication IE in KILL for CBS
  • Append/store results in KILL COMPLETE + KILL FAIL
  • Several crash fixes

OCTOI - Osmocom Community TDM over IP: Successful tests with HDLC over OCTOI TDMoIP

Added by laforge 5 months ago

During the past months, the primary focus in the project was on setting up reliable ISDN PRI services via the OCTOI protocol and the related hub ("central office").

Today, we've tested yet another service over OCTOI: IP in HDLC. This broadband technology doesn't use individual 64kbps E1 timeslots like in ISDN, bug it aggregates the entire 31 timeslots of the E1 link (exept for TS0) into one fat HDLC pipe. It is customary to either put raw IP packets, or Ethernet packets, or PPP frames or even Frame_Relay into that HDLC. These method of operation is supported by a variety of routers from the 1990ies.

We've tested two configurations:

Pysical E1 on client side, virtual E1 (dahdi-trunkdev) on hub side

In this configuration, an overall inner RTT of 150ms was achieved, a 115ms increase compared to the native underlying IP link.

virtual E1 (dahdi-trunkdev) on both client and hub side

In this configuration, an overall inner RTT of 108ms was achieved, a 73ms increase compared to the native underlying IP link.

Osmocom Conferences (OsmoDevCon, OsmoCon, OsmoDevCall): 2022-04-29: Osmocom Community TDMoIP

Added by laforge 5 months ago

We're happy to announce the next incarnation of OsmoDevCall

This time, laforge will be presenting an Osmocom Community TDMoIP (OCTOI)

When: Friday, April 29, 2022 from 20:00 CET

Time Topic Who
20:00 Meet and Greet everyone
20:10 Osmocom Community TDMoIP laforge
21:00 USSE (Unstructured Supplementary Social Event) everyone

Where: (Big Blue Button of

Retronetworking: isdn4linux historical CVS archive

Added by laforge 5 months ago

Thanks to Fritz Elfert, we were able to acquire a full CVS backup of the no-longer-accessible CVS server

We manually created mapping tables for CVS user names to real names / e-mail addresses and used cvs2git to import those into git repositories for contemporary viewing, analysis and long-term archieval.

The results can be found in our gitea, individual repositories linked below:

In case you're interested in the above, you might also be interested in our previous re-construction of the u-isdn history

Retronetworking: New Retronetworking Project: Software-Defined Uk0

Added by laforge 6 months ago

Osmocom developer jolly has started a new project for implementing the central-office side of the ISDN U (Uk0 in Germany) interface using a sound card with 192kHz samplerate.

Using this setup, you can connect an ISDN NT for BRI (NTBA in Germany) to your sound card, and provide ISDN services via mISDN.

Some basic information about a first proof-of-concept can be found at Software_Defined_Uk0; stay tuned for more information.

photo_2022-03-24_18-48-24.jpg photo_2022-03-24_18-48-46.jpg photo_2022-03-24_18-49-08.jpg photo_2022-03-24_18-50-02.jpg photo_2022-03-28_19-36-49.png

There is no real documentation yet on how to reproduce this, but code can be found at (SDR PHY for Uk0) and (mISDN port to make use of the former).

Osmocom Conferences (OsmoDevCon, OsmoCon, OsmoDevCall): 2022-03-25: Iridium reverse engineering update

Added by laforge 6 months ago

We're happy to announce the next incarnation of OsmoDevCall

This time, Sec and schneider will be presenting an Iridium reverse engineering update

When: Friday, March 25, 2022 from 20:00 CET

Time Topic Who
20:00 Meet and Greet everyone
20:10 Iridium reverse engineering update Sec, schneider
21:00 USSE (Unstructured Supplementary Social Event) everyone

Where: (Big Blue Button of

NOTE: There will be no recording of this talk. If you're interested, you have to participate live!

Osmocom Conferences (OsmoDevCon, OsmoCon, OsmoDevCall): 2022-03-11: USB-C - the connector and USB-PD

Added by laforge 7 months ago

We're happy to announce the next incarnation of OsmoDevCall

This time, tsaitgaist will be presenting on USB-C - the connector and USB-PD

When: Friday, March 11, 2022 from 20:00 CET

Time Topic Who
20:00 Meet and Greet everyone
20:10 USB-C - the connector and USB-PD tsaitgaist
21:00 USSE (Unstructured Supplementary Social Event) everyone

Where: (Big Blue Button of NOTE: URL has changed recently

OCTOI - Osmocom Community TDM over IP: First ISDN deployment over new OCTOI TDMoIP protocol

Added by laforge 7 months ago

Yesterday, laforge and manawyrm have managed to establish the first successful calls between two ISDN PBX interconnected via the Proposed_efficient_TDMoIP protocol implemented in osmo-e1d using the icE1usb hardware.

The setup looks as follows:

Using this setup we could validate so far:
  • the new, efficient and transparent OCTOI TDMoIP protocol works over public consumer internet access (VDSL on one end / DOCSIS on another end)
  • GPS-locked oscillators on both sides provide stable shared clock for cycle-slip free operation

Contrary to other established TDMoIP protocols, it is both transparent / protocol-agnostic and only transmits those timeslots of a E1 PRI circuit that are in use.

We are therefore fairly certain that this setup can be the basis of the larger intended Community_TDMSS7_Network we have in mind. There is lots of work to do, and we appreciate any help (see project issue tracker).


Also available in: Atom

Add picture from clipboard (Maximum size: 48.8 MB)