aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2018-01-17 15:23:45 +0100
committerDaniel Willmann <dwillmann@sysmocom.de>2018-01-17 15:29:17 +0100
commit4886ae6d0c2e87bcc0760fb2d66fdac72f2dfa55 (patch)
tree6113c2d2b6f21a984134f63e832b858f33922b13
parentf667613772d5c0a10a48d3c781a0d4458445768f (diff)
bsc: Reply to CRCX with ACK
-rw-r--r--bsc/MSC_ConnectionHandler.ttcn5
-rw-r--r--library/MGCP_Emulation.ttcn1
2 files changed, 6 insertions, 0 deletions
diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 593969c4..286e4ee7 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -160,6 +160,7 @@ function f_establish_fully(TestHdlrParams pars, PDU_BSSAP ass_cmd, template PDU_
runs on MSC_ConnHdlr return PDU_BSSAP {
var PDU_BSSAP bssap;
var RSL_Message rsl;
+ var MgcpCommand cmd;
timer T := 10.0;
var boolean exp_compl := ischosen(exp_ass_cpl.pdu.bssmap.assignmentComplete);
var boolean crcx_seen := false;
@@ -170,6 +171,7 @@ runs on MSC_ConnHdlr return PDU_BSSAP {
transid := omit
};
+ mgcp_conn_id := f_mgcp_alloc_conn_id();
f_create_chan_and_exp(pars);
/* we should now have a COMPL_L3 at the MSC */
@@ -177,6 +179,9 @@ runs on MSC_ConnHdlr return PDU_BSSAP {
f_create_mgcp_exp(mgcpcrit);
BSSAP.send(ass_cmd);
alt {
+ [] MGCP.receive(tr_CRCX) -> value cmd {
+ MGCP.send(ts_CRCX_ACK(cmd.line.trans_id, mgcp_conn_id, cmd.sdp))
+ }
/* if we receive exactly what we expected, always return + pass */
[] BSSAP.receive(exp_ass_cpl) -> value bssap {
setverdict(pass);
diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn
index b1647487..f8d5a1e3 100644
--- a/library/MGCP_Emulation.ttcn
+++ b/library/MGCP_Emulation.ttcn
@@ -9,6 +9,7 @@ import from IPL4asp_Types all;
type component MGCP_ConnHdlr {
port MGCP_Conn_PT MGCP;
+ var MgcpConnectionId mgcp_conn_id;
}
/* port between individual per-connection components and this dispatcher */