pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38588?usp=email )


Change subject: hnbgw: Use g_pars.mgcp_pars directly during RAB CS setup
......................................................................

hnbgw: Use g_pars.mgcp_pars directly during RAB CS setup

Change-Id: I1f699e197e29f912ad06378f10563063aa291af3
---
M hnbgw/ConnHdlr.ttcn
M hnbgw/HNBGW_Tests.ttcn
2 files changed, 28 insertions(+), 28 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/88/38588/1

diff --git a/hnbgw/ConnHdlr.ttcn b/hnbgw/ConnHdlr.ttcn
index b43bedb..17e2103 100644
--- a/hnbgw/ConnHdlr.ttcn
+++ b/hnbgw/ConnHdlr.ttcn
@@ -158,7 +158,7 @@
        integer cn_idx,
        hexstring imsi,
        boolean ps_domain,
-       MgcpParameters mgcp_pars optional,
+       MgcpParameters mgcp_pars,
        HnbConfig hnb optional,
        boolean expect_separate_sccp_cr,
        integer tx_sccp_cr_data_len,
@@ -566,14 +566,14 @@
        return mgcp_resp;
 }

-function f_rab_ass_req_cs(inout MgcpParameters pars) runs on ConnHdlr {
+function f_rab_ass_req_cs() runs on ConnHdlr {
        var MgcpCommand mgcp_cmd;
        var RANAP_PDU tx;
        var template RAB_SetupOrModifyList rab_sml;
        timer T := 5.0;

        /* Send RAB Assignment Request */
-       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));
+       rab_sml := ts_RAB_SML(t_RAB_id(23), 
f_ts_RAB_TLA(g_pars.mgcp_pars.cn_rtp_ip), 
t_RAB_binding_port(g_pars.mgcp_pars.cn_rtp_port));
        tx := valueof(ts_RANAP_RabAssReq(rab_sml));
        BSSAP.send(tx);
        T.start;
