commit | c4b90354ca821b5d05c947ffbad850f6de8bd4a9 | [log] [tgz] |
---|---|---|
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | Sun Dec 10 07:02:37 2023 +0100 |
committer | neels <nhofmeyr@sysmocom.de> | Tue Mar 19 03:38:38 2024 +0000 |
tree | 26c92100b6b3265b0d99e812011807286f290cdc | |
parent | 28fd23604407917f8048afebf2021ea95545fb60 [diff] |
mgw: do not fail MGCP on codec mismatch Before this patch, when an CRCX+MDCX wants to set a codec list that has no match with the codecs for the other conn of that same endpoint, osmo-mgw returns an MGCP "FAIL" response. When a client wants to change the codec, it has to do that one RTP port at a time. So osmo-mgw *must* allow to configure an MGCP conn with a codec choice that mismatches the other conn. This is crucial to allow codec negotiation in osmo-msc: if MO has already assigned a specific codec, and later wants to re-assign to the codec that MT has chosen, the codec needs to be changed at osmo-mgw. This patch is the minimal fix required to get re-assignment to a different codec to work (via osmo-msc). There is more work to be done about this bit of code in osmo-mgw, but keep that to a separate patch. In detail, before this patch, we fail both - when a side has no codecs, - or when there is no single match between codecs of the two sides of the endpoint. Remove only the second condition; after this patch, still fail when a side has no codecs -- this allows mgcp_test.c to still pass. Related: OS#6293 Related: osmo-msc I8760feaa8598047369ef8c3ab2673013bac8ac8a Change-Id: I3d1163fe622bdd7dc42a485f796072524ab39db9
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
osmo-mgw is typically co-located with
The libosmo-mgcp-client library exposes utilities used by e.g. OsmoMSC (found in osmo-msc.git) to instruct OsmoMGW via its MGCP service.
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.
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
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
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.
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
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.