daniel has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27116 )
Change subject: hnbgw: Use helper function for the rab assignment
......................................................................
hnbgw: Use helper function for the rab assignment
Change-Id: I95625796ee3c75e36637794018e5db27d022dddb
---
M hnbgw/HNBGW_Tests.ttcn
1 file changed, 36 insertions(+), 21 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/16/27116/1
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index 8a3c885..7de0959 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -125,6 +125,10 @@
CrcxResponse mgw_conn_2,
uint7_t rtp_payload_type,
charstring rtp_sdp_format,
+ HostName hnb_rtp_ip,
+ PortNumber hnb_rtp_port,
+ HostName cn_rtp_ip,
+ PortNumber cn_rtp_port,
boolean use_osmux,
integer got_osmux_count
}
@@ -142,21 +146,26 @@
mgw_conn_2 := {
resp := 1,
mgw_rtp_ip := "2.2.2.2",
- mgw_rtp_port := 11000,
+ mgw_rtp_port := 20000,
mgcp_connection_id := '22222'H
},
rtp_payload_type := 23,
rtp_sdp_format := "FOO",
+ hnb_rtp_ip := "1.1.1.2",
+ hnb_rtp_port := 10001,
+ cn_rtp_ip := "2.2.2.1",
+ cn_rtp_port := 20001,
use_osmux := false,
got_osmux_count := 0
}
+
type record TestHdlrParams {
integer hnb_idx,
hexstring imsi,
boolean ps_domain,
MgcpParameters mgcp_pars optional,
HnbConfig hnb optional
-};
+}
/* We extend:
* RUA_ConnHdlr (for the Iuh side, emulating the HNB)
@@ -745,21 +754,15 @@
return mgcp_resp;
}
-friend function f_tc_rab_assignment(charstring id, TestHdlrParams pars) runs on ConnHdlr
{
+friend function f_create_rab(MgcpParameters pars) runs on ConnHdlr {
var MgcpCommand mgcp_cmd;
var RANAP_PDU tx;
var template RAB_SetupOrModifyList rab_sml;
var template RAB_SetupOrModifiedList rab_smdl;
timer T := 5.0;
- 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("192.168.0.1"),
t_RAB_binding_port(1234));
+ rab_sml := ts_RAB_SML(t_RAB_id(23), f_ts_RAB_TLA(pars.cn_rtp_ip),
t_RAB_binding_port(pars.cn_rtp_port));
tx := valueof(ts_RANAP_RabAssReq(rab_sml));
BSSAP.send(tx);
T.start;
@@ -768,7 +771,7 @@
alt {
[] MGCP.receive(tr_CRCX) -> value mgcp_cmd {
log("CRCX1", mgcp_cmd);
- var template MgcpResponse mgcp_rsp := f_handle_crcx(pars.mgcp_pars, mgcp_cmd);
+ var template MgcpResponse mgcp_rsp := f_handle_crcx(pars, mgcp_cmd);
MGCP.send(valueof(mgcp_rsp));
}
[] T.timeout {
@@ -777,7 +780,7 @@
}
/* Expect RAB Assignment Request with IP/port from CRCX ACK via Iuh */
- rab_sml := ts_RAB_SML(t_RAB_id(23), f_ts_RAB_TLA(pars.mgcp_pars.mgw_conn_1.mgw_rtp_ip),
t_RAB_binding_port(pars.mgcp_pars.mgw_conn_1.mgw_rtp_port));
+ rab_sml := ts_RAB_SML(t_RAB_id(23), f_ts_RAB_TLA(pars.mgw_conn_1.mgw_rtp_ip),
t_RAB_binding_port(pars.mgw_conn_1.mgw_rtp_port));
tx := valueof(ts_RANAP_RabAssReq(rab_sml));
alt {
@@ -790,7 +793,7 @@
}
/* Send back RAB Assignment Response via Iuh */
- rab_smdl := ts_RAB_SMdL(t_RAB_id(23), f_ts_RAB_TLA("192.168.0.2"),
t_RAB_binding_port(1235));
+ rab_smdl := ts_RAB_SMdL(t_RAB_id(23), f_ts_RAB_TLA(pars.hnb_rtp_ip),
t_RAB_binding_port(pars.hnb_rtp_port));
tx := valueof(ts_RANAP_RabAssResp(rab_smdl));
RUA.send(tx);
T.start;
@@ -800,34 +803,46 @@
[] MGCP.receive(tr_MDCX) -> value mgcp_cmd {
log("MDCX1", mgcp_cmd);
/* Verify SDP of MDCX */
- var SDP_Message sdp := valueof(ts_SDP(pars.mgcp_pars.mgw_conn_1.mgw_rtp_ip,
pars.mgcp_pars.mgw_conn_1.mgw_rtp_ip, hex2str(pars.mgcp_pars.mgcp_call_id),
"42", pars.mgcp_pars.mgw_conn_1.mgw_rtp_port,
- { int2str(pars.mgcp_pars.rtp_payload_type) }, {
valueof(ts_SDP_rtpmap(pars.mgcp_pars.rtp_payload_type, pars.mgcp_pars.rtp_sdp_format)),
valueof(ts_SDP_ptime(20)) } ));
- var template MgcpResponse mgcp_rsp := ts_MDCX_ACK(mgcp_cmd.line.trans_id,
pars.mgcp_pars.mgw_conn_1.mgcp_connection_id, sdp);
+ var SDP_Message sdp := valueof(ts_SDP(pars.mgw_conn_1.mgw_rtp_ip,
pars.mgw_conn_1.mgw_rtp_ip, hex2str(pars.mgcp_call_id), "42",
pars.mgw_conn_1.mgw_rtp_port,
+ { int2str(pars.rtp_payload_type) }, { valueof(ts_SDP_rtpmap(pars.rtp_payload_type,
pars.rtp_sdp_format)), valueof(ts_SDP_ptime(20)) } ));
+ var template MgcpResponse mgcp_rsp := ts_MDCX_ACK(mgcp_cmd.line.trans_id,
pars.mgw_conn_1.mgcp_connection_id, sdp);
MGCP.send(valueof(mgcp_rsp));
}
/* Handle CRCX for second leg of endpoint, answer with IP/port */
- [] MGCP.receive(tr_CRCX(pars.mgcp_pars.mgcp_ep)) -> value mgcp_cmd {
+ [] MGCP.receive(tr_CRCX(pars.mgcp_ep)) -> value mgcp_cmd {
log("CRCX2", mgcp_cmd);
/* Verify SDP of CRCX */
- var template MgcpResponse mgcp_rsp := f_handle_crcx(pars.mgcp_pars, mgcp_cmd);
+ var template MgcpResponse mgcp_rsp := f_handle_crcx(pars, mgcp_cmd);
MGCP.send(valueof(mgcp_rsp));
}
}
/* Expect RAB Assignment Response with IP/port from second CRCX ACK */
- rab_smdl := ts_RAB_SMdL(t_RAB_id(23),
f_ts_RAB_TLA(pars.mgcp_pars.mgw_conn_2.mgw_rtp_ip),
t_RAB_binding_port(pars.mgcp_pars.mgw_conn_2.mgw_rtp_port));
+ rab_smdl := ts_RAB_SMdL(t_RAB_id(23), f_ts_RAB_TLA(pars.mgw_conn_2.mgw_rtp_ip),
t_RAB_binding_port(pars.mgw_conn_2.mgw_rtp_port));
tx := valueof(ts_RANAP_RabAssResp(rab_smdl));
- log("Resp:", tx);
alt {
[] BSSAP.receive(tx) {
- log("Got RAB Resp")
setverdict(pass);
}
[] T.timeout {
setverdict(fail, "Timeout waiting for Iuh ", tx);
}
}
+}
+
+friend function f_tc_rab_assignment(charstring id, TestHdlrParams pars) runs on ConnHdlr
{
+ var MgcpCommand mgcp_cmd;
+ var RANAP_PDU tx;
+ timer T := 5.0;
+
+ f_init_handler(pars);
+ f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit});
+
+ tx := f_build_initial_ue(g_pars);
+ f_iuh2iu_connect(tx);
+
+ f_create_rab(pars.mgcp_pars);
/* Send Iu Release */
tx := valueof(ts_RANAP_IuReleaseCommand(ts_RanapCause_om_intervention));
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27116
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I95625796ee3c75e36637794018e5db27d022dddb
Gerrit-Change-Number: 27116
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <dwillmann(a)sysmocom.de>
Gerrit-MessageType: newchange