OsmoMSC » History » Revision 18
Revision 17 (fixeria, 06/04/2019 09:42 PM) → Revision 18/19 (laforge, 03/04/2020 08:25 PM)
h1. OsmoMSC
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 [[cellular-infrastructure:GSUP]] (alternative to SS7/TACP/MAP) towards an HLR such as [[OsmoHLR:]]
** Subscriber management
** Supplementary Services (SS/USSD)
** Short Message Service (SMS)
** inter-MSC handover
* [[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
h2. Position in a typical network
{{graphviz_link()
digraph G {
rankdir = LR;
OsmoBTS -> OsmoBSC [label="Abis/IP"];
OsmoBSC -> OsmoMSC [label="3GPP AoIP"];
hNodeB -> OsmoHNBGW [label="Iuh"];
OsmoHNBGW -> OsmoMSC [label="IuCS"];
OsmoMSC -> OsmoHLR [label="GSUP"];
OsmoMSC -> OsmoSIP [label="MNCC"];
OsmoMSC [color=red];
{ rank=same; OsmoMSC; OsmoMGW };
OsmoMSC -> OsmoMGW [label="MGCP"];
OsmoSIP [label="osmo-sip-connector"];
OsmoSIP -> PBX [label="SIP Trunk"];
}
}}
h2. History
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":http://ftp.osmocom.org/api/latest/libosmocore/core/html/group__fsm.html
{{include(cellular-infrastructure:MacroBinaryPackages)}}
h2. Manuals
* "osmomsc-usermanual.pdf":http://ftp.osmocom.org/docs/latest/osmomsc-usermanual.pdf
* "osmomsc-vty-reference.pdf":http://ftp.osmocom.org/docs/latest/osmomsc-vty-reference.pdf
h2. Source code
The source code is available from @git.osmocom.org@ (module @osmo-msc@).
Public read-only access is available via
<pre>
git clone git://git.osmocom.org/osmo-msc.git
</pre>
You can browse it via cgit: https://git.osmocom.org/osmo-msc
Contributions are welcome via [[cellular-infrastructure:Gerrit]].
h2. Test Suite
We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]]
* source code: http://git.osmocom.org/osmo-ttcn3-hacks/tree/msc
* results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-msc-test/
h2. Contact
* Contact us via the openbsc@ mailing list, see [[cellular-infrastructure:Mailing Lists]].
* Contributions are welcome via [[cellular-infrastructure:Gerrit]].
* Git repository browser at https://git.osmocom.org/osmo-msc
{{include(cellular-infrastructure:MacroCommercialSupport)}}