pySim-shell is getting initial support for talking to eUICC (the physical chip used in eSIM applications).
At this point this specifically means supporting the ES10x interface of GSMA Consumer eSIM (as well as GSMA IoT eSIM).
See https://asciinema.org/a/616888 for a quick demo of what is possible with current pySim-shell from master.

we're happy to announce the next incarnation of OsmoDevCall.
This time, there will be no formal presentation.
When: Wednesday, October 18, 2023 from 20:00 CEST
Time |
Topic |
Who |
20:00 |
Meet and Greet |
everyone |
20:10 |
USSE (Unstructured Supplementary Social Event) |
everyone |
Where: https://osmocom.org/OsmoDevCall (Big Blue Button of https://franken.de/)
we're happy to announce the next incarnation of OsmoDevCall.
This time, falconia will be presenting on Themyscira Wireless: a case study in interconnecting an Osmocom GSM network to USA PSTN
When: Wednesday, September 20, 2023 from 20:00 CEST
Time |
Topic |
Who |
20:00 |
Meet and Greet |
everyone |
20:10 |
Themyscira Wireless: a case study in interconnecting an Osmocom GSM network to USA PSTN |
falconia |
21:00 |
USSE (Unstructured Supplementary Social Event) |
everyone |
Where: https://osmocom.org/OsmoDevCall (Big Blue Button of https://franken.de/)
The Osmocom project has released new version 202309 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 mid February 2023.
You can find pre-compiled binary packages of our latest release for a variety of Debian and Ubuntu GNU/Linux versions at Latest_Builds.
The main areas of work since the previous releases are:
- Support of Circuit Switched Data (CSD) calls in 2G
- Support of Advanced Speech Call Items (ASCI) for Voice Group + Broadcast Calls in GSM-R
- Support of more authentication algorithms (XOR-2G, TUAK)
- Massive improvements in handling of voice codec negotiation
- Support for GPRS on Ericsson BTSs with E1/T1 TDM back-haul
- much more low-level control over the SCTP stack underneath libosmo-sigtran/osmo-stp
- performance optimizations of OsmoBSC
List of tagged versions and link to related ChangeLog¶
Noteworthy Changes¶
Misc / Common¶
- libosmocore: Add support for CSD (Circuit Switched Data)
- libosmocore: Add support for the XOR-2G authentication algorithm
- libosmocore: Add support for TUAK authentication algorithm
- libosmocore: Support authentication with 256-bit K and/or OP/OPc
- libosmocore: Added support for ASCI (VBS/VGCS)
- libosmocore: Add V.110 frame encoder/decoder for ISDN
- libosmocore: Performance optimizations in main loop/poll code
- libosmocore: Improvements in socket APIs to create multiaddr sockets (SCTP)
- libosmocore: New osmo-gsmtap-logsend utility (transmit stdin data through GSMTAP)
- libosmocore: TLV TLV_TYPE_SINGLE_TV parsing fixes
- libosmocore: Improved support for FR/EFR SID
- libosmocore: New GSM-FR ECU implementation
- libosmocore: Fixes and improvements handling RTP HR TS101318 vs RFC5993
- libosmocore: Initial osmo_io support with "poll" backend (default) and initial support for io_uring backend (enabled through envvar OSMO_IO_BACKEND_ENV="IO_URING")
- libosmocore: Added lots of new symbols and definitions for ip.access Abis protocol
- libosmo-abis: TRAU: Allow multiple secondary sync patterns
- libosmo-abis: TRAU: Add sync pattern for FA protocol of 3GPP TS 43.045
- libosmo-abis: TRAU: Ericsson RBS: Support synchronization pattern for MCS9, improve others
- libosmo-abis: TRAU: RTP FR/EFR SID improvements and fixes
- libosmo-abis: Improvements and fixes to the misdn driver, support setting Sa bits
- libosmo-abis: e1d: Add support for HDLC type channels
- libosmo-abis: e1d: reconnect to osmo-e1d after connection loss
- libosmo-netif: stream: Lots of improvements and fixes on osmo_stream API
- osmo_stream nos uses osmo_io, with new ipa segmentation support built-in.
- osmo_stream_cli now forwards SCTP MSG_NOTIFICATION to upper layers, as already done by osmo_stream_srv
- osmo_stream_*_set_param() API allows setting several new SCTP related parameters at socket creation time.
- Lots of general fixes and improvements in code robustness
- Improvements in doxygen documentation
- Improved unit test coverage
- Several fixes and improvements in build system regarding pkgconfig dependencies, linker, etc.
- Improvements in systemd services
- Close osmo-e1d control socket on connection loss
- Fix various bugs in code paths during error handling
- Fix file descriptor and memory leak in error paths
- Add force-send-all-ts mode to by-pass the compression
- gmm: Fix parsing of Ciphering Key Sequence Number IE
- gmm: Update DRX params during rx RAU REQ
- sm: Fix load of misaligned ptr address when receiving Activate PDP Context Request
- Relax SGSN RIM forwarding checks when receiving RIM messages from MME
OsmoHLR (and libosmo-gsup-client)¶
- Introduce support for XOR-2G test authentication algorithm (in addition to already-supported XOR-3G)
- Fix several memory leaks
- USSD: fix handling of ussd-DataCodingScheme != 0x0f
- Introduce support for 256bit K and/or OP[c] values
- Introduce support for TUAK authentication algorithm
OsmoMGW (and libosmo-mgcp-client)¶
- Don't open unused E1 lines/timeslots (needed for dynamic PDCH in E1 BTS)
- Fix octet-aligned / bandwidth-efficient comparison
- Fix codec decision in case multiple codecs are offered in SDP
- Fix SDP parsing in case multiple codecs are offered in SDP
- Allow MGCP-auditing of a special 'null' endpoint as a keep-alive/ping-pong by MGC
- Introduce keepalive feature to mgcp-client
- Introduce new mode "confecho" for GSM-R/ASCI voice group/broadcast calls
- Introduce conference bridging with 1..n connections
- Add experimental viterbi equalizer support
- uhd: add freq/gain override through vty config
- osmo-trx-ms: Further development work and performance optimizations.
As usual, many-many improvements and bug fixes.
Most notable new changes are:
- ASCI (Voice Group Call Service, Voice Broadcast) support for GSM-R
- CSD (Circuit Switched Data) support (so far only for osmo-bts-trx)
- Improved DTX support
- New PCUIF V11 version.
- paging: Add support for generating NLN/NLN-Status in P1 Rest Octets
- ASCI: Retrieve NCH position from System Information 1
- ASCI: Add Notification CHannel (NCH) support
- ASCI: Add support for rest octets in Paging request type 2 and 3
- ASCI: Send only NLN on Paging request type 1 rest octets
- ASCI: Add Notification/FACCH support
- ASCI: Enable UPLINK ACCESS on various BTS models
- ASCI: VGCS/VBS RACH -> RSL TALKER/LISTENER DETECT
- osmo-bts-virtual: properly handle dynamic TS in vbts_set_ts()
- osmo-bts-virtual: fix segfault during initialization
- osmo-bts-{trx,virtual}: properly activate [CBCH/]BCCH/CCCH
- osmo-bts-trx: fix/improve handling of BS_AG_BLKS_RES!=1
- osmo-bts-trx: Fix no NM Radio{Carrier,Channel} switching to Enabled
- osmo-bts-trx: Avoid pushing interf_meas for disabled TRX
- osmo-bts-trx: alloc/free burst buffers during channel act/deact
- osmo-bts-trx: implement CSD scheduling support
- osmo-bts-trx: implement FACCH/[FH] support for CSD
- osmo-bts-trx: various scheduler improvements
- rtp: implement rate adaptation for CSD (RFC4040 'clearmode')
- rtp: implement rtp continuous-streaming mode
- osmo-bts-sysmo: emit empty RTP ticks during FACCH stealing on TCH/F
- osmo-bts-trx: transmit invalid speech blocks instead of dummy FACCH
- osmo-bts-trx: remove model-specific BFI packet formats
- osmo-bts-*: HR1 codec: accept both TS101318 and RFC5993 formats
- osmo-bts-*: HR1 codec: select RTP output format via vty option
- osmo-bts-*: FR/HR/EFR TCH DL: implement DTX rules
- osmo-bts-*: make the Uplink ECU optional, move from -trx to l1sap
- osmo-bts-*: major improvements to handling of SID frames
- pcu_sock: PCUIF version bump: 10 -> 11
- pcu_sock: do not confirm PAGING COMMAND messages
- pcu_sock: use PCU_IF_SAPI_AGCH_2 instead PCU_IF_SAPI_AGCH
- pcu_sock: Submit all DATA.ind regardless of link quality
- pcu_sock: migrate to osmo_wqueue, drop connection on overflow
- pcuif_proto: rename tlli to msg_id
- pcuif_proto: include IMSI in DATA.req for PCH
- pcuif_proto: use confirm flag in struct gsm_pcu_if_pch
- pcuif_proto: remove unnecessary members from gsm_pcu_if_data_cnf_dt
- osmo-bts-sysmo: Delay marking phy_link as connected until L1 reset + got info
- osmo-bts-{sysmo,oc2g,lc15}: Fix RTP of AMR SID_FIRST_P1
- osmo-bts-{sysmo,lc15,oc2g}: fix segfault in ph_tch_req()
- osmo-bts-lc15: fixed various compilation warnings/errors
- osmo-bts-sysmo: mute PHY until OML is ready
- osmo-bts-sysmo: Fix pinst->version filled too early
- abis_rsl: Avoid tx RF Resource Ind for disabled TRX
- abis_rsl: rsl_rx_ipac_XXcx: parse csd_fmt_d/ir
- lc15,oc2g,sysmo: Update GPRS NM object state at the right time
- abis_nm: Apply OPSTART through NM FSMs
- abis_nm: Apply BTS/TRX/TS OML Attributes through NM FSMs
- abis_nm: FSMs for GPRS NSE, GPRS NSVC, and GPRS Cell objects
- abis_nm: Properly report all states through NM FSM upon OML link up
- bbtransc/rcarrier: Fix statechg done twice upon NM_EV_RX_OPSTART
- vty: Print AMR MultiRate Configuration in "show lchan"
- systemd: depend on networking-online.target
- contrib: Add BER testing tool
- New PCUIF v11 unix socket interface. V10 still supported, but will be deprecated most probably around next release.
- New SAPI PCU_IF_SAPI_PCH_2 replaces the old SAPI PCU_IF_SAPI_PCH
- Full IMSI sent if available in its own field, instead of prepeding a paging group
- New field "confirm" filled by PCU and the BTS/BSC obeys to it in order to know whether to confirm or not.
- New field "msg_id" filled by PCU and confirmed back from BTS/BSC, so that PCU can match requests and confirmations.
- New SAPI PCU_IF_SAPI_AGCH_2 replaces the old SAPI PCU_IF_SAPI_AGCH. Same features as in SAPI PCU_IF_SAPI_PCH_2 but without the IMSI member.
- New primitive data_cnf2 (struct gsm_pcu_if_data_cnf) added.
- Support for Ericsson RBS E1 CCU
- Lots of refactoring, improvements and tons of fixes around RLC/MAC layer.
- Add support for NACC with UTRAN and E-UTRAN cells
- vty: Allow modifying default msclass
- Various performance optimizations, specially Paging and Subscriber Lookup code
- C0 power reduction mode improvements (resuming after BTS restart)
- Support GPRS on Ericsson RBS (see #5198)
- Channel / codec selection improvements for CSD (see #4393)
- Fixed/improved handling of BTS features (nanoBTS, osmo-bts)
- Implemented VGCS/VBS (Voice Group Call Service, Voice Broadcast) support for GSM-R (see #4852)
- Improved meas_feed performance for loaded setups (>200 BTS)
- {vty,ctrl}: added pchan dynamic/{osmocom,ipaccess}
- ctrl: many new GET/SET commands for BTS paraneters
- vty: explicit role & sctp-role fields in ASP configurations
- vty: 'msc / codec-list' improvements
- vty: fixed/improved si2quater related commands
- vty: improved handling/printing of GPRS related commands
- pcuif: various improvements for BSC co-located PCU
- pcuif: new PCUIFv11 protocol
- Remove IuUP loopback hack (osmo-mgw now uspports proper IuUP)
- Proper matching / mapping of voice codecs over MS, BSS, CN and remote call leg
- Allow multiple permitted codecs in MGCP towards MGW
- Send+receive full SDP via the MNCC interface
- This requires an update of osmo-sip-connector when updating osmo-msc
- Include the "Codec List IE (MSC Preferred)" in Handover Request
- Close SMS database on start-up error, avoiding sqlite3 backtraces on next startup
- Instruct MGW to decapsulate IuUP to AMR to allow 2G <-> 3G AMR calls
- This requires an update of osmo-mgw when updating osmo-msc
- Support for CSD (circuit switched data) with external MNCC (RTP CLEARMODE)
- Support for voice broadcast calls (VBCS) and voice group calls (VGCS) as used in GSM-R
- This only works if all other elements in the network (BTS, BSC, MGW, MS, ...) support it
- Fix SMPP memory leaks
OsmoSTP (and libosmo-sigtran)¶
- Performance improvements looking up connections through conn_id
- Clarify ASP SCTP and M3UA selected roles based on configuration (explicit setting now required)
- Improve logging lines printing ASP related context information
- ASPAC/ASPIA/DUNA/DAVA/DUPU: Don't add routing context IE in ASP-role if routing context 0
- SCCP: implement variable limit on Optional Data (CR,CC,CREF,RLSD)
- Make ASP default LM timers VTY configurable
- Improve handling of SCTP notifications from SCTP sockets
- Support configuring per-ASP SCTP Primary Address and SCTP Peer Primary Address
- Support configuring per-ASP SCTP INIT parameters
- ipa: use LSBs of file descriptor as SLS in IPA->M3UA direction
- Update asn1c skeleton files (work around asan stack overflow check failures)
- Document re-generating SBcAP code from ASN.1 files
- Catch and forbid configuring peers before configuring main protocol node
- Fix UE context state leak
- Migrate from 'sccp cr max-payload-len' to generic libosmo-sigtran SCCP payload length limits ('cs7 instance N' / 'sccp max-optional-data N')
- Introduce proper finite state machines for RUA <-> SCCP connection mapping
- Improve reliability when operating Iuh over lossy / flaky links
- Fix various asn1 related memory leaks
- Allow IuCS and IuPS to operate in separate 'cs7 instance'
- Introduce support for CN pooling (MSC / SGSN pooling)
- Include Global RNC-ID in RESET / RESET-ACK (spec conformance)
- Avoid double-unlock in error path of gtp_tunnel_alloc
- Avoid null-dereference in argc < 0 case
- Fix error paths in gtp_daemon_alloc
While many people with a long history in FOSS development have no issues at all with mailing lists as primary form of engaging with their community, they have undoubtedly fallen out of fashion in favor of various chat/messaging systems or web based forums.
In Osmocom, we've just launched an installation of the discourse forum software available at https://discourse.osmocom.org/ providing an alternative to our traditional mailing lists
We're looking forward to see whether this web-based approach will facilitate more and/or other people to engage with the Osmocom developer/contributor community.
Feel free to join and get the discussions started. If there's a need for more categories or sub-categories, just let one of the moderators know and we can help with that.
The old mailing lists will continue to remain available for those who prefer them.
As our mailing lists aren't really seeing much use, and the redmine Forums never really saw any use, I decided to try a different path and deploy an instance of the discourse forum software at https://discourse.osmocom.org/
Within this Osmocom discourse, there is a Retronetworking category, with various sub-categories for related topics such as ISDN or Teletex.
There also is a German language corner for retronetworking discussions related to activities specifically happening in Germany, and to be more accessible for German native spakers who may not be confident in their English language proficiency.
Everyone interested is invite to join our discourse.
we're happy to announce the next incarnation of OsmoDevCall.
This time, laforge will be presenting on Building wired test setups for mobile communications
Particularly in lab and test setup involving cellular technology there is often a need for wired (coaxial) connection of cellular equipment, such as connecting a number of UEs (phones/modems) with one or multiple cellular base stations. For example, this is the only way to get defined power levels and test the actual transmit power or receive sensitivity of a device. The talk will cover how to build such test setups from parts like coaxial cabling, attenuators, RF splitter/combiners, duplexers, etc.
When: Wednesday, July 19, 2023 from 20:00 CEST
Time |
Topic |
Who |
20:00 |
Meet and Greet |
everyone |
20:10 |
Building wired test setups for mobile communications |
laforge |
21:00 |
USSE (Unstructured Supplementary Social Event) |
everyone |
Where: https://osmocom.org/OsmoDevCall (Big Blue Button of https://franken.de/)
We're happy to announce the next incarnation of RetroNetCall, the retronetworking oriented spin-off of OsmoDevCall
This time, casandro will be presenting on Teletext: A digital medium transcending a factor of 10⁶ in technical progress.
NOTE: Teletext (covered here) is the service transporting textual information alongside TV broadcast signals. It is not to be confused with the completely unrelated Teletex (subject of previous RetroNetCall)!
When: Wednesday, July 5, 2023 from 20:00 CEST
Time |
Topic |
Who |
20:00 |
Meet and Greet |
everyone |
20:10 |
Teletext: A digital medium transcending a factor of 10⁶ in technical progress |
casandro |
21:00 |
USSE (Unstructured Supplementary Social Event) |
everyone |
Where: https://osmocom.org/RetroNetCall (Big Blue Button of https://franken.de/)