aboutsummaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-05-20 19:31:47 +0200
committerHarald Welte <laforge@gnumonks.org>2019-05-27 09:56:51 +0000
commitc6a53dbb2aa3b59faee2d180ec8a701b5bc4ddc6 (patch)
tree6c727ee8451251fc401b6820ed9671b42a4bf1f0 /library
parentb2c6b38f3f74fc5e4b29f2cb9f4da5c3d2553a2e (diff)
bsc: Introduce Osmux infra and one test for osmo-bsc
Test verifies once osmux is enabled in osmo-bsc, BSSMAP RESET (ACK) contains Osmux Support IE and that it correctly handles BSSMAP ASsign Req with Osmux CID. Related: OS#2551 Depends: osmo-bsc 6de754cdde5319af3059d8fc6abf85037ec7eacc Depends: titan.ProtocolModules.BSSMAP Iaf1e137269c0da20b2c96fd104b57edf336693af Change-Id: If69c716dc06d61d810c32d1720a237c7535baca8
Diffstat (limited to 'library')
-rw-r--r--library/MGCP_Templates.ttcn13
-rw-r--r--library/RAN_Emulation.ttcnpp13
2 files changed, 20 insertions, 6 deletions
diff --git a/library/MGCP_Templates.ttcn b/library/MGCP_Templates.ttcn
index 4cc2c6b3..4736aaaa 100644
--- a/library/MGCP_Templates.ttcn
+++ b/library/MGCP_Templates.ttcn
@@ -143,6 +143,19 @@ module MGCP_Templates {
sdp := sdp
}
+ template MgcpResponse ts_CRCX_ACK_osmux(MgcpTransId trans_id, MgcpConnectionId conn_id, MgcpOsmuxCID osmux_cid, template SDP_Message sdp := omit) := {
+ line := {
+ code := "200",
+ trans_id := trans_id,
+ string := "OK"
+ },
+ params:= {
+ ts_MgcpParConnectionId(conn_id),
+ ts_MgcpParOsmuxCID(osmux_cid)
+ },
+ sdp := sdp
+ }
+
template MgcpCommand ts_MDCX(MgcpTransId trans_id, charstring ep, MgcpConnectionMode mode, MgcpCallId call_id, MgcpConnectionId conn_id, template SDP_Message sdp := omit) := {
line := t_MgcpCmdLine("MDCX", trans_id, ep),
params := {
diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp
index 9a65eb72..41aec478 100644
--- a/library/RAN_Emulation.ttcnpp
+++ b/library/RAN_Emulation.ttcnpp
@@ -465,9 +465,9 @@ private function f_bssap_wait_for_reset() runs on RAN_Emulation_CT {
T.start;
alt {
- [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset)) -> value ud_ind {
+ [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) -> value ud_ind {
BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress,
- ts_BSSMAP_ResetAck));
+ ts_BSSMAP_ResetAck(g_ran_ops.use_osmux)));
}
[] as_reset_ack();
[] BSSAP.receive {
@@ -483,10 +483,10 @@ private function f_bssap_wait_for_reset() runs on RAN_Emulation_CT {
function f_bssap_reset(SCCP_PAR_Address peer, SCCP_PAR_Address own) runs on RAN_Emulation_CT {
timer T := 5.0;
- BSSAP.send(ts_BSSAP_UNITDATA_req(peer, own, ts_BSSMAP_Reset(0)));
+ BSSAP.send(ts_BSSAP_UNITDATA_req(peer, own, ts_BSSMAP_Reset(0, g_ran_ops.use_osmux)));
T.start;
alt {
- [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(own, peer, tr_BSSMAP_ResetAck)) {
+ [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(own, peer, tr_BSSMAP_ResetAck(g_ran_ops.use_osmux))) {
log("Received RESET-ACK in response to RESET, we're ready to go!");
}
[] as_reset_ack();
@@ -650,6 +650,7 @@ type record RanOps {
boolean decode_dtap,
boolean role_ms,
RanProtocol protocol,
+ boolean use_osmux,
/* needed for performing BSSMAP RESET */
SCCP_PAR_Address sccp_addr_local optional,
SCCP_PAR_Address sccp_addr_peer optional
@@ -727,10 +728,10 @@ private altstep as_reset_ack() runs on RAN_Emulation_CT {
var RANAP_N_UNITDATA_ind rud_ind;
#endif
#ifdef RAN_EMULATION_BSSAP
- [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset)) -> value ud_ind {
+ [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset(g_ran_ops.use_osmux))) -> value ud_ind {
log("Respoding to inbound RESET with RESET-ACK");
BSSAP.send(ts_BSSAP_UNITDATA_req(ud_ind.callingAddress, ud_ind.calledAddress,
- ts_BSSMAP_ResetAck));
+ ts_BSSMAP_ResetAck(g_ran_ops.use_osmux)));
repeat;
}
#endif