Project

General

Profile

News

July 2024 Osmocom CNI releases

Added by osmith about 18 hours ago

The Osmocom project has released new version 202407 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 10 months of work since the previous versions released during mid September 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.

Versions

Project Version Changelog
osmo-gsm-manuals 1.6.0 https://cgit.osmocom.org/osmo-gsm-manuals/plain/debian/changelog?h=1.6.0
libosmocore 1.10.0 https://cgit.osmocom.org/libosmocore/plain/debian/changelog?h=1.10.0
osmo-e1d 0.7.0 https://cgit.osmocom.org/osmo-e1d/plain/debian/changelog?h=0.7.0
libosmo-abis 1.6.0 https://cgit.osmocom.org/libosmo-abis/plain/debian/changelog?h=1.6.0
libosmo-netif 1.5.0 https://cgit.osmocom.org/libosmo-netif/plain/debian/changelog?h=1.5.0
libosmo-pfcp 0.4.0 https://cgit.osmocom.org/libosmo-pfcp/plain/debian/changelog?h=0.4.0
libosmo-sccp (+ OsmoSTP) 1.9.0 https://cgit.osmocom.org/libosmo-sccp/plain/debian/changelog?h=1.9.0
osmo-iuh 1.6.0 https://cgit.osmocom.org/osmo-iuh/plain/debian/changelog?h=1.6.0
libusrp 3.4.9 https://cgit.osmocom.org/libusrp/plain/debian/changelog?h=3.4.9
libgtpnl 1.3.0 https://cgit.osmocom.org/libgtpnl/plain/debian/changelog?h=1.3.0
libasn1c 0.9.37 https://cgit.osmocom.org/libasn1c/plain/debian/changelog?h=0.9.37
osmo-ggsn 1.12.0 https://cgit.osmocom.org/osmo-ggsn/plain/debian/changelog?h=1.12.0
osmo-hlr 1.8.0 https://cgit.osmocom.org/osmo-hlr/plain/debian/changelog?h=1.8.0
osmo-mgw 1.13.0 https://cgit.osmocom.org/osmo-mgw/plain/debian/changelog?h=1.13.0
osmo-trx 1.7.0 https://cgit.osmocom.org/osmo-trx/plain/debian/changelog?h=1.7.0
osmo-pcu 1.5.0 https://cgit.osmocom.org/osmo-bts/plain/debian/changelog?h=1.5.0
osmo-pcap 0.5.0 https://cgit.osmocom.org/osmo-pcap/plain/debian/changelog?h=0.5.0
osmo-bts 1.8.0 https://cgit.osmocom.org/osmo-bts/plain/debian/changelog?h=1.8.0
osmo-bsc 1.12.0 https://cgit.osmocom.org/osmo-bsc/plain/debian/changelog?h=1.12.0
osmo-msc 1.12.0 https://cgit.osmocom.org/osmo-msc/plain/debian/changelog?h=1.12.0
osmo-sgsn 1.12.0 https://cgit.osmocom.org/osmo-sgsn/plain/debian/changelog?h=1.12.0
osmo-gbproxy 0.5.0 https://cgit.osmocom.org/osmo-gbproxy/plain/debian/changelog?h=0.5.0
osmo-cbc 0.5.0 https://cgit.osmocom.org/osmo-cbc/plain/debian/changelog?h=0.5.0
osmo-smlc 0.3.0 https://cgit.osmocom.org/osmo-smlc/plain/debian/changelog?h=0.3.0
osmo-hnbgw 1.6.0 https://cgit.osmocom.org/osmo-hnbgw/plain/debian/changelog?h=1.6.0
osmo-hnodeb 0.2.0 https://cgit.osmocom.org/osmo-hnodeb/plain/debian/changelog?h=0.2.0
osmo-sip-connector 1.7.0 https://cgit.osmocom.org/osmo-sip-connector/plain/debian/changelog?h=1.7.0

Noteworthy Changes

Common

osmo_io and io_uring

