https://projects.osmocom.org/https://projects.osmocom.org/favicon.ico?16647414092020-08-18T12:23:01ZOpen Source Mobile CommunicationsOsmoMSC - Feature #4717: support Handover with changing codechttps://projects.osmocom.org/issues/4717?journal_id=194052020-08-18T12:23:01Zneelsnhofmeyr@sysmocom.de
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-7 priority-2 priority-default" href="/issues/4716">Feature #4716</a>: support handover between different codec types, like TCH/F FR1 <--> TCH/H HR1</i> added</li></ul> OsmoMSC - Feature #4717: support Handover with changing codechttps://projects.osmocom.org/issues/4717?journal_id=194102020-08-18T17:14:53Zneelsnhofmeyr@sysmocom.de
<ul></ul><p>After some more testing I realized that osmo-msc with patch [1] sends only the actually assigned codec in SDP and Speech Codec List.<br />That is a deliberate choice, because osmo-msc is currently unable to handle a change in codec.<br />So, by sending only the one assigned codec in the Speech Codec List (MSC Preferred), osmo-msc instructs the BSS to avoid other codecs.<br />In effect, during handover, a switch from e.g. FR1 to HR1 is avoided, because HR1 is not listed by the MSC as available codec.<br />This behavior is avoided by enabling the '#if ALLOW_REASSIGNMENT' block in osmo-msc/src/libmsc/cc_sdp.c (new file in that patch),<br />and then, the assigned codec is sent as the first codec, with other supported ones listed after that.</p>
<p>The limitation to the assigned codec in fact only happens on the MT side of a call.<br />The causality is such that the MO side first does an assignment, and sends SDP with only the assigned codec to the PBX.<br />The PBX then instructs the MT side to have only that codec available.</p>
<p>Another aspect of this I'd like to mention: after that patch [1], I originally planned to move the Assignment to a later point,<br />so that first all available codecs are sent to the MT side, where a good match is found and all remaining codecs would be sent back<br />via SDP/SIP to the MO side. I see that as the ideal implementation, and it may also improve the Speech Codec List for handover.</p>
<p>[1] <a class="external" href="https://gerrit.osmocom.org/c/osmo-msc/+/15953">https://gerrit.osmocom.org/c/osmo-msc/+/15953</a><br /> "add full SDP codec information to the MNCC socket"</p>