Osmocom Media Gateway (RTP proxy and RTP/E1 gateway) https://osmocom.org/projects/osmo-mgw
Go to file
Harald Welte ed4da25f2f cosmetic: make linter happy
Change-Id: Iec8404061588b848f9e597bf4112d6df9597de95
2024-03-20 14:25:49 +01:00
contrib Convert README to README.md and expand like in other projects 2024-01-29 08:17:09 +01:00
debian Bump version: 1.12.0.3-58d5b → 1.12.1 2023-09-28 15:58:57 +02:00
doc systemd,manual: set LimitNOFILE=65536 2023-12-03 02:20:48 +00:00
include remove osmo_fd from mgcp_create_bind() 2024-03-20 14:25:49 +01:00
m4 Drop unneeded ax_check_compile_flag.m4 2022-01-11 17:46:41 +00:00
src cosmetic: make linter happy 2024-03-20 14:25:49 +01:00
tests mgcp_test: fix false negatives in test output 2024-02-06 03:17:50 +01:00
.clang-format clang-format: remove foreach macros 2021-11-17 21:20:08 +00:00
.gitignore add vscode stuff to gitignore 2021-09-09 16:04:17 +02:00
.gitreview .gitreview: update repo url to new location 2017-08-08 17:15:31 +02:00
.mailmap add .mailmap file for mapping git author name/mail in shortlog 2016-08-08 17:40:28 +00:00
AUTHORS move openbsc/* to repos root 2017-08-27 17:44:55 +02:00
COPYING move openbsc/* to repos root 2017-08-27 17:44:55 +02:00
Makefile.am Convert README to README.md and expand like in other projects 2024-01-29 08:17:09 +01:00
README.md Convert README to README.md and expand like in other projects 2024-01-29 08:17:09 +01:00
README.vty-tests update git URLs (git -> https; gitea) 2022-06-18 12:18:10 +02:00
TODO-RELEASE Change msgb ownership in processing of received msgb 2024-03-20 14:25:49 +01:00
configure.ac Bump version: 1.11.0.51-af67-dirty → 1.12.0 2023-09-12 14:48:51 +02:00
git-version-gen git-version-gen: Don't check for .git directory 2018-07-24 18:06:54 +02:00
libosmo-mgcp-client.pc.in separate libosmo-mgcp-client from mgcp server code 2017-09-05 20:56:27 +00:00
osmoappdesc.py osmoappdesc.py: switch to python 3 2019-12-11 09:35:24 +01:00

README.md

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.