|
|
|
@ -979,6 +979,54 @@ testcase TC_rab_release() runs on test_CT { |
|
|
|
|
vc_conn.done; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
friend function f_tc_rab_assign_mgcp_to(charstring id, TestHdlrParams pars) runs on ConnHdlr { |
|
|
|
|
var MgcpCommand mgcp_cmd; |
|
|
|
|
var RANAP_PDU tx; |
|
|
|
|
var template RAB_SetupOrModifyList rab_sml; |
|
|
|
|
timer T := 15.0; |
|
|
|
|
|
|
|
|
|
T.start; |
|
|
|
|
f_init_handler(pars); |
|
|
|
|
f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit}); |
|
|
|
|
|
|
|
|
|
tx := f_build_initial_ue(g_pars); |
|
|
|
|
f_iuh2iu_connect(tx); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Send RAB Assignment Request */ |
|
|
|
|
rab_sml := ts_RAB_SML(t_RAB_id(23), f_ts_RAB_TLA(pars.mgcp_pars.cn_rtp_ip), t_RAB_binding_port(pars.mgcp_pars.cn_rtp_port)); |
|
|
|
|
tx := valueof(ts_RANAP_RabAssReq(rab_sml)); |
|
|
|
|
BSSAP.send(tx); |
|
|
|
|
|
|
|
|
|
/* Ignore MGCP CRCX */ |
|
|
|
|
alt { |
|
|
|
|
[] MGCP.receive(tr_CRCX) -> value mgcp_cmd { |
|
|
|
|
log("Ignoreing CRCX1", mgcp_cmd); |
|
|
|
|
repeat; |
|
|
|
|
} |
|
|
|
|
[] BSSAP.receive(tr_RANAP_IuReleaseRequest(?)) { } |
|
|
|
|
[] T.timeout { |
|
|
|
|
setverdict(fail, "Timeout waiting for IuRelease"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Send Iu Release */ |
|
|
|
|
tx := valueof(ts_RANAP_IuReleaseCommand(ts_RanapCause_om_intervention)); |
|
|
|
|
f_iu2iuh(tx); |
|
|
|
|
|
|
|
|
|
tx := valueof(ts_RANAP_IuReleaseComplete()); |
|
|
|
|
f_iuh2iu(tx); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
testcase TC_rab_assign_mgcp_to() runs on test_CT { |
|
|
|
|
var ConnHdlr vc_conn; |
|
|
|
|
f_init(); |
|
|
|
|
f_start_hnbs(); |
|
|
|
|
|
|
|
|
|
vc_conn := f_start_handler_with_pars(refers(f_tc_rab_assign_mgcp_to), t_pars(6)); |
|
|
|
|
vc_conn.done; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Create an Iuh connection; send InitialUE; transceive data both directions */ |
|
|
|
|
friend function f_tc_ranap_bidir(charstring id, TestHdlrParams pars) runs on ConnHdlr { |
|
|
|
|
f_init_handler(pars); |
|
|
|
@ -1059,6 +1107,7 @@ control { |
|
|
|
|
execute(TC_rab_assignment()); |
|
|
|
|
execute(TC_rab_release()); |
|
|
|
|
execute(TC_rab_assign_fail()); |
|
|
|
|
execute(TC_rab_assign_mgcp_to()); |
|
|
|
|
execute(TC_ranap_cs_mo_disconnect()); |
|
|
|
|
execute(TC_ranap_ps_mo_disconnect()); |
|
|
|
|
} |
|
|
|
|