osmith has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/31557 )
Change subject: TC_assignment_csd: expect BSC to handle CSD
......................................................................
TC_assignment_csd: expect BSC to handle CSD
Related: OS#4393
Change-Id: Iff19dc704af09d09d2265d8da38fc745a3936ce4
---
M bsc/BSC_Tests.ttcn
M library/BSSMAP_Templates.ttcn
2 files changed, 51 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/31557/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 965873e..f6f1219 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1837,13 +1837,40 @@
}
return dt;
}
-testcase TC_assignment_csd() runs on test_CT {
- var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail;
+
+private function f_tc_assignment_csd(charstring id) runs on MSC_ConnHdlr {
+ var template PDU_BSSAP exp_compl := f_gen_exp_compl();
var PDU_BSSAP ass_cmd := f_gen_ass_req();
+ var octetstring oct5;
+
ass_cmd.pdu.bssmap.assignmentRequest.channelType :=
valueof(ts_BSSMAP_IE_ChannelTypeCSD);
- //exp_fail.pdu.bssmap.assignmentFailure.cause.causeValue :=
int2bit(enum2int(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL), 7);
- var DchanTuple dt := f_assignment_exp(ass_cmd, exp_fail, "BSC accepted Assignment
for CSD");
- f_perform_clear_test_ct(dt);
+ ass_cmd.pdu.bssmap.assignmentRequest.codecList :=
valueof(ts_BSSMAP_IE_CodecList({ts_CodecCSData}));
+
+ /* See 3GPP TS 48.008 § 3.2.2.11 Channel Type, octet 5 */
+ oct5 := bit2oct('00010001'B); /* 4800 bps / transparent */
+ ass_cmd.pdu.bssmap.assignmentRequest.channelType.speechId_DataIndicator := oct5;
+
+ f_establish_fully(ass_cmd, exp_compl);
+ f_perform_clear();
+}
+testcase TC_assignment_csd() runs on test_CT {
+ if (Misc_Helpers.f_osmo_repo_is("nightly")) { /* osmo-bsc > 1.10.0 */
+ var MSC_ConnHdlr vc_conn;
+ var TestHdlrParams pars := f_gen_test_hdlr_pars();
+ pars.encr := valueof(t_EncrParams('01'O, f_rnd_octstring(8)));
+
+ f_init(1, true);
+ f_sleep(1.0);
+ vc_conn := f_start_handler(refers(f_tc_assignment_csd), pars);
+ vc_conn.done;
+ } else {
+ var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail;
+ var PDU_BSSAP ass_cmd := f_gen_ass_req();
+ ass_cmd.pdu.bssmap.assignmentRequest.channelType :=
valueof(ts_BSSMAP_IE_ChannelTypeCSD);
+ //exp_fail.pdu.bssmap.assignmentFailure.cause.causeValue :=
int2bit(enum2int(GSM0808_CAUSE_REQ_CODEC_TYPE_OR_CONFIG_UNAVAIL), 7);
+ var DchanTuple dt := f_assignment_exp(ass_cmd, exp_fail, "BSC accepted Assignment
for CSD");
+ f_perform_clear_test_ct(dt);
+ }
f_shutdown_helper();
}
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index 1eebb02..cbf1981 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -603,6 +603,15 @@
codecType := FR_AMR_WB,
s0_7 := '00000001'B
}
+template (value) BSSMAP_FIELD_CodecElement ts_CodecCSData modifies ts_CodecBase := {
+ codecType := CodecExtension,
+ tF := '0'B, /* Spare */
+ pT := '0'B, /* CSDoTDM */
+ pI := '1'B, /* CSDoIP */
+ fI := '0'B, /* Spare */
+ extendedCodecType := 'FD'O, /* CSData */
+ s0_7 := '00000000'B /* R2, R3, Spare */
+}
template BSSMAP_IE_SpeechCodecList ts_BSSMAP_IE_CodecList(template
BSSMAP_FIELD_CodecElements elem) := {
elementIdentifier := '7D'O,
lengthIndicator := 0, /* overwritten */
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/31557
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Iff19dc704af09d09d2265d8da38fc745a3936ce4
Gerrit-Change-Number: 31557
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange