[[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