osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/34175 )
Change subject: msc/BSC_Conn…: ass req/compl: check/use CSD codec ......................................................................
msc/BSC_Conn…: ass req/compl: check/use CSD codec
Verify that the MSC sends the CSData codec in the Assignment Request and send this codec in the Assignment Complete towards the MSC.
Related: OS#4394 Change-Id: I7906e6fdb82c27f071aa55f2f73ba4108bfb46db --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 41 insertions(+), 2 deletions(-)
Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 170694a..9f74199 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -1149,8 +1149,21 @@ var BSSMAP_IE_SpeechCodec codec; var BSSMAP_IE_Osmo_OsmuxCID osmuxCID; log("f_mt_call_complete 6"); + + if (cpars.csd and not match(bssap.pdu.bssmap.assignmentRequest.codecList.codecElements, + {ts_CodecCSData})) { + setverdict(fail, "MSC sent Assignment Request with unexpected codec list for CSD ", + bssap.pdu.bssmap.assignmentRequest.codecList); + mtc.stop; + } + tla := f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port); - codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + + if (cpars.csd) { + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecCSData})); + } else { + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + }
if (cpars.use_osmux) { if (not ispresent(bssap.pdu.bssmap.assignmentRequest.osmuxCID)) { @@ -1637,8 +1650,21 @@ mtc.stop; }
+ if (cpars.csd and not match(bssap.pdu.bssmap.assignmentRequest.codecList.codecElements, + {ts_CodecCSData})) { + setverdict(fail, "MSC sent Assignment Request with unexpected codec list for CSD ", + bssap.pdu.bssmap.assignmentRequest.codecList); + mtc.stop; + } + tla := valueof(f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port)); - codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + + if (cpars.csd) { + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecCSData})); + } else { + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + } + if (cpars.use_osmux) { if (not ispresent(bssap.pdu.bssmap.assignmentRequest.osmuxCID)) { setverdict(fail, "MSC sent AssignReq without expected OsmuxCID IE");