<p>neels <strong>uploaded patch set #5</strong> to this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-msc/+/15953">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add full SDP codec information to the MNCC socket<br><br>This way osmo-msc can benefit from the complete codec information received via<br>SIP, which was so far terminated at osmo-sip-connector. osmo-sip-connector<br>could/should have translated the received SDP to MNCC bearer_cap, but this was<br>never implemented properly. Since osmo-msc already handles SDP towards the MGW,<br>it makes most sense to pass SDP to osmo-msc transparently.<br><br>To be able to send a valid RTP IP:port in the SDP upon the first MNCC_SETUP_IND<br>going out, move the CN side CRCX to the very start of establishing a voice<br>call. As a result, first create MGW conns for both RAN and CN before starting.<br><br>The voice_call_full.msc chart shows the change in message sequence for MO and<br>MT voice calls.<br><br>Implement cc_sdp.c, which accumulates codec information from various sources<br>(MS, BSS, Assignment, remote call leg) and provides filtering to get the<br>available set of codecs at any point in time.<br><br>Implement codec_sdp_cc_t9n.c, to translate between SDP and the various<br>libosmo-mgcp-client, CC and BSSMAP representations of codecs:<br>- Speech Version,<br>- Permitted Speech,<br>- Speech Codec Type,<br>- default Payload Type numbers,<br>- enum mgcp_codecs,<br>- FR/HR compatibility<br>- SDP audio codec names,<br>- various AMR configurations.<br>A codec_map lists these relations in one large data record.<br>Various functions provide conversions by traversing this map.<br><br>Add trans->cc.mnccc_release_sent: so far, avoiding to send an MNCC release<br>during trans_free() was done by setting the callref = 0. But that also skips CC<br>Release. On codec mismatch, we send a specific MNCC error code but still want a<br>normal CC Release: hence send the MNCC message, set mnccc_release_sent = true<br>and do normal CC Release in trans_free().<br>(A better way to do this would be to adopt the mncc_call FSM from inter-MSC<br>handover also for local voice calls, but that is out of scope for now. I want<br>to try that soon, as time permits.)<br><br>Change-Id: I8c3b2de53ffae4ec3a66b9dabf308c290a2c999f<br>---<br>M doc/sequence_charts/voice_call_full.msc<br>M include/osmocom/msc/Makefile.am<br>M include/osmocom/msc/call_leg.h<br>A include/osmocom/msc/cc_sdp.h<br>A include/osmocom/msc/codec_sdp_cc_t9n.h<br>M include/osmocom/msc/gsm_04_08.h<br>M include/osmocom/msc/msc_a.h<br>M include/osmocom/msc/msc_ho.h<br>M include/osmocom/msc/rtp_stream.h<br>M include/osmocom/msc/sdp_msg.h<br>M include/osmocom/msc/transaction.h<br>M src/libmsc/Makefile.am<br>M src/libmsc/call_leg.c<br>A src/libmsc/cc_sdp.c<br>A src/libmsc/codec_sdp_cc_t9n.c<br>M src/libmsc/gsm_04_08_cc.c<br>M src/libmsc/mncc_call.c<br>M src/libmsc/msc_a.c<br>M src/libmsc/msc_ho.c<br>M src/libmsc/msc_t.c<br>M src/libmsc/rtp_stream.c<br>M src/libmsc/sdp_msg.c<br>M tests/msc_vlr/msc_vlr_test_call.c<br>M tests/msc_vlr/msc_vlr_test_call.err<br>M tests/msc_vlr/msc_vlr_tests.c<br>M tests/msc_vlr/msc_vlr_tests.h<br>M tests/sdp_msg/sdp_msg_test.ok<br>27 files changed, 5,489 insertions(+), 445 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/53/15953/5</pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-msc/+/15953">change 15953</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-msc/+/15953"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I8c3b2de53ffae4ec3a66b9dabf308c290a2c999f </div>
<div style="display:none"> Gerrit-Change-Number: 15953 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newpatchset </div>