commit | 8dd1646f0b87c49c28b1d7ac023fb0522d1fb942 | [log] [tgz] |
---|---|---|
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | Thu Jan 13 20:06:53 2022 +0100 |
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | Sat Mar 18 03:05:34 2023 +0100 |
tree | d71ab49dc7a311b8c5b5ce87365b612a2d8e64c8 | |
parent | 006b0ee50a8454c61815394323dd997f8e91f28d [diff] |
[codecs filter] send + receive SDP via MNCC Transmit and receive full SDP information via MNCC, to accurately pass codecs choices between the call legs. In msc_vlr_test_call.c test_call_mt(), show that when receiving MNCC, the codec information in SDP overrules the Bearer Cap codec information -- we expect to still receive inaccurate Bearer Cap from e.g. osmo-sip-connector, because we have chosen to add SDP to MNCC instead of trying to fix the codecs represented in Bearer Cap. For internal MNCC, the MT call leg now knows which codec the MO has chosen and assigned. For external MNCC, osmo-sip-connector receives SDP about our codecs choices and sends it in SIP messages, and we also receive the full SDP information from the remote SIP leg. Update the SDP in codec_filter every time it is received, to always have the latest SDP information from the remote leg. CC MNCC | ---ALERTING--> | add local side SDP to MNCC msg | <--ALERTING--- | store remote side SDP | <--SETUP-RESP- | store remote side SDP | --SETUP-CNF--> | add local side SDP to MNCC msg | -RTP-CREATE--> | use codec_filter, add local side SDP to MNCC msg | <-RTP-CONNECT- | store remote side SDP There still is one problem: when initiating MNCC, we do not yet know the RTP address and port to be used for the CN side, because the CN CRCX happens later. So far we send 0.0.0.0:0 as RTP endpoint in the SDP, until the CN CRCX is done. A subsequent patch moves CN CRCX to an earlier time, adding proper RTP information right from the start. Related: SYS#5066 Change-Id: Ie0668c0e079ec69da1532b52d00621efe114fc2c
This repository contains a C-language implementation of a GSM Mobile Switching Centre (MSC) for 2G (GSM) and 3G (UMTS). It is part of the Osmocom Open Source Mobile Communications project.
OsmoMSC exposes
OsmoMSC implements
You can find the OsmoMSC issue tracker and wiki online at https://osmocom.org/projects/osmomsc and https://osmocom.org/projects/osmomsc/wiki.
You can clone from the official osmo-msc.git repository using
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-msc
There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-msc
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-msc 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 us 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-msc can be seen at https://gerrit.osmocom.org/#/q/project:osmo-msc+status:open
OsmoMSC originated from the OsmoNITB project, which started as a minimalistic all-in-one implementation of the GSM Network. In 2017, OsmoNITB 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.
OsmoMSC was one of the parts split off from the old openbsc.git.