The most notable improvement of these releases is the addition of osmo_io to libosmocore, as well as adjusting several components to use it (libosmocore, libosmogb ns2, libosmo-netif, libosmo-sigtran, libosmo-mgcp-client). osmo_io is a new way of how we do I/O operation in Osmocom projects. It moves from a raw select/poll abstraction (where every application performs its own read/write once the fd becomes readble/writable) to a submission/completion model, where the actual I/O is performed by the library, an the application just submits write requests (as struct msgb) and receives write-completion and read-completion call-backs.

Apart from having more code reuse and a cleaner split between application and I/O library, this has the added advantage that the underlying operating system I/O mechanism can be swapped out without touching each and every application. Specifically, we now have the following two back-ends implemented in libosmocore:
  • POLL: classic osmo_fd based implementation using poll(2) (default)
  • IO_URING: a backend using the Linux kernel io_uring(7) API (new)

The choice of back-end is done via setting the LIBOSMO_IO_BACKEND environment variable. If you set it to IO_URING when starting an Osmocom program, all sub-systems / interfaces ported over to the osmo_io API will make use of the io_uring(7) API (via liburing).

The main advantage of io_uring is performance. Benchmarking has shown that a classic, poll-based production osmo-bsc loaded with 400 TRX is spending about 40% of its CPU cycles in the system call overhad (sock_poll, tcp_poll and do_sys_poll) and a lot of system call entry/exit in general, due to the many small read/write/recvmsg/sendmsg/recfrom/sendto and poll calls.

For more information, see:

Misc

  • Systemd files have been updated to run services as osmocom user instead of root
  • Uniform log format in default configs
  • RPM spec files have been removed from almost all repositories (more)

libosmocore

  • core: Add software UART implementation
  • Add a GSM RLP decoder and encoder
  • libosmosim: Support Microsoft smart card discovery process
  • libosmosim: class_tables: improvements to GlobalPlatform
  • isdn: initial implementation of the V.110 TA
  • LAPD/LAPDm: Add support for RTS based polling
  • Add TW-TS specific BSSMAP IEs and BTS feature flags
  • Add the jhash implementation from the linux kernel
  • Add a VTY command to generate FSM state graphs
  • codec: make osmo_hr_check_sid() more efficient
  • socket: new API osmo_sock_sctp_get_peer_addr_info(), reimplement osmo_sock_init2_multiaddr()
  • GSUP: extend for osmo-epdg (new IE for PCO, new message type for CEAI interface)
  • coding: fix artificial bit errors for PDTCH CS2 and CS3
  • gsup: Convert PDP-Type IE to PDP-Address IE
  • logging: fix nul octets in log output
  • Lots of small fixes and improvements

libosmo-abis

  • Add support for sending and receiving Sa bits, as well as some line signals
  • Various TRAU <> RTP related fixes
  • trau_rtp_conv: add support for HRv1 in 8k format
  • TRAU->RTP: add support for TW-TS-001 & TW-TS-002
  • Build config: add --disable-ortp option
  • Logging improvements

libosmo-netif

  • Support osmo_io
  • stream: Add client-side (segmentation) support for IPA
  • Several docs improvements

osmo-e1d

  • Fix issue on truncated USB transfer
  • Add option to reset receive buffer, when clock drifts too far away
  • Support of setting and indication of Sa bits in time slot 0 of multi frames
  • LOS/AIS/RAI/LOF are indicated and sent to client
  • Fix of some memory leaks / double free
  • Add support to configure CRC4 mode for TX/RX
  • Fixes some issues at channelized mux process

OsmoSGSN

Many minor and cosmetic fixes and improvements.
Most notable new changes are:

  • Add 3k1_AUDIO and FAX_G3 bearer cap
  • Force rate adaptation mode for CSD calls to V.110
  • ASCI: Reject TERMINATION, if MS is not the originator
  • Fix VTY setting for SGs counter
  • Add section about the SGs interface
  • Fix codec mapping for GSM-HR
  • Various fixes on SDP parsing and codec matching
  • GSUP: set default ipa-name at application level
  • SMS-over-GSUP: set Source Name IE for all messages
  • SMS-over-GSUP: set log context in gsm411_gsup_rx()
  • Add LLC and HLC information forwarding to MNCC interface
  • Never page for TMSI with 'no assign-tmsi'
  • Various fixes to deb and rpm package contribution
  • Add timer X36 for delaying LU connections

