blob: bbca251c1c66f145df263af59c76ef915d65bd2f [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;
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
58OsmoMGW contains a variety of different software components, which well
59quickly describe in this section.
60
61==== MGCP Implementation
62
63OsmoMGW brings its own MGCP implementation through which OsmoMGW is
64controlled.
65
66The commands implemented are CRCX, MDCX, DLCX and RSIP. The command AUEP is
67implemented as a stub and will simply respond with OK.
68
69==== RTP implementation
70
71Support for IuUP which is used in 3G cells is quite lacking at the moment.
723G<->3G and 2G<->2G calls should work, but 3G<->2G does not.
73
74==== Audio transcoder
75
76Transcoding is currently not supported in OsmoMGW.
77
78=== Limitations
79
Philipp Maier78b00552020-11-20 21:30:50 +010080At the moment (November 2020), OsmoMGW implements RTP proxy / RTP bridge
81type endpoints and E1/T1 16k/8k sub-slots with TRAU frames for classic BTS
82support. To the RTP proxy / RTP bridge endpoints two RTP connections can
83be established, which then work as a tandem. E1/T1 endpoints support one
84RTP connection at a time that is associated with a sub-slot on an E1 line.
85We are planning to add further endpoint types for:
Daniel Willmann27780312018-07-31 18:53:45 +020086
87- classic E1/T1 timeslots (64kBps alaw/ulaw)
Daniel Willmann27780312018-07-31 18:53:45 +020088- announcement/playout end-points
89- conference endpoints
90
91=== Additional resources
92
93You 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
98RFC 3435 for MGCP is located at
99
100- https://tools.ietf.org/html/rfc3435