It is my pleasure to inform that I have a WIP patch for OsmoMSC that allows, for the first time, full MO<->MT codecs negotiation to flexibly achieve TFO (Transcoding-Free Operation).
It would be great if OsmoMSC users could give the patch a spin (in a setup that is allowed to fail because of the patch) and see if 2G calls now adjust the MO call leg to MT's codecs limitations for you. Looking forward to feedback!
This task was idling on my list because I assumed it would be a big effort, but now I realized that it is actually simple, not even a new FSM state required. So I could no longer resist to finally complete this long long quest.
The result is this WIP patch: https://gerrit.osmocom.org/c/osmo-msc/+/35051 Related patch series, uncluding ttcn3 test: https://gerrit.osmocom.org/q/topic:reass
This patch requires full SDP on MNCC, so if using osmo-sip-connector, it should be current master -- the relevant patch was merged but is not released yet: https://gerrit.osmocom.org/c/osmo-sip-connector/+/16222
Before this patch, MO was eternally stuck on the initially assigned codec. Now we adjust MO's codec if MT needs it. (MT already intelligently chooses codecs before this patch.)
For example, if MO is AMR capable and MT is not, - the MO side will start out with assigning an AMR codec (not matching). - Once MT responds (MNCC_ALERT_REQ), the MO side notices that MT does not support the assigned codec. It sends another Assignment Command to the BSC, offering only the codecs that MT supports. - If MO has at least one matching codec (say GSM-FR), the result is a TFO call using a matching codec.
We still need to check: - does OsmoBSC play along nicely with the re-assignment (it should AFAICT). - effects on MGCP: there may now be more codecs than just the assigned one in the MGCP towards the MGW. See if that checks out. - effects on 3G: make sure the feature doesn't confuse IuUP handling.
The patch passes all MSC_Tests.ttcn for me (but that doesn't necessarily imply proper codecs choices, the tests are not very strict there it seems).
~N