mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-10-23 08:12:01 +00:00
bc0346e08060bfb8b9ac80b9972d3c6f3c392d30
The codec negotiation via SDP is currently in a neglected state. Also osmo-mgw does some kind of codec decision wile the SDP is parsed, the result is information for one codec, even when there are multiple codecs negotiated. This is problematic because we loose all information about alternate codecs while we parse. This should be untangled and the information should be presevered. Also we are not really capable picking a default. Wehen we do not supply any codec information (not even LCO), then we should pick a sane default codec. - separate the codec decision from the sdp parser and concentrate codec related code in a separate c file - add support for multiple codecs in one SDP negotiation - do not initalize "magic" codec defaults during conn allocation - do not allow invalid payload types, especially not 255. When someone tries to select an invalid payload type, do not fail hard, just pick a sane default. - handle the codec decision in protocol.c, pick a sane default codec when no (valid) codec has been negotiated (no LCO, no SDP) Change-Id: If730d022ba6bdb217ad4e20b3fbbd1114dbb4b8f Closes: OS#2658 Related: OS#3114 Related: OS#2728
About OsmoMGW ============= 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 to a Media Gateway implementation that is capable of streaming RTP for 2G (AoIP) and 3G (IuCS) GSM networks as well as (still not implemented at time of writing) transcoding between TRAU, various RTP payloads and IuUP. The OsmoMGW program exposes an MGCP interface towards clients like OsmoMSC and OsmoBSC, and receives and sends RTP streams as configured via MGCP. The libosmo-mgcp-client library exposes utilities used by e.g. OsmoMSC (found in osmo-msc.git) to instruct OsmoMGW via its MGCP service. The libosmo-mgcp library exposes MGCP server utilities used by e.g. OsmoBSC-NAT (found in osmo-bsc.git) to navigate RTP streams through a NAT. (At time of writing, this is still called libosmo-legacy-mgcp.) Find OsmoMGW issue tracker and wiki online at https://osmocom.org/projects/osmo-mgw https://osmocom.org/projects/osmo-mgw/wiki
Description
Languages
C
95.1%
Python
1.6%
Makefile
1.2%
M4
1%
Shell
1%