Daniel Willmann | 2778031 | 2018-07-31 18:53:45 +0200 | [diff] [blame] | 1 | [[overview]] |
| 2 | == Overview |
| 3 | |
| 4 | This manual should help you getting started with OsmoMGW. It will cover |
| 5 | aspects of configuring and running the media gateway. |
| 6 | |
| 7 | [[intro_overview]] |
| 8 | === About OsmoMGW |
| 9 | |
| 10 | OsmoMGW is the Osmocom implementation of a media gateway to handle user |
| 11 | plane (voice) traffic in cellular networks. It can connect and optionally |
| 12 | transcode RTP voice streams between different network elements such as BTSs |
| 13 | and external entities like SIP. It is typically co-located with both OsmoBSC |
| 14 | and OsmoMSC and controlled by them via MGCP, the Media Gateway Control |
| 15 | Protocol. |
| 16 | |
| 17 | [[fig-bsc]] |
| 18 | .OsmoMGW used with OsmoBSC |
| 19 | [graphviz] |
| 20 | ---- |
| 21 | digraph G { |
| 22 | rankdir = LR; |
| 23 | OsmoBTS -> OsmoBSC [label="Abis/IP"]; |
| 24 | OsmoBSC -> OsmoMSC [label="3GPP AoIP"]; |
| 25 | OsmoBSC -> OsmoMGW [label="MGCP"]; |
| 26 | OsmoBTS -> OsmoMGW [label="RTP",dir=both]; |
| 27 | OsmoMGW -> OsmoMSC [label="RTP",dir=both]; |
| 28 | {rank=same OsmoBSC OsmoMGW} |
| 29 | OsmoMGW [color=red]; |
| 30 | } |
| 31 | ---- |
| 32 | |
| 33 | [[fig-msc]] |
| 34 | .OsmoMGW used with OsmoMSC |
| 35 | [graphviz] |
| 36 | ---- |
| 37 | digraph G { |
| 38 | rankdir = LR; |
| 39 | BTS -> BSC [label="Abis"]; |
| 40 | BSC -> OsmoMSC [label="3GPP AoIP"]; |
| 41 | OsmoMSC -> OsmoMGW [label="MGCP"]; |
| 42 | BSC -> OsmoMGW [label="RTP",dir=both]; |
| 43 | OsmoMSC -> OsmoSIP [label="MNCC"]; |
| 44 | OsmoSIP -> PBX [label="SIP Trunk"]; |
| 45 | OsmoMGW -> PBX [label="RTP",dir=both]; |
| 46 | {rank=same OsmoMSC OsmoMGW} |
| 47 | OsmoSIP [label="osmo-sip-connector"]; |
| 48 | OsmoMGW [color=red]; |
| 49 | |
| 50 | hNodeB -> OsmoHNBGW [label="Iuh"]; |
| 51 | OsmoHNBGW -> OsmoMSC [label="IuCS"]; |
| 52 | hNodeB -> OsmoMGW [label="RTP",dir=both]; |
| 53 | } |
| 54 | ---- |
| 55 | |
| 56 | === Software Components |
| 57 | |
| 58 | OsmoMGW contains a variety of different software components, which we’ll |
| 59 | quickly describe in this section. |
| 60 | |
| 61 | ==== MGCP Implementation |
| 62 | |
| 63 | OsmoMGW brings its own MGCP implementation through which OsmoMGW is |
| 64 | controlled. |
| 65 | |
| 66 | The commands implemented are CRCX, MDCX, DLCX and RSIP. The command AUEP is |
| 67 | implemented as a stub and will simply respond with OK. |
| 68 | |
| 69 | ==== RTP implementation |
| 70 | |
| 71 | Support for IuUP which is used in 3G cells is quite lacking at the moment. |
| 72 | 3G<->3G and 2G<->2G calls should work, but 3G<->2G does not. |
| 73 | |
| 74 | ==== Audio transcoder |
| 75 | |
| 76 | Transcoding is currently not supported in OsmoMGW. |
| 77 | |
| 78 | === Limitations |
| 79 | |
| 80 | Osmux is not yet supported in OsmoMGW. |
| 81 | |
| 82 | At the moment (July 2018), OsmoMGW only implements RTP proxy / RTP bridge |
| 83 | type endpoints, to each of which two RTP connections can be established. |
| 84 | We are planning to add endpoint types for: |
| 85 | |
| 86 | - classic E1/T1 timeslots (64kBps alaw/ulaw) |
| 87 | - classic E1/T1 16k sub-slots with TRAU frames for classic BTS support |
| 88 | - announcement/playout end-points |
| 89 | - conference endpoints |
| 90 | |
| 91 | === Additional resources |
| 92 | |
| 93 | You can find the OsmoMGW issue tracker and wiki online at |
| 94 | |
| 95 | - https://osmocom.org/projects/osmomgw |
| 96 | - https://osmocom.org/projects/osmomgw/wiki |
| 97 | |
| 98 | RFC 3435 for MGCP is located at |
| 99 | |
| 100 | - https://tools.ietf.org/html/rfc3435 |