116 lines
3.2 KiB
Plaintext
116 lines
3.2 KiB
Plaintext
[[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
|