@@ -582,7 +582,7 @@
        alt {
        [] MGCP.receive(tr_CRCX) -> value mgcp_cmd {
                log("CRCX1", mgcp_cmd);
-               var template MgcpResponse mgcp_rsp := f_handle_crcx(pars, 
mgcp_cmd);
+               var template MgcpResponse mgcp_rsp := 
f_handle_crcx(g_pars.mgcp_pars, mgcp_cmd);
                MGCP.send(valueof(mgcp_rsp));
                }
        [] T.timeout {
@@ -592,77 +592,77 @@
        T.stop;

        /* 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.mgw_conn_ran.mgw_rtp_ip), 
t_RAB_binding_port(pars.mgw_conn_ran.mgw_rtp_port));
+       rab_sml := ts_RAB_SML(t_RAB_id(23), 
f_ts_RAB_TLA(g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_ip), 
t_RAB_binding_port(g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_port));
        tx := valueof(ts_RANAP_RabAssReq(rab_sml));

        f_rua_expect(tx);
 }

-friend function f_rab_ass_resp_cs(inout MgcpParameters pars) runs on ConnHdlr {
+friend function f_rab_ass_resp_cs() runs on ConnHdlr {
        var MgcpCommand mgcp_cmd;
        var RANAP_PDU tx;
        var template RAB_SetupOrModifiedList rab_smdl;

        /* Send back RAB Assignment Response via Iuh */
-       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));
+       rab_smdl := ts_RAB_SMdL(t_RAB_id(23), 
f_ts_RAB_TLA(g_pars.mgcp_pars.hnb_rtp_ip), 
t_RAB_binding_port(g_pars.mgcp_pars.hnb_rtp_port));
        tx := valueof(ts_RANAP_RabAssResp(rab_smdl));
        RUA.send(tx);

        interleave {
        /* Expect MDCX with IP/port from RAB Assignment Response */
-       [] MGCP.receive(tr_MDCX(tr_SDP(pars.hnb_rtp_ip, pars.hnb_rtp_port))) -> 
value mgcp_cmd {
+       [] MGCP.receive(tr_MDCX(tr_SDP(g_pars.mgcp_pars.hnb_rtp_ip, 
g_pars.mgcp_pars.hnb_rtp_port))) -> value mgcp_cmd {
                var HostName mgw_rtp_ip;
                var boolean exp_rua_rab_reass := false;
                log("MDCX1", mgcp_cmd);
-               if (ispresent(pars.mgw_conn_ran.mgw_rtp_ip_mdcx)) {
-                       mgw_rtp_ip := pars.mgw_conn_ran.mgw_rtp_ip_mdcx;
-                       if (pars.mgw_conn_ran.mgw_rtp_ip != 
pars.mgw_conn_ran.mgw_rtp_ip_mdcx) {
+               if (ispresent(g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_ip_mdcx)) {
+                       mgw_rtp_ip := 
g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_ip_mdcx;
+                       if (g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_ip != 
g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_ip_mdcx) {
                                exp_rua_rab_reass := true;
                        }
                } else {
-                       mgw_rtp_ip := pars.mgw_conn_ran.mgw_rtp_ip;
+                       mgw_rtp_ip := g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_ip;
                }

                /* Verify SDP of MDCX */
-               var SDP_Message sdp := valueof(ts_SDP(mgw_rtp_ip, mgw_rtp_ip, 
hex2str(pars.mgcp_call_id), "42", pars.mgw_conn_ran.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_ran.mgcp_connection_id, sdp);
+               var SDP_Message sdp := valueof(ts_SDP(mgw_rtp_ip, mgw_rtp_ip, 
hex2str(g_pars.mgcp_pars.mgcp_call_id), "42", 
g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_port,
+                       { int2str(g_pars.mgcp_pars.rtp_payload_type) }, { 
valueof(ts_SDP_rtpmap(g_pars.mgcp_pars.rtp_payload_type, 
g_pars.mgcp_pars.rtp_sdp_format)), valueof(ts_SDP_ptime(20)) } ));
+               var template MgcpResponse mgcp_rsp := 
ts_MDCX_ACK(mgcp_cmd.line.trans_id, 
g_pars.mgcp_pars.mgw_conn_ran.mgcp_connection_id, sdp);
                MGCP.send(valueof(mgcp_rsp));

                /* If IP address changed, we expect HNBGW to Modify the RAB 
through RAB-Ass-Req: */
                if (exp_rua_rab_reass) {
                        var template RAB_SetupOrModifyList rab_sml;
                        /* Expect RAB Assignment Request with IP/port from MDCX 
ACK via Iuh */
-                       rab_sml := ts_RAB_SML(t_RAB_id(23), 
f_ts_RAB_TLA(pars.mgw_conn_ran.mgw_rtp_ip_mdcx), 
t_RAB_binding_port(pars.mgw_conn_ran.mgw_rtp_port));
+                       rab_sml := ts_RAB_SML(t_RAB_id(23), 
f_ts_RAB_TLA(g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_ip_mdcx), 
t_RAB_binding_port(g_pars.mgcp_pars.mgw_conn_ran.mgw_rtp_port));
                        tx := valueof(ts_RANAP_RabAssReq(rab_sml));

                        f_rua_expect(tx);
                        /* Send back RAB Assignment Response via Iuh */
-                       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));
+                       rab_smdl := ts_RAB_SMdL(t_RAB_id(23), 
f_ts_RAB_TLA(g_pars.mgcp_pars.hnb_rtp_ip), 
t_RAB_binding_port(g_pars.mgcp_pars.hnb_rtp_port));
                        tx := valueof(ts_RANAP_RabAssResp(rab_smdl));
                        RUA.send(tx);
                        /* This shouldn't trigger any MGCP, since nothing 
changed on the HNB IP side. Continue below. */
                }
                }
        /* Handle CRCX for second leg of endpoint, answer with IP/port */
-       [] MGCP.receive(tr_CRCX(pars.mgcp_ep, tr_SDP(pars.cn_rtp_ip, 
pars.cn_rtp_port))) -> value mgcp_cmd {
+       [] MGCP.receive(tr_CRCX(g_pars.mgcp_pars.mgcp_ep, 
tr_SDP(g_pars.mgcp_pars.cn_rtp_ip, g_pars.mgcp_pars.cn_rtp_port))) -> value 
mgcp_cmd {
                log("CRCX2", mgcp_cmd);
                /* Verify SDP of CRCX */
-               var template MgcpResponse mgcp_rsp := f_handle_crcx(pars, 
mgcp_cmd);
+               var template MgcpResponse mgcp_rsp := 
f_handle_crcx(g_pars.mgcp_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.mgw_conn_cn.mgw_rtp_ip), 
t_RAB_binding_port(pars.mgw_conn_cn.mgw_rtp_port));
+       rab_smdl := ts_RAB_SMdL(t_RAB_id(23), 
f_ts_RAB_TLA(g_pars.mgcp_pars.mgw_conn_cn.mgw_rtp_ip), 
t_RAB_binding_port(g_pars.mgcp_pars.mgw_conn_cn.mgw_rtp_port));
        tx := valueof(ts_RANAP_RabAssResp(rab_smdl));

        f_bssap_expect(tx);
 }

-function f_create_rab_cs(inout MgcpParameters pars) runs on ConnHdlr {
-       f_rab_ass_req_cs(pars);
-       f_rab_ass_resp_cs(pars);
+function f_create_rab_cs() runs on ConnHdlr {
+       f_rab_ass_req_cs();
+       f_rab_ass_resp_cs();
 }

 altstep as_mgcp_dlcx() runs on ConnHdlr {
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index 8b883ee..6b9fd6d 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -992,7 +992,7 @@
        };
        f_statsd_expect(expect);

-       f_create_rab_cs(g_pars.mgcp_pars);
+       f_create_rab_cs();

        expect := {
                {name := hnb0_ctr_prefix & "ranap.cs.rab_act.req", mtype := 
"c", min := 1, max := 1},
@@ -1050,7 +1050,7 @@
        };
        f_statsd_expect(expect);
 
-       f_rab_ass_req_cs(g_pars.mgcp_pars);
+       f_rab_ass_req_cs();

        /* Send RAB failed list in response */
        tx := valueof(ts_RANAP_RabAssResp(rab_fl := ts_RAB_FL(t_RAB_id(23), 
g_pars.rab_rel_cause)));
@@ -1098,7 +1098,7 @@
        tx := f_build_initial_ue(g_pars);
        f_iuh2iu_connect(tx);

-       f_create_rab_cs(g_pars.mgcp_pars);
+       f_create_rab_cs();

        var charstring ctr_name;
        if (g_pars.rab_rel_cause == valueof(ts_RanapCause_nas_normal)) {
@@ -1338,7 +1338,7 @@
        tx := f_build_initial_ue(g_pars);
        f_iuh2iu_connect(tx);

-       f_create_rab_cs(g_pars.mgcp_pars);
+       f_create_rab_cs();

        RUA.send(ts_RANAP_IuReleaseRequest(ts_RanapCause_radio_rab_preempted));
        
BSSAP.receive(tr_RANAP_IuReleaseRequest(ts_RanapCause_radio_rab_preempted));
@@ -2389,7 +2389,7 @@
        tx := f_build_initial_ue(g_pars);
        f_iuh2iu_connect(tx);

-       f_create_rab_cs(g_pars.mgcp_pars);
+       f_create_rab_cs();

        /* Now send a second RAB Assignment with different subflows and 
omitting transportLayerInformation. (Assuming
         * the first RAB Assignment's transportLayerInformation remains in use 
unchanged.) */

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38588?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I1f699e197e29f912ad06378f10563063aa291af3
Gerrit-Change-Number: 38588
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>

Reply via email to