msc: add codec to all Assignment Complete messages
So far we omit a Speech Codec (Chosen) from Assignment Complete messages, which
is actually a mandatory parameter. osmo-msc seems to carry on nevertheless, but
it actually shouldn't be able to.
Always send a Speech Codec (Chosen).
Change-Id: Ib35f019383db8ace05a9dc349648e2da7ba58bfa
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index b538095..4df39d4 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -462,6 +462,11 @@
lengthIndicator := 0, /* overwritten */
codecElements := valueof(elem)
}
+template BSSMAP_IE_SpeechCodec ts_BSSMAP_IE_SpeechCodec(template BSSMAP_FIELD_CodecElements elem) := {
+ elementIdentifier := '7E'O,
+ lengthIndicator := 0, /* overwritten */
+ codecElements := valueof(elem)
+}
template PDU_BSSAP
ts_BSSMAP_AssignmentReq(template BSSMAP_IE_CircuitIdentityCode cic := omit,
@@ -534,7 +539,8 @@
template PDU_BSSAP
ts_BSSMAP_AssignmentComplete(template BSSMAP_IE_CircuitIdentityCode cic := omit,
- template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit)
+ template BSSMAP_IE_AoIP_TransportLayerAddress aoip := omit,
+ template BSSMAP_IE_SpeechCodec speechCodec := omit)
modifies ts_BSSAP_BSSMAP := {
pdu := {
bssmap := {
@@ -550,7 +556,7 @@
lSAIdentifier := omit,
talkerPriority := omit,
aoIPTransportLayer := aoip,
- speechCodec := omit,
+ speechCodec := speechCodec,
codecList := omit,
lCLS_BSS_Status := omit
}
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 2cd666f..e6cf2b0 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -532,8 +532,10 @@
valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.mgw_rtp_ip_bss),cpars.mgw_rtp_port_bss));
BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) {
var BSSMAP_IE_AoIP_TransportLayerAddress tla;
+ var BSSMAP_IE_SpeechCodec codec;
tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port));
- BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla));
+ codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}));
+ BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec));
}
/* MS -> MSC: ALERTING */
@@ -633,8 +635,10 @@
/* expect AoIP IP/Port to match what we returned in CRCX_ACK above */
[] BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)) {
var BSSMAP_IE_AoIP_TransportLayerAddress tla;
+ var BSSMAP_IE_SpeechCodec codec;
tla := valueof(ts_BSSMAP_IE_AoIP_TLA4(f_inet_addr(cpars.bss_rtp_ip), cpars.bss_rtp_port));
- BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla));
+ codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR}));
+ BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec));
}
}