OsmoMSC is the Osmocom implementation of a Mobile Switching Center (MSC).

It implements the following interfaces:
  • 3GPP AoIP over M3UA or SUA towards BSCs, for example OsmoBSC, possibly via a STP like OsmoSTP
  • 3GPP IuCS over M3UA or SUA towards RNCs or HNBGWs, for example OsmoHNBGW, possibly via a STP like OsmoSTP
  • Osmocom GSUP towards an HLR such as OsmoHLR
  • SMPP v3.4 for external SMS entities (minimal SMSC is built-in)
  • MGCP for controlling an external Media Gateway like OsmoMGW
  • MNCC for external call-control handlers, such as osmo-sip-connector for SIP trunks
  • Osmocom VTY interface for configuration + introspection
  • Osmocom CTRL interface for programmatic access to internal state/configuration

Position in a typical network


OsmoMSC was the result of splitting OsmoNITB into three parts during the 2017 NITB-split. Parts of OsmoNITB became OsmoBSC, other parts became OsmoHLR, while the mobility management, call control and SMS handling became OsmoMSC. At the time of the rewrite, the entire MSC and VLR state machines have been properly re-implemented using osmo-fsm