OsmoHLR (and libosmo-gsup-client)

  • SMS over GSUP: implement forwarding of SMS
  • ctrl: add subscriber.by-*.imsi GET-able variable

OsmoMGW (and libosmo-mgcp-client)

  • ASCI: Add GSM-R support
  • VTY and log: Also show local port for RTP conns
  • mgcp_parse_audio_port_pt(): fix buffer overflow
  • Improve err logging
  • IuUP: Allow Initialization from any address if not yet set
  • IuUP: Allow Initialization with set rem IP address and unset remote port
  • mgcp-client: Transmit remote IP addr in CRCX if known and port=0
  • Various fixes on codec handling
  • Convert mgcp_client from osmo_wqueue to osmo_io
  • Convert RTP/RTCP/OSMUX I/O from osmo_fd to osmo_io
  • Do not fail MGCP on codec mismatch
  • Remove unused transcoding process code

OsmoTRX

  • ms: add demod test tool and data
  • ms: various small improvements
  • doc: Introduce documentation for osmo-trx-ipc and its IPC interface

OsmoBTS

  • ASCI: Add GSM-R support
  • Add GSMTAP encapsulation of RLP frames in CSD NT mode
  • common: Add RTP related rate counters
  • common: add support for TW-TS-001
  • osmo-bts-{oc2g,lc15}: signal CBCH support to BSC
  • oml: implement handling of NM_ATT_IPACC_SUPP_FEATURES
  • Transmit invalid AMR speech blocks instead of dummy FACCH
  • pcuif_proto: signal BTS model via PCUIF
  • Various small fixes and improvements for CSD and more

OsmoPCU

  • Improve User Manual:
    • List supported Gb dialects
    • Add diagram with code architecte
  • Fix potential memory leak
  • Avoid resending TXT.ind (PCU version) over PCUIF

OsmoBSC

  • ASCI: Add GSM-R support
  • recover BORKEN lchans for missing ACK scenarios
  • sccplite: Support multiple MGW in MGW pool
  • add support for RTP extensions via TW-TS-003
  • oml: ipacc: GPRS Cell attributes related improvements
  • CTRL and VTY: various new commands and other improvements
  • Many small fixes and improvements

OsmoMSC

  • ASCI: Add GSM-R support
  • manuals: add section about the SGs interface
  • Various codec handling improvements
  • CSD related fixes
  • VTY improvements
  • Many small fixes and improvements

OsmoSTP (and libosmo-sigtran)

  • Introduced support for M3UA-over-TCP
  • ipa,xua: New set of APIs to do TCP & SCTP I/O in OSMO_IO mode
  • ipa: Use pseudo-random number for SLS in IPA->M3UA direction
  • VTY: New "cs7 instance <0-15> asp NAME disconnect" command
  • VTY: rename 'sctp-role' to 'transport-role' (old naming kept for compat but deprecated)
  • Some minor logging improvements

osmo-cbc

  • cbc-apitool: Make character set configurable
  • SBcAP: Update as1nc skeleton and generated code

OsmoHNBGW

Compatibility note: OsmoHNBGW used to CRCX in loopback mode, to trigger a legacy IuUP hack. CRCX is no longer in loopback mode now, so older osmo-mgw may fail to respond to IuUP Initialization.

  • Fix several asserts being hit aborting the process
  • Fix potential use-after-free after FSM termination
  • Increase default X31 val from 5 to 15 seconds
  • VTY: New "timer hnbgw X35" command (Clean up all hNodeB persistent state after HNB disconnected for a while)
  • Fix forwarding of CS RAB Assignment Request without RTP info
  • Assume HNB's RTP IP address equals Iuh IP address when initially setting up MGW endpoint connection
  • Support forwarding RTP IP address changes between HNB and MGW.
  • Do not start MGW endpointer in loopback mode
  • Improve some RUA ctx tear down scenarios
  • Support per-HNB persistent static configuration in VTY
  • New per-HNB rate_ctr/stats: uptime, rua/ranap/dtap messages, RAB act/deact/modify, CS RAB duration, paging attempts, release causes
  • New per-HNB GTP-U traffic counters via nft
  • Avoid forwarding paging requests to HNB's not yet registered
  • Improved handling of HNBAP HNB-REGISTER-REQ errors and improved rejection.
  • Fixes for 3-digit MNC
  • Drop list of HNBAP UE Context
  • Several logging improvements
  • Several PFCP fixes/improvements:
    • Wrong FAR ID was being modified
    • Added VTY tests for PFCP
    • Implement Tx of Network Instances IEs

