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
This commit is contained in:
Oliver Smith 2023-08-23 13:31:35 +02:00 committed by osmith
parent 46059f081c
commit 90f31bbd4b
1 changed files with 28 additions and 2 deletions

View File

@ -1149,8 +1149,21 @@ runs on BSC_ConnHdlr {
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 @@ runs on BSC_ConnHdlr {
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");