fixeria has uploaded this change for review.

View Change

s1gw: ConnHdlr: allow passing {MME,ENB}-UE-S1AP-ID

Change-Id: Ife37c77cff348cdfbde191dbad6da816e68ca941
---
M s1gw/S1GW_ConnHdlr.ttcn
M s1gw/S1GW_Tests.ttcn
2 files changed, 109 insertions(+), 62 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/39881/1
diff --git a/s1gw/S1GW_ConnHdlr.ttcn b/s1gw/S1GW_ConnHdlr.ttcn
index d0dbc06..99cbe6e 100644
--- a/s1gw/S1GW_ConnHdlr.ttcn
+++ b/s1gw/S1GW_ConnHdlr.ttcn
@@ -1,6 +1,6 @@
/* OsmoS1GW (S1AP Gateway) ConnHdlr
*
- * (C) 2024 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
+ * (C) 2024-2025 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
* Author: Vadim Yanitskiy <vyanitskiy@sysmocom.de>
*
* All rights reserved.
@@ -334,11 +334,12 @@
return -1; /* make compiler happy */
}

-function f_ConnHdlr_tx_erab_setup_req(in ERabList erabs)
+function f_ConnHdlr_tx_erab_setup_req(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr {
var template (value) E_RABToBeSetupListBearerSUReq items;
var template (value) E_RABLevelQoSParameters qos_params;
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;

qos_params := valueof(ts_E_RABLevelQoSParameters);

@@ -356,13 +357,14 @@
items[i] := ts_S1AP_RABToBeSetupListBearerSUReq(item)[0];
}

- f_ConnHdlr_tx_s1ap_from_mme(ts_S1AP_RABSetupReq(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_tx_s1ap_from_mme(ts_S1AP_RABSetupReq(mme_ue_id, enb_ue_id, items));
}

-function f_ConnHdlr_rx_erab_setup_req(in ERabList erabs)
+function f_ConnHdlr_rx_erab_setup_req(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr return S1AP_PDU {
var template (present) E_RABToBeSetupListBearerSUReq items;
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;
var S1AP_PDU pdu;

for (var integer i := 0; i < lengthof(erabs); i := i + 1) {
@@ -379,14 +381,15 @@
items[i] := tr_S1AP_RABToBeSetupListBearerSUReq(item)[0];
}

- f_ConnHdlr_rx_s1ap_from_mme(pdu, tr_S1AP_RABSetupReq(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_rx_s1ap_from_mme(pdu, tr_S1AP_RABSetupReq(mme_ue_id, enb_ue_id, items));
return pdu;
}

-function f_ConnHdlr_tx_erab_setup_rsp(in ERabList erabs)
+function f_ConnHdlr_tx_erab_setup_rsp(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr {
var template (value) E_RABSetupListBearerSURes items;
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;

for (var integer i := 0; i < lengthof(erabs); i := i + 1) {
var template (value) E_RABSetupItemBearerSURes item;
@@ -400,13 +403,14 @@
items[i] := ts_S1AP_RABSetupListBearerSURes(item)[0];
}

- f_ConnHdlr_tx_s1ap_from_enb(ts_S1AP_RABSetupRsp(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_tx_s1ap_from_enb(ts_S1AP_RABSetupRsp(mme_ue_id, enb_ue_id, items));
}

-function f_ConnHdlr_rx_erab_setup_rsp(in ERabList erabs)
+function f_ConnHdlr_rx_erab_setup_rsp(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr return S1AP_PDU {
var template (present) E_RABSetupListBearerSURes items;
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;
var S1AP_PDU pdu;

for (var integer i := 0; i < lengthof(erabs); i := i + 1) {
@@ -421,7 +425,7 @@
items[i] := tr_S1AP_RABSetupListBearerSURes(item)[0];
}

- f_ConnHdlr_rx_s1ap_from_enb(pdu, tr_S1AP_RABSetupRsp(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_rx_s1ap_from_enb(pdu, tr_S1AP_RABSetupRsp(mme_ue_id, enb_ue_id, items));
return pdu;
}

@@ -740,29 +744,32 @@
}

function f_ConnHdlr_tx_erab_release_cmd(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id,
S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
runs on ConnHdlr {
var template (value) E_RABList items := f_ts_E_RABList(erabs, cause);
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;

- f_ConnHdlr_tx_s1ap_from_mme(ts_S1AP_RABReleaseCmd(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_tx_s1ap_from_mme(ts_S1AP_RABReleaseCmd(mme_ue_id, enb_ue_id, items));
}

function f_ConnHdlr_rx_erab_release_cmd(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id,
S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
runs on ConnHdlr return S1AP_PDU {
var template (present) E_RABList items := f_tr_E_RABList(erabs, cause);
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;
var S1AP_PDU pdu;

- f_ConnHdlr_rx_s1ap_from_mme(pdu, tr_S1AP_RABReleaseCmd(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_rx_s1ap_from_mme(pdu, tr_S1AP_RABReleaseCmd(mme_ue_id, enb_ue_id, items));
return pdu;
}

-function f_ConnHdlr_tx_erab_release_rsp(in ERabList erabs)
+function f_ConnHdlr_tx_erab_release_rsp(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr {
var template (value) E_RABReleaseListBearerRelComp items;
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;

for (var integer i := 0; i < lengthof(erabs); i := i + 1) {
var template (value) E_RABReleaseItemBearerRelComp item;
@@ -771,13 +778,14 @@
items[i] := ts_E_RABReleaseListBearerRelComp(item)[0];
}

- f_ConnHdlr_tx_s1ap_from_enb(ts_S1AP_RABReleaseRsp(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_tx_s1ap_from_enb(ts_S1AP_RABReleaseRsp(mme_ue_id, enb_ue_id, items));
}

-function f_ConnHdlr_rx_erab_release_rsp(in ERabList erabs)
+function f_ConnHdlr_rx_erab_release_rsp(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr return S1AP_PDU {
var template (present) E_RABReleaseListBearerRelComp items;
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;
var S1AP_PDU pdu;

for (var integer i := 0; i < lengthof(erabs); i := i + 1) {
@@ -787,27 +795,29 @@
items[i] := tr_E_RABReleaseListBearerRelComp(item)[0];
}

- f_ConnHdlr_rx_s1ap_from_enb(pdu, tr_S1AP_RABReleaseRsp(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_rx_s1ap_from_enb(pdu, tr_S1AP_RABReleaseRsp(mme_ue_id, enb_ue_id, items));
return pdu;
}

function f_ConnHdlr_tx_erab_release_ind(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id,
S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
runs on ConnHdlr {
var template (value) E_RABList items := f_ts_E_RABList(erabs, cause);
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;

- f_ConnHdlr_tx_s1ap_from_enb(ts_S1AP_RABReleaseInd(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_tx_s1ap_from_enb(ts_S1AP_RABReleaseInd(mme_ue_id, enb_ue_id, items));
}

function f_ConnHdlr_rx_erab_release_ind(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id,
S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
runs on ConnHdlr return S1AP_PDU {
var template (present) E_RABList items := f_tr_E_RABList(erabs, cause);
- var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;
var S1AP_PDU pdu;

- f_ConnHdlr_rx_s1ap_from_enb(pdu, tr_S1AP_RABReleaseInd(g_pars.mme_ue_id, enb_ue_id, items));
+ f_ConnHdlr_rx_s1ap_from_enb(pdu, tr_S1AP_RABReleaseInd(mme_ue_id, enb_ue_id, items));
return pdu;
}

@@ -1088,7 +1098,14 @@
}
}

-function f_ConnHdlr_erab_setup_req(inout ERabList erabs)
+function f_ConnHdlr_erab_setup_req_()
+runs on ConnHdlr {
+ f_ConnHdlr_erab_setup_req(g_pars.erabs, g_pars.idx, g_pars.mme_ue_id);
+}
+
+function f_ConnHdlr_erab_setup_req(inout ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr {
const OCT8 c_SEID0 := '0000000000000000'O;

@@ -1103,7 +1120,7 @@
f_PFCPEM_subscribe_seid(c_SEID0);

log("eNB <- [S1GW <- MME]: E-RAB SETUP REQUEST");
- f_ConnHdlr_tx_erab_setup_req(erabs);
+ f_ConnHdlr_tx_erab_setup_req(erabs, mme_ue_id, enb_ue_id);
f_ConnHdlr_session_establish(erabs);

/* We're done establishing PFCP sessions, so at this point we no longer expect to
@@ -1113,16 +1130,23 @@
f_Mutex_unlock(__BFILE__, __LINE__);

log("[eNB <- S1GW] <- MME: E-RAB SETUP REQUEST");
- f_ConnHdlr_rx_erab_setup_req(erabs);
+ f_ConnHdlr_rx_erab_setup_req(erabs, mme_ue_id, enb_ue_id);
}

-function f_ConnHdlr_erab_setup_rsp(in ERabList erabs)
+function f_ConnHdlr_erab_setup_rsp_()
+runs on ConnHdlr {
+ f_ConnHdlr_erab_setup_rsp(g_pars.erabs, g_pars.idx, g_pars.mme_ue_id);
+}
+
+function f_ConnHdlr_erab_setup_rsp(in ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr {
log("[eNB -> S1GW] -> MME: E-RAB SETUP RESPONSE");
- f_ConnHdlr_tx_erab_setup_rsp(erabs);
+ f_ConnHdlr_tx_erab_setup_rsp(erabs, mme_ue_id, enb_ue_id);
f_ConnHdlr_session_modify(erabs);
log("eNB -> [S1GW -> MME]: E-RAB SETUP RESPONSE");
- f_ConnHdlr_rx_erab_setup_rsp(erabs);
+ f_ConnHdlr_rx_erab_setup_rsp(erabs, mme_ue_id, enb_ue_id);
}

function f_ConnHdlr_erab_modify_req(in ERabList erabs)
@@ -1226,32 +1250,53 @@
f_ConnHdlr_rx_erab_modify_cnf(erabs_modified, erabs_not_modified, erabs_release);
}

+function f_ConnHdlr_erab_release_cmd_(S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
+runs on ConnHdlr {
+ f_ConnHdlr_erab_release_cmd(g_pars.erabs, g_pars.idx, g_pars.mme_ue_id);
+}
+
function f_ConnHdlr_erab_release_cmd(inout ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id,
S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
runs on ConnHdlr {
log("eNB <- [S1GW <- MME]: E-RAB RELEASE COMMAND");
- f_ConnHdlr_tx_erab_release_cmd(erabs, cause);
+ f_ConnHdlr_tx_erab_release_cmd(erabs, mme_ue_id, enb_ue_id, cause);
f_ConnHdlr_session_delete(erabs);
log("[eNB <- S1GW] <- MME: E-RAB RELEASE COMMAND");
- f_ConnHdlr_rx_erab_release_cmd(erabs, cause);
+ f_ConnHdlr_rx_erab_release_cmd(erabs, mme_ue_id, enb_ue_id, cause);
}

-function f_ConnHdlr_erab_release_rsp(inout ERabList erabs)
+function f_ConnHdlr_erab_release_rsp_()
+runs on ConnHdlr {
+ f_ConnHdlr_erab_release_rsp(g_pars.erabs, g_pars.idx, g_pars.mme_ue_id);
+}
+
+function f_ConnHdlr_erab_release_rsp(inout ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id)
runs on ConnHdlr {
log("[eNB -> S1GW] -> MME: E-RAB RELEASE RESPONSE");
- f_ConnHdlr_tx_erab_release_rsp(erabs);
+ f_ConnHdlr_tx_erab_release_rsp(erabs, mme_ue_id, enb_ue_id);
log("eNB -> [S1GW -> MME]: E-RAB RELEASE RESPONSE");
- f_ConnHdlr_rx_erab_release_rsp(erabs);
+ f_ConnHdlr_rx_erab_release_rsp(erabs, mme_ue_id, enb_ue_id);
+}
+
+function f_ConnHdlr_erab_release_ind_(S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
+runs on ConnHdlr {
+ f_ConnHdlr_erab_release_ind(g_pars.erabs, g_pars.idx, g_pars.mme_ue_id, cause);
}

function f_ConnHdlr_erab_release_ind(inout ERabList erabs,
+ MME_UE_S1AP_ID mme_ue_id,
+ ENB_UE_S1AP_ID enb_ue_id,
S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
runs on ConnHdlr {
log("[eNB -> S1GW] -> MME: E-RAB RELEASE INDICATION");
- f_ConnHdlr_tx_erab_release_ind(erabs, cause);
+ f_ConnHdlr_tx_erab_release_ind(erabs, mme_ue_id, enb_ue_id, cause);
f_ConnHdlr_session_delete(erabs);
log("eNB -> [S1GW -> MME]: E-RAB RELEASE INDICATION");
- f_ConnHdlr_rx_erab_release_ind(erabs, cause);
+ f_ConnHdlr_rx_erab_release_ind(erabs, mme_ue_id, enb_ue_id, cause);
}

function f_ConnHdlr_initial_ctx_setup_req(inout ERabList erabs)
@@ -1291,7 +1336,8 @@
f_ConnHdlr_rx_initial_ctx_setup_rsp(erabs);
}

-function f_ConnHdlr_ue_ctx_release_req(S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
+function f_ConnHdlr_ue_ctx_release_req(inout ERabList erabs,
+ S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
runs on ConnHdlr {
var MME_UE_S1AP_ID mme_ue_id := g_pars.mme_ue_id;
var ENB_UE_S1AP_ID enb_ue_id := g_pars.idx;
@@ -1299,12 +1345,13 @@

log("[eNB -> S1GW] -> MME: UE CONTEXT RELEASE REQUEST");
f_ConnHdlr_tx_s1ap_from_enb(ts_S1AP_UeContextReleaseReq(mme_ue_id, enb_ue_id, cause));
- f_ConnHdlr_session_delete(g_pars.erabs);
+ f_ConnHdlr_session_delete(erabs);
log("eNB -> [S1GW -> MME]: UE CONTEXT RELEASE REQUEST");
f_ConnHdlr_rx_s1ap_from_enb(pdu, tr_S1AP_UeContextReleaseReq(mme_ue_id, enb_ue_id, cause));
}

-function f_ConnHdlr_ue_ctx_release_cmd(S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
+function f_ConnHdlr_ue_ctx_release_cmd(inout ERabList erabs,
+ S1AP_IEs.Cause cause := c_REL_CMD_CAUSE)
runs on ConnHdlr {
var template (value) UE_S1AP_IDs ue_ids := {
uE_S1AP_ID_pair := {
@@ -1317,7 +1364,7 @@

log("eNB <- [S1GW <- MME]: UE CONTEXT RELEASE COMMAND");
f_ConnHdlr_tx_s1ap_from_mme(ts_S1AP_UeContextReleaseCmd(ue_ids, cause));
- f_ConnHdlr_session_delete(g_pars.erabs);
+ f_ConnHdlr_session_delete(erabs);
log("[eNB <- S1GW] <- MME: UE CONTEXT RELEASE COMMAND");
f_ConnHdlr_rx_s1ap_from_mme(pdu, tr_S1AP_UeContextReleaseCmd(ue_ids, cause));
}
diff --git a/s1gw/S1GW_Tests.ttcn b/s1gw/S1GW_Tests.ttcn
index f0b0826..be10799 100644
--- a/s1gw/S1GW_Tests.ttcn
+++ b/s1gw/S1GW_Tests.ttcn
@@ -385,10 +385,10 @@
f_ConnHdlr_s1ap_connect(mp_enb_bind_ip, mp_s1gw_enb_ip);
f_ConnHdlr_s1ap_setup(g_pars.genb_id);

- f_ConnHdlr_erab_setup_req(g_pars.erabs);
- f_ConnHdlr_erab_setup_rsp(g_pars.erabs);
- f_ConnHdlr_erab_release_cmd(g_pars.erabs);
- f_ConnHdlr_erab_release_rsp(g_pars.erabs);
+ f_ConnHdlr_erab_setup_req_();
+ f_ConnHdlr_erab_setup_rsp_();
+ f_ConnHdlr_erab_release_cmd_();
+ f_ConnHdlr_erab_release_rsp_();

f_ConnHdlr_s1ap_disconnect();
f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
@@ -416,9 +416,9 @@
f_ConnHdlr_s1ap_connect(mp_enb_bind_ip, mp_s1gw_enb_ip);
f_ConnHdlr_s1ap_setup(g_pars.genb_id);

- f_ConnHdlr_erab_setup_req(g_pars.erabs);
- f_ConnHdlr_erab_setup_rsp(g_pars.erabs);
- f_ConnHdlr_erab_release_ind(g_pars.erabs);
+ f_ConnHdlr_erab_setup_req_();
+ f_ConnHdlr_erab_setup_rsp_();
+ f_ConnHdlr_erab_release_ind_();

f_ConnHdlr_s1ap_disconnect();
f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
@@ -442,7 +442,7 @@
f_PFCPEM_subscribe_seid(erab.pfcp_loc_seid);

log("eNB <- [S1GW <- MME]: E-RAB SETUP REQUEST");
- f_ConnHdlr_tx_erab_setup_req({erab});
+ f_ConnHdlr_tx_erab_setup_req({erab}, g_pars.idx, g_pars.mme_ue_id);
log("UPF <- S1GW: PFCP Session Establishment Request");
var PDU_PFCP req := f_ConnHdlr_rx_session_establish_req(erab);
/* store peer's SEID, so that it can be used in outgoing PDUs later */
@@ -487,8 +487,8 @@
f_ConnHdlr_s1ap_connect(mp_enb_bind_ip, mp_s1gw_enb_ip);
f_ConnHdlr_s1ap_setup(g_pars.genb_id);

- f_ConnHdlr_erab_setup_req(g_pars.erabs);
- f_ConnHdlr_erab_setup_rsp(g_pars.erabs);
+ f_ConnHdlr_erab_setup_req_();
+ f_ConnHdlr_erab_setup_rsp_();

/* MME orders eNB to modify all 4 E-RABs */
f_ConnHdlr_erab_modify_req(g_pars.erabs);
@@ -496,8 +496,8 @@
f_ConnHdlr_erab_modify_rsp(erabs_modified := {1, 3},
erabs_failed := {0, 2});

- f_ConnHdlr_erab_release_cmd(g_pars.erabs);
- f_ConnHdlr_erab_release_rsp(g_pars.erabs);
+ f_ConnHdlr_erab_release_cmd_();
+ f_ConnHdlr_erab_release_rsp_();

f_ConnHdlr_s1ap_disconnect();
f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
@@ -517,8 +517,8 @@
f_ConnHdlr_s1ap_connect(mp_enb_bind_ip, mp_s1gw_enb_ip);
f_ConnHdlr_s1ap_setup(g_pars.genb_id);

- f_ConnHdlr_erab_setup_req(g_pars.erabs);
- f_ConnHdlr_erab_setup_rsp(g_pars.erabs);
+ f_ConnHdlr_erab_setup_req_();
+ f_ConnHdlr_erab_setup_rsp_();

/* eNB wants to modify all E-RABs but E-RAB 4 */
f_ConnHdlr_erab_modify_ind(erabs_modified := {0, 1, 2, 3},
@@ -531,8 +531,8 @@
* which is expected to be forwarded unmodified */
f_ConnHdlr_erab_modify_cnf();

- f_ConnHdlr_erab_release_cmd(g_pars.erabs);
- f_ConnHdlr_erab_release_rsp(g_pars.erabs);
+ f_ConnHdlr_erab_release_cmd_();
+ f_ConnHdlr_erab_release_rsp_();

f_ConnHdlr_s1ap_disconnect();
f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
@@ -619,7 +619,7 @@

f_ConnHdlr_initial_ctx_setup_req(g_pars.erabs);
f_ConnHdlr_initial_ctx_setup_rsp(g_pars.erabs);
- f_ConnHdlr_ue_ctx_release_req();
+ f_ConnHdlr_ue_ctx_release_req(g_pars.erabs);

f_ConnHdlr_s1ap_disconnect();
f_ConnHdlr_s1ap_unregister(g_pars.genb_id);
@@ -640,7 +640,7 @@
f_ConnHdlr_initial_ctx_setup_req(g_pars.erabs);
f_ConnHdlr_initial_ctx_setup_rsp(g_pars.erabs);

- f_ConnHdlr_ue_ctx_release_cmd();
+ f_ConnHdlr_ue_ctx_release_cmd(g_pars.erabs);
f_ConnHdlr_ue_ctx_release_compl();

f_ConnHdlr_s1ap_disconnect();

To view, visit change 39881. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ife37c77cff348cdfbde191dbad6da816e68ca941
Gerrit-Change-Number: 39881
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>