pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41486?usp=email )
Change subject: RAN_Emulation: Proper operation indication in RANAP_Connect prim to upper layers ......................................................................
RAN_Emulation: Proper operation indication in RANAP_Connect prim to upper layers
Change-Id: Id39c68a0408fdc90304d8089dd200274eb843a8d --- M hnbgw/ConnHdlr.ttcn M library/RAN_Emulation.ttcnpp 2 files changed, 29 insertions(+), 5 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/hnbgw/ConnHdlr.ttcn b/hnbgw/ConnHdlr.ttcn index 093677d..d9ba5d5 100644 --- a/hnbgw/ConnHdlr.ttcn +++ b/hnbgw/ConnHdlr.ttcn @@ -423,7 +423,7 @@
if (g_pars.expect_separate_sccp_cr) { /* Acknowledge the empty SCCP CR. RAN_Emulation does the confirmation, no need to respond. */ - BSSAP.receive(tr_RANAP_Conn_Req()); + BSSAP.receive(tr_RANAP_Conn_Ind()); }
/* expect to receive it on the Iu side */ diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index aa98b04..4373a87 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -216,6 +216,8 @@ RANAP_N_UNITDATA_req, /* Client requests us to create SCCP Connection */ RANAP_Conn_Req, + /* SCCP Connection created */ + RANAP_Conn_Ind, #endif #ifdef RAN_EMULATION_MGCP /* MGCP, only used for IPA SCCPlite (MGCP in IPA mux) */ @@ -626,6 +628,7 @@ SCCP_PAR_Address addr_own, RANAP_PDU ranap optional } + template (value) RANAP_Conn_Req ts_RANAP_Conn_Req(SCCP_PAR_Address peer, SCCP_PAR_Address own, template (omit) RANAP_PDU ranap) := { addr_peer := peer, @@ -633,9 +636,30 @@ ranap := ranap };
-template RANAP_Conn_Req tr_RANAP_Conn_Req(template SCCP_PAR_Address peer := ?, - template SCCP_PAR_Address own := ?, - template (omit) RANAP_PDU ranap := omit) := { +template (present) RANAP_Conn_Req tr_RANAP_Conn_Req(template (present) SCCP_PAR_Address peer := ?, + template (present) SCCP_PAR_Address own := ?, + template RANAP_PDU ranap := *) := { + addr_peer := peer, + addr_own := own, + ranap := ranap +}; + +type record RANAP_Conn_Ind { + SCCP_PAR_Address addr_peer, + SCCP_PAR_Address addr_own, + RANAP_PDU ranap optional +} + +template (value) RANAP_Conn_Ind ts_RANAP_Conn_Ind(SCCP_PAR_Address peer, SCCP_PAR_Address own, + template (omit) RANAP_PDU ranap) := { + addr_peer := peer, + addr_own := own, + ranap := ranap +}; + +template (present) RANAP_Conn_Ind tr_RANAP_Conn_Ind(template (present) SCCP_PAR_Address peer := ?, + template (present) SCCP_PAR_Address own := ?, + template RANAP_PDU ranap := *) := { addr_peer := peer, addr_own := own, ranap := ranap @@ -1081,7 +1105,7 @@ f_handle_userData_RANAP(vc_conn, rconn_ind.userData); } else { /* Notify client that we received an SCCP CR without user data */ - CLIENT.send(ts_RANAP_Conn_Req(rconn_ind.callingAddress, rconn_ind.calledAddress, omit)) to vc_conn; + CLIENT.send(ts_RANAP_Conn_Ind(rconn_ind.callingAddress, rconn_ind.calledAddress, omit)) to vc_conn; } if (g_ran_ops.ranap_connect_ind_auto_res) { /* confirm connection establishment */