commit | 388d7c9374ec3ae1fd0e16bba1857ac1f789b8b4 | [log] [tgz] |
---|---|---|
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | Wed Mar 22 19:03:15 2023 +0100 |
committer | neels <nhofmeyr@sysmocom.de> | Wed Apr 05 13:47:46 2023 +0000 |
tree | e2cfac9fba1a32cc3f6b230c577b7655937c5040 | |
parent | 40d3c793ceb4c77116551ff0b04d2af9c61bd09b [diff] |
3G: decapsulate IuUP to AMR at the MGW; allow 3G<-AMR->2G For all 3G calls, convert IuUP <-> plain AMR/RTP on the MSC's MGW hop like this: Before this patch: hNodeB <--IuUP--> MGW@hnbgw <--IuUP--> MGW@msc <--IuUP--> other call leg After this patch: hNodeB <--IuUP--> MGW@hnbgw <--IuUP--> MGW@msc <--AMR--> other call leg ^ This allows, in principle, 2G to 3G calls without expensive transcoding, like this: hNodeB <--IuUP--> MGW@hnbgw <--IuUP--> MGW@msc <--AMR--> MGW@msc <--AMR--> MGW@bsc <--AMR--> 2G-BTS ^ (So far only proven to work with AMR-FR at 12k2.) 3G to 3G calls now look like this: hNodeB <--IuUP--> MGW@hnbgw <--IuUP--> MGW@MSC <--AMR--> MGW@MSC <--IuUP--> MGW@hnbgw <--IuUP--> hNodeB ^ Implementatino: get rid of the shim that was put in place to still send IuUP (VND.3GPP.IUFP) to the CN. So now, for all 3G voice, the IuUP gets decapsulated to plain AMR/RTP at the MSC's MGW hop. What is proven to work with this patch: successful voice call between 2G and 3G with these conditions: - a hNodeB that stubbornly accepts only 12k2 AMR; - a 2G BTS configured to use only TCH/F and only FR3, with only 12k2 as allowed AMR rate. We have not yet seen a call working for TCH/H HR3 <-> 3G, because of the lab hNodeB's limitation to 12k2. Future work we probably need: - properly request and negotiate AMR rates via SDP fmtp:mode-set. - request more RFCIs in our RANAP RAB Assignment requests (see I61e0e9e75e3239662846fd797532acdefa9f73dc). - Convert IuUP to AMR already at the HNBGW's MGW? Solving this is not part of this patch. Related: SYS#5092 Change-Id: I386a6a426c318040b019ab5541689c67e94672a1
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.