OsmoMGW » History » Version 24
dexter, 08/10/2022 10:34 AM
1 | 1 | neels | h1. OsmoMGW |
---|---|---|---|
2 | |||
3 | 3 | laforge | OsmoMGW, the Osmocom Media Gateway, is a Media Gateway for handling user plane (voice) traffic in cellular networks. |
4 | 1 | neels | |
5 | 12 | laforge | OsmoMGW supports the IETF "MGCP":https://tools.ietf.org/html/rfc3435 (Media Gateway Control Protocol) for control from Call Agents, such as those present in [[OsmoBSC:]] and [[OsmoMSC:]]. |
6 | 3 | laforge | |
7 | 24 | dexter | At the moment (August 2022), OsmoMGW implements RTP proxy / RTP bridge type endpoints, to each of which two RTP connections can be established. It also implements RTP / E1 endpoints that allow bridging RTP voice streams to bit synchronous E1 lines. Since each codec uses a specific TRAU format, the codec support is currently limited to GSM-FR and GSM-EFR (16k I.460 subslot). |
8 | 3 | laforge | |
9 | We are planning to add endpoint types for |
||
10 | * classic E1/T1 timeslots (64kBps alaw/ulaw) |
||
11 | * announcement/playout end-points |
||
12 | * conference endpoints |
||
13 | |||
14 | OsmoMGW is the generalized version of an earlier much more special-purpsoe implementation called osmo-bsc_mgcp. |
||
15 | |||
16 | h2. Situation in a typical Osmocom cellular network |
||
17 | |||
18 | 20 | dexter | h3. Use by [[OsmoBSC:]] with [[OsmoBTS:]] |
19 | 3 | laforge | |
20 | {{graphviz_link() |
||
21 | digraph G { |
||
22 | rankdir = LR; |
||
23 | OsmoBTS -> OsmoBSC [label="Abis/IP"]; |
||
24 | 19 | dexter | OsmoBSC -> "core network" [label="3GPP AoIP"]; |
25 | 3 | laforge | OsmoBSC -> OsmoMGW [label="MGCP"]; |
26 | 1 | neels | OsmoBTS -> OsmoMGW [label="RTP",dir=both]; |
27 | 20 | dexter | OsmoMGW -> "core network" [label="RTP",dir=both]; |
28 | {rank=same OsmoBSC OsmoMGW} |
||
29 | OsmoMGW [color=red]; |
||
30 | } |
||
31 | }} |
||
32 | |||
33 | h3. Use by [[OsmoBSC:]] with E1 BTS |
||
34 | |||
35 | {{graphviz_link() |
||
36 | digraph G { |
||
37 | rankdir = LR; |
||
38 | "E1 BTS" -> OsmoBSC [label="Abis/E1"]; |
||
39 | OsmoBSC -> "core network" [label="3GPP AoIP"]; |
||
40 | OsmoBSC -> OsmoMGW [label="MGCP"]; |
||
41 | "E1 BTS" -> OsmoMGW [label="TRAU/E1",dir=both]; |
||
42 | 19 | dexter | OsmoMGW -> "core network" [label="RTP",dir=both]; |
43 | 3 | laforge | {rank=same OsmoBSC OsmoMGW} |
44 | OsmoMGW [color=red]; |
||
45 | } |
||
46 | }} |
||
47 | |||
48 | 6 | fixeria | h3. Use by [[OsmoMSC:]] |
49 | 3 | laforge | |
50 | {{graphviz_link() |
||
51 | 1 | neels | digraph G { |
52 | 3 | laforge | rankdir = LR; |
53 | 21 | dexter | "2G RAN" -> OsmoMSC [label="3GPP AoIP"]; |
54 | 3 | laforge | OsmoMSC -> OsmoMGW [label="MGCP"]; |
55 | 21 | dexter | "2G RAN" -> OsmoMGW [label="RTP",dir=both]; |
56 | 3 | laforge | OsmoMSC -> OsmoSIP [label="MNCC"]; |
57 | OsmoSIP -> PBX [label="SIP Trunk"]; |
||
58 | 1 | neels | OsmoMGW -> PBX [label="RTP",dir=both]; |
59 | {rank=same OsmoMSC OsmoMGW} |
||
60 | OsmoSIP [label="osmo-sip-connector"]; |
||
61 | 3 | laforge | OsmoMGW [color=red]; |
62 | |||
63 | 21 | dexter | "3G RAN" -> OsmoMGW [label="RTP",dir=both]; |
64 | "3G RAN" -> OsmoMSC [label="IuCS"]; |
||
65 | |||
66 | 3 | laforge | } |
67 | }} |
||
68 | |||
69 | 22 | dexter | h3. Use by [[OsmoHNBGW:]] |
70 | |||
71 | {{graphviz_link() |
||
72 | digraph G { |
||
73 | rankdir = LR; |
||
74 | hNodeB -> OsmoHNBGW [label="Iuh"]; |
||
75 | OsmoHNBGW -> "core network" [label="IuCS"]; |
||
76 | OsmoHNBGW -> OsmoMGW [label="MGCP"]; |
||
77 | hNodeB -> OsmoMGW [label="IuUP/RTP",dir=both]; |
||
78 | OsmoMGW -> "core network" [label="RTP",dir=both]; |
||
79 | {rank=same OsmoHNBGW OsmoMGW} |
||
80 | OsmoMGW [color=red]; |
||
81 | } |
||
82 | }} |
||
83 | |||
84 | 10 | laforge | {{include(cellular-infrastructure:MacroBinaryPackages)}} |
85 | |||
86 | 2 | neels | h2. User Manuals |
87 | 1 | neels | |
88 | 13 | daniel | * osmo-mgw user manual: http://ftp.osmocom.org/docs/latest/osmomgw-usermanual.pdf |
89 | 7 | laforge | * osmo-mgw VTY reference: http://ftp.osmocom.org/docs/latest/osmomgw-vty-reference.pdf |
90 | 3 | laforge | |
91 | 11 | laforge | h2. Source code |
92 | |||
93 | 15 | laforge | The source code is available from @gitea.osmocom.org@ (module @osmo-mgw@). |
94 | 11 | laforge | |
95 | Public read-only access is available via |
||
96 | <pre> |
||
97 | 15 | laforge | git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw |
98 | 11 | laforge | </pre> |
99 | |||
100 | 15 | laforge | You can browse it via gitea: https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw |
101 | 11 | laforge | |
102 | Contributions are welcome via [[cellular-infrastructure:Gerrit]]. |
||
103 | |||
104 | 8 | laforge | h2. Test Suite |
105 | |||
106 | We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]] |
||
107 | 15 | laforge | * source code: https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/mgw |
108 | 8 | laforge | * results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-mgw-test/ |
109 | |||
110 | 3 | laforge | h2. Contact |
111 | |||
112 | 9 | laforge | * Contact us via the openbsc@ mailing list, see [[cellular-infrastructure:Mailing Lists]]. |
113 | * Contributions are welcome via [[cellular-infrastructure:Gerrit]]. |
||
114 | 15 | laforge | * Git repository browser at https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw |
115 | 14 | laforge | |
116 | {{include(cellular-infrastructure:MacroCommercialSupport)}} |