libgtpnl

  • Add IPv6 support
  • New QEMU tests

OsmoGGSN

  • kernel-gtp: support IPv6
  • libgtp: move includes to osmocom/include/gtp
  • set state-dir to /var/lib/osmocom/osmo-ggsn

osmo-sip-connector

  • Forward SDP between SIP and MNCC

osmo-hnodeb

  • Use 'iuh/local-ip' as local IP for RTP sockets
  • llsk: Add APIs to interact with llsk->link
  • Close LLSK during shutdown procedure

Removal of official RPM packages

Added by osmith 3 months ago

As announced previously, the rpm binary packages for CentOS 8 / AlmaLinux 8 are unmaintained.
There were also binary packages for openSUSE Tumbleweed in the Osmocom OBS, but these had no further testing besides making sure that they build.

sysmocom was still ensuring that the rpm binary packages build from the rpm spec files in our own git repositories. But this
is also significant effort that we would rather spend elsewhere, and so we decided to stop providing rpm builds altogether
and that we will remove the spec files from the git repositories.

A separate set of rpm binary packages and spec files are maintained by Martin Hauke in the openSUSE OBS instance:

Faster I/O with osmo_io and io_uring

Added by laforge 4 months ago

Last night we enabled osmo_io support in the first major sub-system, libosmo-sigtran in master of our git repositories. This change mainly affects the A and IuCS/IuPS interfaces in osmo-bsc, osmo-msc, osmo-sgsn, osmo-hnbgw, osmo-smlc and osmo-stp.

Sub-systems that have been ported over to osmo_io can easily switch from classic poll/read/write/readmsg/writemsg/recfrom/sendto/recv/send syscall based I/O to io_uring, the modern submission/completion-queue based I/O mechanism of the Linux kernel.

Using the io_uring backend of osmo_io will in turn significantly improve the performance of related osmocom programs under high load, where as much as 40% of the process CPU time is spent in I/O related system calls.

All our usual automatic test suites/jenkins jobs continue to use the default (poll) back-end, while we have a set of new jenkins jobs running the same test suites against osmocom-programs with the io_uring backend have been introduced.

We will keep the osmo_io wiki page updated with the migration/porting status, as more and more sub-systems / applications / interfaces get ported to it.

Binary packages for CentOS 8/AlmaLinux 8 are unmaintained

Added by osmith 5 months ago

Maintenance of binary packages for CentOS 8 (and compatible distributions, such as AlmaLinux 8) had been funded by sysmocom customers in the past.

This is no longer the case, so we are making the following changes:
  • Patches submitted to gerrit are not building/running regression tests on CentOS 8 anymore.
  • CentOS 8 binary packages are not tested with our TTCN-3 testsuites anymore on jenkins.osmocom.org.
  • The daily test that ensures CentOS 8 packages can be installed without conflicts, and Osmocom daemons are running as expected, gets disabled.

We will keep the binary packages of CentOS 8 as long as they build fine, but will disable individual packages if they fail to build instead of spending resources on fixing them.

If you are interested in keeping the CentOS 8 packages maintained, contact us as follows:
  • If you would like to fund maintenance of the packages:
  • If you would like to help maintain the packages: IRC

Binary packages: changes in supported distributions

Added by osmith 8 months ago

The official Osmocom binary packages will not be built anymore for the following distributions starting at 2024-02:

  • Raspberry Pi OS 64-bit (use Debian_12 etc. instead)
  • Ubuntu 23.04 (Ubuntu 23.10 and LTS 20.04/22.04 feeds are available)
  • openSUSE 15.4 (openSUSE Tumbleweed feed is available)
  • Debian Testing (Debian Unstable and 12-10 feeds are available)

For Raspberry Pi OS 64-bit users, make sure to adjust your /etc/apt/sources.list.d as described here to switch to a Debian aarch64 feed.

See the new linux distributions article for information on how long we plan to keep building packages for each distribution.

September 2023 Osmocom CNI releases

Added by pespin 11 months ago

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

Project Version Changelog
osmo-gsm-manuals 1.5.0 https://cgit.osmocom.org/osmo-gsm-manuals/plain/debian/changelog?h=1.5.0
libosmocore 1.9.0 https://cgit.osmocom.org/libosmocore/plain/debian/changelog?h=1.9.0
osmo-e1d 0.6.0 https://cgit.osmocom.org/osmo-e1d/plain/debian/changelog?h=0.6.0
libosmo-abis 1.5.0 https://cgit.osmocom.org/libosmo-abis/plain/debian/changelog?h=1.5.0
libosmo-netif 1.4.0 https://cgit.osmocom.org/libosmo-netif/plain/debian/changelog?h=1.4.0
libosmo-pfcp 0.3.0 https://cgit.osmocom.org/libosmo-pfcp/plain/debian/changelog?h=0.3.0
libosmo-sccp (+ OsmoSTP) 1.8.0 https://cgit.osmocom.org/libosmo-sccp/plain/debian/changelog?h=1.8.0
osmo-iuh 1.5.0 https://cgit.osmocom.org/osmo-iuh/plain/debian/changelog?h=1.5.0
libusrp 3.4.8 https://cgit.osmocom.org/libusrp/plain/debian/changelog?h=3.4.8
libgtpnl 1.2.5 https://cgit.osmocom.org/libgtpnl/plain/debian/changelog?h=1.2.5
libasn1c 0.9.36 https://cgit.osmocom.org/libgtpnl/plain/debian/changelog?h=0.9.36
libsmpp34 1.14.3 https://cgit.osmocom.org/libsmpp34/plain/debian/changelog?h=1.14.3
OpenGGSN 1.10.2 https://cgit.osmocom.org/osmo-ggsn/plain/debian/changelog?h=1.10.2
OsmoHLR 1.7.0 https://cgit.osmocom.org/osmo-hlr/plain/debian/changelog?h=1.7.0
osmo-mgw 1.12.0 https://cgit.osmocom.org/osmo-mgw/plain/debian/changelog?h=1.12.0
osmo-pcap 0.4.2 https://cgit.osmocom.org/osmo-pcap/plain/debian/changelog?h=0.4.2
OsmoTRX 1.6.0 https://cgit.osmocom.org/osmo-trx/plain/debian/changelog?h=1.6.0
OsmoBTS 1.7.0 https://cgit.osmocom.org/osmo-bts/plain/debian/changelog?h=1.7.0
OsmoPCU 1.3.0 https://cgit.osmocom.org/osmo-bts/plain/debian/changelog?h=1.3.0
OsmoBSC 1.11.0 https://cgit.osmocom.org/osmo-bsc/plain/debian/changelog?h=1.11.0
OsmoMSC 1.11.0 https://cgit.osmocom.org/osmo-msc/plain/debian/changelog?h=1.11.0
OsmoSGSN 1.10.0 https://cgit.osmocom.org/osmo-sgsn/plain/debian/changelog?h=1.10.0
osmo-gbproxy 1:0.4.1 https://cgit.osmocom.org/osmo-gbproxy/plain/debian/changelog?h=0.4.1
osmo-cbc 0.4.2 https://cgit.osmocom.org/osmo-cbc/plain/debian/changelog?h=0.4.2
osmo-smlc 0.2.4 https://cgit.osmocom.org/osmo-smlc/plain/debian/changelog?h=0.2.4
osmo-sip-connector 1.6.3 https://cgit.osmocom.org/osmo-sip-connector/plain/debian/changelog?h=1.6.3
OsmoHNBGW 1.4.0 https://cgit.osmocom.org/osmo-hnbgw/plain/debian/changelog?h=1.4.0
osmo-hnodeb 0.1.2 https://cgit.osmocom.org/osmo-hnodeb/plain/debian/changelog?h=0.1.2
osmo-uecups 0.2.2 https://cgit.osmocom.org/osmo-uecups/plain/debian/changelog?h=0.2.2

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

