diff options
Diffstat (limited to 'msc/MSC_Tests.ttcn')
-rw-r--r-- | msc/MSC_Tests.ttcn | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index e7ee9e7a..485fd372 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -556,6 +556,7 @@ private function f_tc_lu_and_mo_call(charstring id, BSC_ConnHdlrPars pars) runs cpars.bss_rtp_port := 1110; cpars.mgcp_connection_id_bss := '22222'H; cpars.mgcp_connection_id_mss := '33333'H; + cpars.mgcp_ep := "rtpbridge/1@mgw"; f_perform_lu(); f_mo_call(cpars); @@ -848,6 +849,7 @@ testcase TC_imsi_detach_by_imei() runs on MTC_CT { private function f_emerg_call(MobileIdentityLV mi) runs on BSC_ConnHdlr { var CallParameters cpars := valueof(t_CallParams('112'H, 0)); cpars.emergency := true; + cpars.mgcp_ep := "rtpbridge/1@mgw"; f_mo_call(cpars); } @@ -1196,8 +1198,18 @@ private function f_tc_mo_crcx_ran_reject(charstring id, BSC_ConnHdlrPars pars) r BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_CALL_PROC(cpars.transaction_id))); MGCP.receive(tr_CRCX) -> value mgcp_cmd; + + /* Detect if the received CRCX is a wildcarded CRCX request. If yes, + * set an endpoint name that fits the pattern. If not, just use the + * endpoint name from the request */ + if (match(mgcp_cmd.line.ep, t_MGCP_EP_wildcard)) { + cpars.mgcp_ep := "rtpbridge/1@mgw"; + } else { + cpars.mgcp_ep := mgcp_cmd.line.ep; + } + cpars.mgcp_call_id := f_MgcpCmd_extract_call_id(mgcp_cmd); - cpars.mgcp_ep := mgcp_cmd.line.ep; + /* Respond to CRCX with error */ var MgcpResponse mgcp_rsp := { line := { @@ -1205,9 +1217,13 @@ private function f_tc_mo_crcx_ran_reject(charstring id, BSC_ConnHdlrPars pars) r trans_id := mgcp_cmd.line.trans_id, string := "FORCED_FAIL" }, - params := omit, sdp := omit } + var MgcpParameter mgcp_rsp_param := { + code := "Z", + val := cpars.mgcp_ep + }; + mgcp_rsp.params[0] := mgcp_rsp_param; MGCP.send(mgcp_rsp); timer T := 30.0; @@ -1291,7 +1307,16 @@ private function f_tc_mt_crcx_ran_reject(charstring id, BSC_ConnHdlrPars pars) r MGCP.receive(tr_CRCX) -> value mgcp_cmd; cpars.mgcp_call_id := f_MgcpCmd_extract_call_id(mgcp_cmd); - cpars.mgcp_ep := mgcp_cmd.line.ep; + + /* Detect if the received CRCX is a wildcarded CRCX request. If yes, + * set an endpoint name that fits the pattern. If not, just use the + * endpoint name from the request */ + if (match(mgcp_cmd.line.ep, t_MGCP_EP_wildcard)) { + cpars.mgcp_ep := "rtpbridge/1@mgw"; + } else { + cpars.mgcp_ep := mgcp_cmd.line.ep; + } + /* Respond to CRCX with error */ var MgcpResponse mgcp_rsp := { line := { @@ -1299,9 +1324,13 @@ private function f_tc_mt_crcx_ran_reject(charstring id, BSC_ConnHdlrPars pars) r trans_id := mgcp_cmd.line.trans_id, string := "FORCED_FAIL" }, - params := omit, sdp := omit } + var MgcpParameter mgcp_rsp_param := { + code := "Z", + val := cpars.mgcp_ep + }; + mgcp_rsp.params[0] := mgcp_rsp_param; MGCP.send(mgcp_rsp); timer T := 30.0; |