General

Profile

News

Cellular Infrastructure: 2017 Osmocom Cellular Infrastructure Review

Added by laforge about 2 months ago

Osmocom Review 2017

This is a review of the most significant changes and events in the Osmocom Cellular Infrastructure projects in 2017

January 2017

  • announce of first ever public OsmoCon conference in April
  • osmo-bts
    • Add Abis OML failure event reporting
    • fix memory leaks in osmo-bts-{sysmo,lc15} at every channel activation
  • openbsc/osmo-bsc
    • support multiple UARFCNs in SI2quater
  • osmo-hlr
    • add test suite for 2G and 3G authentication
    • fix UMTS AKA re-sync

February 2017

  • weekly manual testing with related weekly test reports to mailing list
  • heads-up about the (lack of a )future of osmo-nitb
  • heads-up about libosmo-sccp SIGTRAN work
  • sysmo-usim-tool
  • libosmo-abis
    • unix domain socket support (for Ericsson L2TP)
  • osmo-bts
    • fix AMR HR DTX FSM logic
    • fix SACCH sending fo system information with enum value > 7
    • osmo-bts-trx: fix RXGAIN and POWER parameters on second TRX
    • fix TCH/H interleaving table bit position
    • sysmoBTS 1020/1100: slow power ramp-up on TRX enable
  • osmo-sgsn
    • fix PDP context activation memory allocation bug
    • integrate support for UMTS AKA
  • openggsn
    • fix kernel-gtp tunnel creation/removal for GTPv1
    • release 0.93

March 2017

  • cgit improvements (about page, change-ID hyperlinks, issue hyperlinks)
  • Add README.md files to all our repositories
  • libosmocore
    • migrate gsm 05.03 coding from OsmoBTS to libosmocore
    • fix SQN / SEQ handling in UMTS AKA
    • 3GPP AoIP message encoding/decoding
  • libosmo-abis
    • fix ever-increasing jitter buffer
  • libosmo-netif
    • handle SCTP in in stream server
    • doxygen documentation on stream an datagram modules
  • osmo-bts
    • octphy: CBCH support
    • include MS timing offset in RSL measurements
  • osmo-sgsn
    • handle IMSIs with leading zeroes
  • osmo-bsc
    • fix T3186 encoding in SI13
    • Improved Ericsson OM2000/RBS2000 support
    • new ctrl2soap proxy in python
  • osmo-hlr
    • add CTRL interface
    • fix SQN/SEQ handling in UMTS AKA

April 2017

  • update of coding style for longer line lengths
  • OsmoCon2017 and OsmoDevCon2017
  • libosmocore
  • libosmo-netif
    • fix file descriptor leak in error paths
    • work around linux kenrel SCTP bug with sender_dry_events
    • RTP marker bit support
  • libosmo-sccp
    • Add new [[libosmo-sigtran:]] library with SS7 AS/ASP Link/Linkset handling, M3UA support, new FSM based SCCP implementation
    • Add osmo-stp program
  • osmo-bts
    • inform BSC of PCU disconnect
    • fix measurement reporting period
    • exclude idle channels from uplink measurement processing
    • octphy: measurement reports

May 2017

  • libosmocore
    • fix embedded builds
    • import and generalise 'sercomm' from osmocom-bb into libosmocore
    • SSE optimized convolutional coder
    • fix wrong GSM FR codec SID frame generation
    • doxygen docs for libosmocoding
  • osmo-bsc
    • TS 04.14 mobile station side loop control
  • osmo-bts
    • consistently check all RSL and OML TLVs for minimum length value
    • fix bit-order in every HR codec parameter (spec compliance)
    • OML get/set attribute handling
    • SI2quater support
    • bypass radio link timeout for lab testing
  • osmo-bsc
    • PCU socket support for BSC-colocated PCU for Ericsson RBS2000
    • reelase 1.0.1
  • M3UA and SUA testing as part of jenkins
  • osmo-gsm-tester produces successful runs with NITB as well as new AoIP

