diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2019-05-20 19:31:47 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-05-27 09:56:51 +0000 |
commit | c6a53dbb2aa3b59faee2d180ec8a701b5bc4ddc6 (patch) | |
tree | 6c727ee8451251fc401b6820ed9671b42a4bf1f0 /library | |
parent | b2c6b38f3f74fc5e4b29f2cb9f4da5c3d2553a2e (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.ttcn | 13 | ||||
-rw-r--r-- | library/RAN_Emulation.ttcnpp | 13 |
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 |