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