June 2017

  • libosmocore
    • doxygen autobrief
    • doxygen documentation for libosmogb
  • osmo-bts
    • use CLOCK_MONOTONIC timer for GSM frame timer
    • PDTCH loopback support

July 2017

  • Plan for openbsc.git split and code review
  • libosmocore
    • PDP charging characteristics in GSUP
    • PRBS sequence generators
    • multicast IP related helper functions
    • 'make release' target
  • libosmo-sccp
    • SCCP address book
  • osmo-bts
    • new virtual BTS osmo-bts-virtual for testing without radio hardware
    • don't send dummy UI frames on unused BCCH slots on TC=5
    • GSMTAP: don't log/send fill frames consisting of only padding
  • osmo-hlr
    • change to default GSUP port 4222

August 2017

  • Support for SMPP Delivery Receipt / GSM03.40 Status Report
  • Jenkins now executing M3UA, SUA and GGSN testsuite
  • libosmocore
    • fix crash in lapd_est_req()
  • libosmo-abis
    • release 0.4.0
  • osmo-bts
    • osmo-bts-trx: fix MS power control loop
    • release 0.6.0
    • support sending/removing SI13 to/from PCU
  • osmo-bsc
    • indicate R99+ MSC in SI3 to enable UMTS AKA over GERAN
  • osmo-sgsn
    • properly report GERAN/UTRAN mode in PDP CTX ACT REQ to GGSN
  • osmo-msc
    • implement IuCS support
    • split openbsc.git into osmo-bsc.git, osmo-msc.git and osmo-sgsn.git
  • openggsn
    • Add IPv6 address pool and IPV6 user (inner) plane support
    • release 0.94

September 2017

  • libosmocore.git
  • osmo-hlr
    • CTRL interface tests
  • openggsn
    • various cleanups and conversion to osmocom style/apis
    • fork osmo-ggsn from openggsn; obsolete openggsn
  • osmo-ggsn
    • release 1.0.0
    • allow enable/disable of G-PDU sequence numbers on ggsn and sgsnemu
    • sgsnemu: Add IPv6 PDP context support

October 2017

  • new 'osmocom:latest' package feed
  • libosmocore.git
  • libosmo-netif.git
    • release 0.1.0 and 0.1.1
  • libosmo-sccp.git
    • release 0.8.0 and 0.8.1
  • osmo-bts
    • don't require gsm_data_shared.[ch] from openbsc.git anymore
    • fix multiple subsequent SI1quater BCCH FILLING from BSC
    • fix AMR DTX FSM name to avoid invalid characters in name/identifier
    • release 0.7.0
  • osmo-bsc
    • release 1.1.0, 1.1.1 and 1.1.2
  • osmo-hlr
    • replace/reimplement CTRL interface commands
    • release 0.1.0
  • osmo-sgsn
    • release 1.2.0
  • osmo-msc
    • release 1.1.0, 1.1.1 and 1.1.2
    • ensure we default to enable TMSI allocation
  • osmo-ggsn
    • release 1.1.0

November 2017

  • LimeSDR support in osmocom package feeds
  • Add SPDX License identifiers in library projects
  • libosmocore
    • fix SSE3 optimization on non-SSSE3 machines
    • fix memory leaks in various unit tests for memory leak ebugging
    • add counter group introspection via CTRL
    • release 0.10.2
  • libosmo-netif
    • fix another file descriptor leak in stream server implementation
  • libosmo-sccp.git
  • osmo-bts
    • don't abort if oversized RTP packets are received
  • osmo-bsc
    • migrate from osmo-bsc_mgcp to osmo-mgw for switching user plane
    • more SI2quater fixes
    • report per-BTS connection state and uptime in VTY + CTRL
  • osmo-ggsn
    • various improvements in kernel GTP support

