aboutsummaryrefslogtreecommitdiffstats
path: root/tests/sdp_msg
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-10-21 03:24:11 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2020-01-06 18:00:40 +0100
commitf31a1ccd9a3eb474936f5b946287581514b29436 (patch)
treeec59ae18c6e54b3530bf2f56e09d99bc23390b0d /tests/sdp_msg
parent02dd265d68b771bf315cfe6620c9b2371edea828 (diff)
add full SDP codec information to the MNCC socket
This way osmo-msc can benefit from the complete codec information received via SIP, which was so far terminated at osmo-sip-connector. osmo-sip-connector could/should have translated the received SDP to MNCC bearer_cap, but this was never implemented properly. Since osmo-msc already handles SDP towards the MGW, it makes most sense to pass SDP to osmo-msc transparently. To be able to send a valid RTP IP:port in the SDP upon the first MNCC_SETUP_IND going out, move the CN side CRCX to the very start of establishing a voice call. As a result, first create MGW conns for both RAN and CN before starting. The voice_call_full.msc chart shows the change in message sequence for MO and MT voice calls. Implement cc_sdp.c, which accumulates codec information from various sources (MS, BSS, Assignment, remote call leg) and provides filtering to get the available set of codecs at any point in time. Implement codec_sdp_cc_t9n.c, to translate between SDP and the various libosmo-mgcp-client, CC and BSSMAP representations of codecs: - Speech Version, - Permitted Speech, - Speech Codec Type, - default Payload Type numbers, - enum mgcp_codecs, - FR/HR compatibility - SDP audio codec names, - various AMR configurations. A codec_map lists these relations in one large data record. Various functions provide conversions by traversing this map. Add trans->cc.mnccc_release_sent: so far, avoiding to send an MNCC release during trans_free() was done by setting the callref = 0. But that also skips CC Release. On codec mismatch, we send a specific MNCC error code but still want a normal CC Release: hence send the MNCC message, set mnccc_release_sent = true and do normal CC Release in trans_free(). (A better way to do this would be to adopt the mncc_call FSM from inter-MSC handover also for local voice calls, but that is out of scope for now. I want to try that soon, as time permits.) Change-Id: I8c3b2de53ffae4ec3a66b9dabf308c290a2c999f
Diffstat (limited to 'tests/sdp_msg')
-rw-r--r--tests/sdp_msg/sdp_msg_test.ok24
1 files changed, 12 insertions, 12 deletions
diff --git a/tests/sdp_msg/sdp_msg_test.ok b/tests/sdp_msg/sdp_msg_test.ok
index a7a3d5156..6a21ce7d2 100644
--- a/tests/sdp_msg/sdp_msg_test.ok
+++ b/tests/sdp_msg/sdp_msg_test.ok
@@ -566,25 +566,25 @@ sdp_msg_intersection(a,b): a=ptime:20\r\n
test_select
[0]
-SDP: AMR:octet-align=1,GSM,GSM-HR-08,GSM-EFR
-Select: AMR:octet-align=1
-SDP: AMR:octet-align=1,GSM,GSM-HR-08,GSM-EFR
+SDP: AMR:octet-align=1#112,GSM#3,GSM-HR-08#111,GSM-EFR#110
+Select: AMR:octet-align=1#112
+SDP: AMR:octet-align=1#112,GSM#3,GSM-HR-08#111,GSM-EFR#110
[0] ok
[1]
-SDP: AMR:octet-align=1,GSM,GSM-HR-08,GSM-EFR
-Select: GSM
-SDP: GSM,AMR:octet-align=1,GSM-HR-08,GSM-EFR
+SDP: AMR:octet-align=1#112,GSM#3,GSM-HR-08#111,GSM-EFR#110
+Select: GSM#3
+SDP: GSM#3,AMR:octet-align=1#112,GSM-HR-08#111,GSM-EFR#110
[1] ok
[2]
-SDP: AMR:octet-align=1,GSM,GSM-HR-08,GSM-EFR
-Select: GSM-HR-08
-SDP: GSM-HR-08,AMR:octet-align=1,GSM,GSM-EFR
+SDP: AMR:octet-align=1#112,GSM#3,GSM-HR-08#111,GSM-EFR#110
+Select: GSM-HR-08#111
+SDP: GSM-HR-08#111,AMR:octet-align=1#112,GSM#3,GSM-EFR#110
[2] ok
[3]
-SDP: AMR:octet-align=1,GSM,GSM-HR-08,GSM-EFR
-Select: GSM-EFR
-SDP: GSM-EFR,AMR:octet-align=1,GSM,GSM-HR-08
+SDP: AMR:octet-align=1#112,GSM#3,GSM-HR-08#111,GSM-EFR#110
+Select: GSM-EFR#110
+SDP: GSM-EFR#110,AMR:octet-align=1#112,GSM#3,GSM-HR-08#111
[3] ok