OsmoMSC » History » Version 17
fixeria, 06/04/2019 09:42 PM
1 | 1 | neels | h1. OsmoMSC |
---|---|---|---|
2 | |||
3 | 4 | laforge | OsmoMSC is the Osmocom implementation of a Mobile Switching Center (MSC). |
4 | |||
5 | It implements the following interfaces: |
||
6 | * 3GPP AoIP over M3UA or SUA towards BSCs, for example [[OsmoBSC:]], possibly via a STP like [[OsmoSTP:]] |
||
7 | 9 | laforge | * 3GPP IuCS over M3UA or SUA towards RNCs or HNBGWs, for example [[OsmoHNBGW:]], possibly via a STP like [[OsmoSTP:]] |
8 | 17 | fixeria | * Osmocom [[cellular-infrastructure:GSUP]] (alternative to SS7/TACP/MAP) towards an HLR such as [[OsmoHLR:]] |
9 | ** Subscriber management |
||
10 | ** Supplementary Services (SS/USSD) |
||
11 | ** Short Message Service (SMS) |
||
12 | ** inter-MSC handover |
||
13 | 16 | laforge | * [[SMPP]] v3.4 for external SMS entities (minimal SMSC is built-in) |
14 | * [[MGCP]] for controlling an external Media Gateway like [[OsmoMGW:]] |
||
15 | * [[MNCC]] for external call-control handlers, such as [[osmo-sip-connector:]] for SIP trunks |
||
16 | 4 | laforge | * Osmocom VTY interface for configuration + introspection |
17 | * Osmocom CTRL interface for programmatic access to internal state/configuration |
||
18 | |||
19 | 6 | laforge | h2. Position in a typical network |
20 | |||
21 | 4 | laforge | {{graphviz_link() |
22 | digraph G { |
||
23 | rankdir = LR; |
||
24 | OsmoBTS -> OsmoBSC [label="Abis/IP"]; |
||
25 | OsmoBSC -> OsmoMSC [label="3GPP AoIP"]; |
||
26 | 8 | laforge | hNodeB -> OsmoHNBGW [label="Iuh"]; |
27 | OsmoHNBGW -> OsmoMSC [label="IuCS"]; |
||
28 | 4 | laforge | OsmoMSC -> OsmoHLR [label="GSUP"]; |
29 | OsmoMSC -> OsmoSIP [label="MNCC"]; |
||
30 | OsmoMSC [color=red]; |
||
31 | 11 | laforge | { rank=same; OsmoMSC; OsmoMGW }; |
32 | OsmoMSC -> OsmoMGW [label="MGCP"]; |
||
33 | 4 | laforge | OsmoSIP [label="osmo-sip-connector"]; |
34 | 8 | laforge | OsmoSIP -> PBX [label="SIP Trunk"]; |
35 | 4 | laforge | } |
36 | }} |
||
37 | |||
38 | h2. History |
||
39 | |||
40 | 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 |
||
41 | |||
42 | 13 | laforge | {{include(cellular-infrastructure:MacroBinaryPackages)}} |
43 | |||
44 | 7 | laforge | h2. Manuals |
45 | |||
46 | * "osmomsc-usermanual.pdf":http://ftp.osmocom.org/docs/latest/osmomsc-usermanual.pdf |
||
47 | * "osmomsc-vty-reference.pdf":http://ftp.osmocom.org/docs/latest/osmomsc-vty-reference.pdf |
||
48 | 13 | laforge | |
49 | h2. Source code |
||
50 | |||
51 | The source code is available from @git.osmocom.org@ (module @osmo-msc@). |
||
52 | |||
53 | Public read-only access is available via |
||
54 | <pre> |
||
55 | git clone git://git.osmocom.org/osmo-msc.git |
||
56 | </pre> |
||
57 | |||
58 | You can browse it via cgit: https://git.osmocom.org/osmo-msc |
||
59 | |||
60 | Contributions are welcome via [[cellular-infrastructure:Gerrit]]. |
||
61 | 7 | laforge | |
62 | 12 | laforge | h2. Test Suite |
63 | |||
64 | We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]] |
||
65 | * source code: http://git.osmocom.org/osmo-ttcn3-hacks/tree/msc |
||
66 | * results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-msc-test/ |
||
67 | |||
68 | 4 | laforge | h2. Contact |
69 | |||
70 | 15 | laforge | * Contact us via the openbsc@ mailing list, see [[cellular-infrastructure:Mailing Lists]]. |
71 | 14 | laforge | * Contributions are welcome via [[cellular-infrastructure:Gerrit]]. |
72 | 4 | laforge | * Git repository browser at https://git.osmocom.org/osmo-msc |