pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40986?usp=email )
Change subject: Include GlobalRNC-ID IE during Tx RANAP Reset towards SGSN ......................................................................
Include GlobalRNC-ID IE during Tx RANAP Reset towards SGSN
An RNC shall include this IE during RANAP Reset, as specified in 3GPP TS 25.413 8.26.2.2.
Change-Id: Ic16817a2064fa87b80a81b07868005069d67aec2 --- M sgsn/BSSGP_ConnHdlr.ttcn M sgsn/SGSN_Tests.ttcn 2 files changed, 14 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/40986/1
diff --git a/sgsn/BSSGP_ConnHdlr.ttcn b/sgsn/BSSGP_ConnHdlr.ttcn index f976135..c9e9f50 100644 --- a/sgsn/BSSGP_ConnHdlr.ttcn +++ b/sgsn/BSSGP_ConnHdlr.ttcn @@ -108,7 +108,8 @@ boolean ranap_exp_itu_x213_addr_format optional, /* Whether to encode HNBGW addr with ITU X.213 format when sending RAB Ass Resp: */ boolean ranap_use_itu_x213_addr_format, - octetstring ranap_itu_x213_addr_format_padding + octetstring ranap_itu_x213_addr_format_padding, + GlobalRNC_ID grnc_id optional };
function f_new_BSSGP_ConnHdlrPars(integer imsi_suffix, @@ -134,7 +135,8 @@ sccp_addr_peer := omit, ranap_exp_itu_x213_addr_format := omit, ranap_use_itu_x213_addr_format := false, - ranap_itu_x213_addr_format_padding := ''O + ranap_itu_x213_addr_format_padding := ''O, + grnc_id := omit } return valueof(pars); } diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 493c50f..cd909df 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -168,7 +168,8 @@ const integer NUM_RNC := 1; type record IuInstance { RAN_Adapter ranap, - GTPv1U_Emulation_CT vc_RNC_GTP1U + GTPv1U_Emulation_CT vc_RNC_GTP1U, + GlobalRNC_ID grnc_id }; type record length(NUM_RNC) of IuInstance IuInstances; type record of RAN_Configuration RAN_Configurations; @@ -424,7 +425,12 @@
if (g_iu_enable) { for (i := 0; i < NUM_RNC; i := i+1) { - f_ran_adapter_init(g_iu[i].ranap, mp_ranap_cfg[i], "SGSN_Test_" & int2str(i), RNC_RanOps); + g_iu[i].grnc_id := { + pLMNidentity := enc_BcdMccMnc(mcc_mnc), + rNC_ID := 2342 + i + }; + var RanOps RNC_RanOps_i := valueof(ts_RNC_RanOps(g_iu[i].grnc_id)); + f_ran_adapter_init(g_iu[i].ranap, mp_ranap_cfg[i], "SGSN_Test_" & int2str(i), RNC_RanOps_i); f_ran_adapter_start(g_iu[i].ranap); f_init_rnc_gtp("SGSN_Test", i); } @@ -459,7 +465,7 @@ return resp; }
-const RanOps RNC_RanOps := { +template RanOps ts_RNC_RanOps(GlobalRNC_ID grnc_id) := { ranap_create_cb := refers(RAN_Emulation.RanapExpectedCreateCallback), ranap_unitdata_cb := refers(RncUnitdataCallback), ranap_connect_ind_auto_res := true, @@ -500,6 +506,7 @@ if (g_iu_enable) { pars.sccp_addr_local := g_iu[0].ranap.sccp_addr_own; pars.sccp_addr_peer := g_iu[0].ranap.sccp_addr_peer; + pars.grnc_id := g_iu[0].grnc_id; }
vc_conn := BSSGP_ConnHdlr.create(id);