Mychaela N. Falconia 6018cc4d8a MGCP extension: add parameters for TW-TS-001 & TW-TS-002
TW-TS-001 and TW-TS-002 are enhanced RTP transport formats for
GSM FR/HR/EFR codecs that restore the lost semantics of GSM 08.60
and 08.61 TRAU-UL frames.

TW-TS-003 BSSMAP extension provides a way for a core network to
ask the BSS to use these TRAU-like enhanced RTP formats instead of
those specified in 3GPP TS 48.103; OsmoBSC already supports this
mechanism when the BSS is comprised of IP-native OsmoBTS.

However, in order to achieve the same effect when using E1-based
legacy BTS hardware, the task of generating TW-TS-001/002 RTP
packets for UL and accepting them for DL moves from OsmoBTS to
the E1-Abis-interfacing MGW.  osmo_trau2rtp() is already capable
of generating these extended RTP formats on request, but until now
there was no mechanism to signal from OsmoBSC to its associated
E1 Abis MGW whether and when these extensions should be used.

Considering that MGCP as it is used in Osmocom is essentially a
private interface between OsmoBSC or OsmoMSC masters and OsmoMGW
slaves, while the externally defined and generally interoperable
interface is 3GPP TS 48.008, possibly extended with TW-TS-003,
the sensible solution is to make a private extension to the way
FR, EFR and HR codecs are described in SDP in the context of
Osmocom-MGCP.

The SDP extension birthed in the present patch consists of an fmtp
parameter for GSM, GSM-EFR and GSM-HR-08 codecs that is structured
just like the already implemented octet-align parameter for AMR.
TW-TS-001 for FR and EFR shall be described as follows:

m=audio 1234 RTP/AVP 3 110
a=rtpmap:3 GSM/8000/1
a=fmtp:3 tw-ts-001=1
a=rtpmap:110 GSM-EFR/8000/1
a=fmtp:110 tw-ts-001=1

TW-TS-002 for HR codec shall be described as follows:

m=audio 1234 RTP/AVP 111
a=rtpmap:111 GSM-HR-08/8000/1
a=fmtp:111 tw-ts-002=1

The present patch affects two areas:

* Experimental support for the newly defined extension is added to
  OsmoMGW-E1.  This support is deemed experimental (not for
  production use) because even with this extension added, OsmoMGW-E1
  is still unable to satisfy ThemWi requirements: neither ThemWi
  RTP endpoint library nor the TFO transform of TS 28.062 section
  C.3.2.1.1 are currently available in the repertoire of libraries
  whose use is allowed in mainline OsmoCNI components, yet both are
  required.

* Support is added to libosmo-mgcp-client whereby OsmoBSC will be
  able to issue CRCX and MDCX commands to E1 Abis MGW endpoints
  with TW-TS-001 and/or TW-TS-002 enabled.  Adding the necessary
  support to OsmoBSC will allow a complete working system to be
  deployed using OsmoBSC plus tw-e1abis-mgw, a replacement for
  OsmoMGW-E1 that works by using both Osmocom and ThemWi libraries.

Related: OS#6614
Change-Id: I0d58e6d84418f50670c8ab7cf8490af3bc2f5c26
2025-03-10 19:26:57 +00:00
2022-01-11 17:46:41 +00:00
2017-08-27 17:44:55 +02:00
2017-08-27 17:44:55 +02:00
2024-05-08 14:41:07 +02:00

osmo-mgw - Osmocom MGW (Media GateWay) Implementation

This repository contains a C-language implementation of an MGW (Media GateWay) for use [not only] within the 2G (GSM) and/or 3G (UMTS) Cellular Network built using Osmocom CNI (Cellular Network Infrastructure) software.

The OsmoMGW program provides an MGCP interface towards an MGCP call agent (client) like OsmoMSC and OsmoBSC, and receives and sends RTP streams as configured via the MGCP control plane.

This Media Gateway implementation is capable of

  • streaming RTP for 2G (3GPP AoIP and Abis-over-IP)
  • streaming RTP for 3G (IuCS including the IuFP protocol)
  • TDM (E1/T1) based Abis interface with TRAU frames on 16k sub-slots
  • basic support for LCLS (Local Call, Local Switch) related features
  • various built-in translation capabilities
    • between Abis TRAU frames and RTP formats
    • between 2G AMR/RTP and 3G AMR/IuFP/RTP
    • between bandwidth-efficient and octet-aligned AMR
    • between different standards for encapsulating GSM HR codec frames in RTP

osmo-mgw is typically co-located with

  • osmo-bsc (GSM BSC)
  • osmo-msc (GSM/UMTS MSC)
  • osmo-hnbgw (UMTS HNBGW); osmo-mgw implements RTP relay between Iuh and IuCS interfaces

The libosmo-mgcp-client library exposes utilities used by e.g. OsmoMSC (found in osmo-msc.git) to instruct OsmoMGW via its MGCP service.

Homepage

You can find the OsmoMGW issue tracker and wiki online at https://osmocom.org/projects/osmo-mgw and https://osmocom.org/projects/osmo-mgw/wiki.

GIT Repository

You can clone from the official osmo-mgw.git repository using

    git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw

There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw

Documentation

User Manuals and VTY reference manuals are [optionally] built in PDF form as part of the build process.

Pre-rendered PDF version of the current "master" can be found at User Manual as well as the VTY Reference Manual

Mailing List

Discussions related to osmo-mgw are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We use a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-mgw can be seen at https://gerrit.osmocom.org/#/q/project:osmo-mgw+status:open

History

OsmoMGW originated from the OpenBSC project, which started as a minimalistic all-in-one implementation of the GSM Network. In 2017, OpenBSC had reached maturity and diversity (including M3UA SIGTRAN and 3G support in the form of IuCS and IuPS interfaces) that naturally lead to a separation of the all-in-one approach to fully independent separate programs as in typical GSM networks.

OsmoMGW was one of the parts split off from the old openbsc.git. It originated as a solution to merely navigate RTP streams through a NAT, but has since matured.

Description
Osmocom Media Gateway (RTP proxy and RTP/E1 gateway)
Readme 25 MiB
Languages
C 95.1%
Python 1.6%
Makefile 1.2%
M4 1%
Shell 1%