December 2017

  • libosmocore
    • improvements of XML export for VTY command reference generation
  • osmo-bts
    • put useful information in RTCP SDES
  • osmo-bsc
    • move lots of counters / KPIs from BSC level down to per-BTS granularity
    • reduce T3101 default from 10s to 3s
    • generate mandatory SI2bis and SI2ter rest octets (on RSL; Um was always fine)
    • reduce T3113 from 60s to 10s
    • various new per-BTS counters
  • osmo-msc
    • SMS database related fixes
    • properly set permitted ciphering algorithms in BSSMAP Cipher Mode Command
    • fix GSM-Milenage in presence of 2G keys
  • osmo-ggsn
    • fix byte order in IPCP IPV4 DNS server addresses

Cellular Infrastructure: Osmocom operates GSM/UMTS network at 34C3 (2 comments)

Added by laforge about 2 months ago

A team of Osmocom volunteers has continued the tradition of operating an experimental test network at the annual Chaos Communication Congress 34C3 held in Leipzig (Germany) from December 27 through December 30, 2017.

You can find some more information about this network at the GSM page in the 34C3 wiki and the report by tsaitgaist as part of the 34C3 infrastructure review (from minute 35 onwards of http://live.dus.c3voc.de/relive//34c3/8911/muxed.mp4)

Osmocom thanks
  • Deutsche Telekom for providing us with 3 ARFCN in the 1800 MHz band
  • Bundesnetzagentur for providing the experimental license for UMTS in the 850 MHz band
  • The team of volunteers working on the setup and operation of the network

Osmo{Dev}Con: OsmoDevCon 2018 Announced

Added by laforge 3 months ago

The 2018 incarnation of OsmoDevCon, the annual meeting for Osmocom developers has been scheduled for April 20-23, 2018 and will be held at the usual venue at IN-Berlin in Berlin, Germany.

For more information and Registration as well as submitting your talk proposals, see OsmoDevCon2018 and this mailing list thread

Contrary to OsmoDevCon, the date and venue for the user-oriented OsmoCon is still to be determined. It will be expanded from one to two days. Stay tuned for more news soon.

Cellular Infrastructure: Outreachy project selects Osmocom Debian Packaging (3 comments)

Added by laforge 4 months ago

The Outreachy project has selected work on Debian packaging for Osmocom for the Dec 2017 to Mar 2018 Outreachy Interns

You can read the related announcement at the outreachy announce mailing list

Kira "kobr" Obrezkova will be working on this, with Debian developer Thorsten Alteholz as mentor.

Congratulations, Kira! Thanks to Thorsten Alteholz for mentoring as well as to Outreachy and its sponsors!

In Osmocom, we have made tremendous progress during 2016 and 2017 in re-structuring our code base, with a proper 3GPP AoIP interface between BSC and MSC, the split-up of OsmoNITB, the externalization of the HLR and full 3G integration. This has had lots of fall-out in terms of packaging, and it's important to have the new post-NITB architecture packaged properly in upstream Debian.

Outreachy provides three-month internships for people from groups traditionally underrepresented in tech. Interns are paid a stipend of $5,500 and have a $500 travel stipend available to them. Interns work remotely with mentors from Free and Open Source Software (FOSS) communities on projects ranging from programming, user experience, documentation, illustration and graphical design, to data science.

OsmoBSC: OsmoBSC now *requires* an osmo-mgw to run alongside it (3 comments)

Added by neels 4 months ago

Heads up all OsmoBSC users: if you are deploying an osmo-bsc from osmo-bsc.git using the latest master branch (or nightly builds), you may notice voice streams not working anymore.

The reason is that OsmoBSC now supports intra-BSC handover (handover between separate BTS connected to the same BSC). To be able to redirect RTP streams between separate BTS, OsmoBSC now always requires an OsmoMGW instance to run alongside it.

Documentation on the Wiki and in the Manuals still needs to be updated, please bear with us until we get a chance to adjust those.

An OsmoMGW config example is

mgcp
 bind ip 127.0.0.1
 bind port 2427
 rtp net-range 4002 16000
 number endpoints 31
 rtp-accept-all 1

If OsmoMGW is running on the same machine as OsmoBSC with MGCP at 127.0.0.1, OsmoBSC needs no further configuration and will find the OsmoMGW by default at 127.0.0.1 port 2427. More detailed OsmoBSC side config can be issued like:

msc
 mgw remote-ip 127.0.0.1
 mgw remote-port 2427
 mgw endpoint-range 1 31

You can find OsmoMGW in the nightly (and "latest") builds as well as opkg feeds, it is installed by the osmo-mgw package and developed in the osmo-mgw.git repository.

The OsmoBSC change from which on we require an OsmoMGW is here

Previously, the higher level MGW would directly talk RTP to the BTS, which is now no longer the case. The BSC will always advertise its MGW's RTP ports towards the MSC. This means that the BTS can now be in a network segment that is not reachable by the MSC directly.

Cellular Infrastructure: Osmocom "latest" binary packages for Debian + Ubuntu (1 comment)

Added by laforge 4 months ago

Starting today, Osmocom offers an osmocom:latest package feed with Ubuntu + Debian packages of the latest tagged releases of all Osmocom cellular infrastructure software.

Since early 2016, Osmocom has already been offering Nightly_Builds of the master-of-the-day of each individual projects git repository to enable users to utilize Osmocom software without having to build from source. However, by their very nature, nightly builds are volatile as they track each indiviudal development step. This is interesting for users who are testing latest developments or who need to track fixes introduced only very recently.

The new Latest_Builds only change whenever a new release tag is set in the respective source code repository, i.e. every few weeks to months for a given project. While this is not a long-terms supported release, osmocom:latest is a much more suitable choice for deployments.

OsmoNITB: GPRS code (SGSN, GbProxy, GTPHUB) moved from openbsc.git

Added by laforge 4 months ago

As part of the NITB-Split and repository reorganisation, we have moved the GPRS code that used to live in openbsc.git to a separate repository.

Technically, the OsmoSGSN, GbProxy and GTPHUB never shared any code with osmo-nitb or the other circuit-switched code in openbsc.git. It was probably a bad idea to start writing the code in the same repository at all.

Some weeks ago, we started a separate osmo-sgsn.git repository for this code, and migrated the build jobs in jenkins as well as for the Nightly_Builds over.

Effective today, the GPRS components have been removed from openbsc.git. Please use osmo-sgsn.git from now on. Sorry for any inconvenience caused.

OsmoGGSN (former OpenGGSN): OsmoGGSN succeeds OpenGGSN (4 comments)

Added by laforge 6 months ago

12 years after OpenGGSN was seemingly abandoned by its original creators, and 7 years after Osmocom adopted it, it is time for a significant change:

OpenGGSN is becoming a first-class Osmocom citizen called OsmoGGSN.

We had already taken some baby-steps in the past by introduction of a CTRL interface as well as the use of libosmocore logging. However, my recent patches introducing a VTY interface and changing the configuration file format from the 'gengetopt' style to libosmovty based change the look+feel of the program significantly that it is a good point to rename.

After all, if command-line arguments and config file syntax are changing, documentation will also need to change and it becomes confusing to users to understand that depending on the version the documentation is correct or incorrect.

So from today on, The introduction of the VTY interface comes with many new possibilities, such as
  • multiple GGSN instances bound to different GTP IP addresses
  • multiple APNs within each GGSN, each with different Address Pools and
    tun-devices
  • sophisticated logging configuration (syslog, file, stdout, telnet)
What's still missing:
  • re-integrate kernel GTP-U support
  • create OsmoGGSN VTY reference manual
  • perl/python script to convert old config file to new config file format (any volunteers?)
Roadmap:
  • IPv6 transport plane support (outer IP layer surrounding GTP/UDP)
  • improved logging (ensure context is always included)
  • libgtp: migration of kernel GTP-U support into libgtp (not just ggsn)
  • libgtp: make PDP context hash table part of the 'gsn' structure
  • once all expected ABI/API changes are done, rename libgtp to libosmo-gtp

In terms of maintenance, I don't want to continue to maintain OpenGGSN for much longer. We'll keep it around for some time and merge important security and/or bug fixes, but I won't accept new feature patches into OpenGGSN.

(1-10/85)

Also available in: Atom