From 04541d715edb56d39c1e7d3237053be984362167 Mon Sep 17 00:00:00 2001 From: Daniel Willmann Date: Thu, 30 Nov 2017 13:14:37 +0100 Subject: bsc-nat: Wait for the second MDCX in the BSC_MS conn handler The bsc-nat sends another MDCX so account for that in the state machine --- bsc-nat/BSC_MS_ConnectionHandler.ttcn | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'bsc-nat') diff --git a/bsc-nat/BSC_MS_ConnectionHandler.ttcn b/bsc-nat/BSC_MS_ConnectionHandler.ttcn index ee564013..a3855253 100644 --- a/bsc-nat/BSC_MS_ConnectionHandler.ttcn +++ b/bsc-nat/BSC_MS_ConnectionHandler.ttcn @@ -66,6 +66,7 @@ type enumerated BSC_State { BSC_STATE_WAIT_ASS_REQ, BSC_STATE_WAIT_CRCX, BSC_STATE_WAIT_MDCX, + BSC_STATE_WAIT_MDCX2, BSC_STATE_WAIT_CLEAR_CMD, BSC_STATE_WAIT_DLCX, BSC_STATE_WAIT_DISC_IND @@ -116,7 +117,15 @@ runs on BSC_MS_ConnHdlr { /* MDCX -> OK */ [g_state == BSC_STATE_WAIT_MDCX] BSSAP.receive(tr_MDCX) -> value mgcp_cmd { /* FIXME: verify if local part of endpoint name matches CIC */ - /* respond with CRCX_ACK */ + /* respond with MDCX_ACK */ + g_state := BSC_STATE_WAIT_MDCX2; + BSSAP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, g_mgcp_conn_id, g_sdp)); + } + + /* MDCX -> OK */ + [g_state == BSC_STATE_WAIT_MDCX2] BSSAP.receive(tr_MDCX) -> value mgcp_cmd { + /* FIXME: verify if local part of endpoint name matches CIC */ + /* respond with MDCX_ACK */ g_state := BSC_STATE_WAIT_CLEAR_CMD; BSSAP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, g_mgcp_conn_id, g_sdp)); } -- cgit v1.2.3