osmo-e1d

  • 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

OsmoSGSN

  • 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

OsmoTRX

  • Add experimental viterbi equalizer support
  • uhd: add freq/gain override through vty config
  • osmo-trx-ms: Further development work and performance optimizations.

OsmoBTS

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

OsmoPCU

  • 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

OsmoBSC

  • 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

OsmoMSC

  • 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

osmo-cbc

  • 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

OsmoHNBGW

  • 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)

osmo-uecups

  • Avoid double-unlock in error path of gtp_tunnel_alloc
  • Avoid null-dereference in argc < 0 case
  • Fix error paths in gtp_daemon_alloc

Support for GPRS/EGPRS on Ericsson RBS6000

Added by laforge over 1 year ago

After months of work (primarily by dexter), we're happy to have finally merged code into OsmoBSC to support GPRS/EGPRS on the Ericsson_RBS family of cellular base stations.

This means that [inexpensive] decommissioned Ericsson RBS6000 hardware (as described in Minimal_RBS_Assemblies can now not only be used for providing classic circuit-switched GSM services, but also to provide GPRS/EGPRS services.

Development of this work was made possible by yet another grant from the NLnet foundation (see also https://nlnet.nl/project/Osmocom-RBS/).

The majority of the related code lives in the OsmoBSC and OsmoPCU projects, together with libosmocore and libosmo-abis. OsmoBSC now provides a PCU socket interface (like OsmoBTS does in our normal BTS-colocated PCU), and OsmoPCU can directly open the E1 tieslots for the PDCH channels (similar to how OsmoMGW handles voice channels in E1 based BTS).

For a list of relevant commits, see https://gerrit.osmocom.org/q/topic:e1_gprs

Updates to the user manual and wiki (e.g. Ericsson_RBS2000_GPRS) should follow shortly. If you're curious to try it, you can find an example file at source:doc/examples/osmo-bsc/ericsson/osmo-bsc.dug20-rus02-1trx-1pdch-16kbps.cfg

The code has so far only been tested in our lab. Your mileage my vary. If you do try it, please feel free to report any issues you may find.

Osmocom to receive funding from OpenTechFund

Added by laforge over 1 year ago

We're happy to announce that sysmocom has achieved to obtain funding from Open Technology Fund for a variety of enhancements and improvemnts of the Open Source Cellular Network Infrastructure sphere.

The funded activities are in the following areas:

  • Better integration between the Osmocom 2G/3G core network elements and the open5gs 4G EPC (evolved packet core)
  • Improving the stability, quality and maturity of the open5gs EPC by implementing functional test suites in TTCN-3
  • Establishing interoperability with various base station hardware
  • Support three trial deployments in rural Mexico with our partner Rhizomatica
  • Organize a series of webinars for security researchers on how to use our tools for furthering their research projects

See also the project description at the OpenTechFund website

We'd like to thank OTF awarding funding to our proposal.

We'd also like to thank Rhizomatica and specifically Peter Bloom for all his help in putting together the proposal.

Osmocom binary package repository URLs have changed

Added by osmith almost 2 years ago

This is a reminder to update the repository URLs. As previously announced:

  • The binary packages are being built on Osmocom's own OBS server now.
  • We will stop pushing packages to the openSUSE OBS server at the end of October (in one week).

If you are using Osmocom binary packages, please make sure that you have configured the new repository URLs.

See the wiki for details:
https://osmocom.org/projects/cellular-infrastructure/wiki/Binary_Packages

(1-10/44)

Also available in: Atom

Add picture from clipboard (Maximum size: 48.8 MB)