| [[overview]] |
| == Overview |
| |
| This manual should help you getting started with OsmoMGW. It will cover |
| aspects of configuring and running the media gateway. |
| |
| [[intro_overview]] |
| === About OsmoMGW |
| |
| OsmoMGW is the Osmocom implementation of a media gateway to handle user |
| plane (voice) traffic in cellular networks. It can connect and optionally |
| transcode RTP voice streams between different network elements such as BTSs |
| and external entities like SIP. It is typically co-located with both OsmoBSC |
| and OsmoMSC and controlled by them via MGCP, the Media Gateway Control |
| Protocol. |
| |
| [[fig-bsc]] |
| .OsmoMGW used with OsmoBSC |
| [graphviz] |
| ---- |
| digraph G { |
| rankdir = LR; |
| OsmoBTS -> OsmoBSC [label="Abis/IP"]; |
| OsmoBSC -> "core-network" [label="3GPP AoIP"]; |
| OsmoBSC -> OsmoMGW [label="MGCP"]; |
| OsmoBTS -> OsmoMGW [label="RTP",dir=both]; |
| OsmoMGW -> "core-network" [label="RTP",dir=both]; |
| {rank=same OsmoBSC OsmoMGW} |
| OsmoMGW [color=red]; |
| } |
| ---- |
| |
| [[fig-msc]] |
| .OsmoMGW used with OsmoMSC |
| [graphviz] |
| ---- |
| digraph G { |
| rankdir = LR; |
| "2G BSS" -> OsmoMSC [label="3GPP AoIP"]; |
| OsmoMSC -> OsmoMGW [label="MGCP"]; |
| "2G BSS" -> OsmoMGW [label="RTP",dir=both]; |
| OsmoMSC -> OsmoSIP [label="MNCC"]; |
| OsmoSIP -> PBX [label="SIP Trunk"]; |
| OsmoMGW -> PBX [label="RTP",dir=both]; |
| {rank=same OsmoMSC OsmoMGW} |
| OsmoSIP [label="osmo-sip-connector"]; |
| OsmoMGW [color=red]; |
| |
| hNodeB -> OsmoHNBGW [label="Iuh"]; |
| OsmoHNBGW -> OsmoMSC [label="IuCS"]; |
| hNodeB -> OsmoMGW [label="RTP",dir=both]; |
| } |
| ---- |
| |
| [[fig-bsc-e1]] |
| .Integration of legacy E1 BTS in AoIP network |
| [graphviz] |
| ---- |
| digraph G { |
| rankdir = LR; |
| BTS -> OsmoBSC [label="Abis/E1"]; |
| OsmoBSC -> "core-network" [label="3GPP AoIP"]; |
| OsmoBSC -> OsmoMGW [label="MGCP"]; |
| BTS -> OsmoMGW [label="TRAU/E1",dir=both]; |
| OsmoMGW -> "core-network" [label="RTP",dir=both]; |
| {rank=same OsmoBSC OsmoMGW} |
| OsmoMGW [color=red]; |
| } |
| ---- |
| |
| === Software Components |
| |
| OsmoMGW contains a variety of different software components, which we’ll |
| quickly describe in this section. |
| |
| ==== MGCP Implementation |
| |
| OsmoMGW brings its own MGCP implementation through which OsmoMGW is |
| controlled. |
| |
| The commands implemented are CRCX, MDCX, DLCX and RSIP. The command AUEP is |
| implemented as a stub and will simply respond with OK. |
| |
| ==== RTP implementation |
| |
| Support for IuUP which is used in 3G cells is quite lacking at the moment. |
| 3G<->3G and 2G<->2G calls should work, but 3G<->2G does not. |
| |
| ==== Audio transcoder |
| |
| Transcoding is currently not supported in OsmoMGW. |
| |
| === Limitations |
| |
| At the moment (November 2020), OsmoMGW implements RTP proxy / RTP bridge |
| type endpoints and E1/T1 16k/8k sub-slots with TRAU frames for classic BTS |
| support. To the RTP proxy / RTP bridge endpoints two RTP connections can |
| be established, which then work as a tandem. E1/T1 endpoints support one |
| RTP connection at a time that is associated with a sub-slot on an E1 line. |
| We are planning to add further endpoint types for: |
| |
| - classic E1/T1 timeslots (64kBps alaw/ulaw) |
| - announcement/playout end-points |
| - conference endpoints |
| |
| === Additional resources |
| |
| You can find the OsmoMGW issue tracker and wiki online at |
| |
| - https://osmocom.org/projects/osmo-mgw |
| - https://osmocom.org/projects/osmo-mgw/wiki |
| |
| RFC 3435 for MGCP is located at |
| |
| - https://tools.ietf.org/html/rfc3435 |