laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32318 )
Change subject: {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context ......................................................................
{RAN,BSSAP_LE}_Adapter: Support M3UA without routing context
The 3rd-party M3UA_Emulation supports operation both with and without a routing context. Let's make sure the layers we build on top don't lose that capability by forcing routing context usage.
Change-Id: Iff849953d923770c93029a6a5c5b86daa8c38f1e --- M library/BSSAP_LE_Adapter.ttcn M library/RAN_Adapter.ttcnpp 2 files changed, 29 insertions(+), 3 deletions(-)
Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified
diff --git a/library/BSSAP_LE_Adapter.ttcn b/library/BSSAP_LE_Adapter.ttcn index 256d8fa..9305c63 100644 --- a/library/BSSAP_LE_Adapter.ttcn +++ b/library/BSSAP_LE_Adapter.ttcn @@ -56,7 +56,7 @@ integer peer_pc, integer peer_ssn, octetstring sio, - integer rctx + integer rctx optional }; type record of BSSAP_LE_Configuration BSSAP_LE_Configurations;
@@ -84,6 +84,13 @@ ops.sccp_addr_local := ba.sccp_addr_own; ops.sccp_addr_peer := ba.sccp_addr_peer;
+ var template (omit) integer rctx; + if (not ispresent(cfg.rctx)) { + rctx := omit; + } else { + rctx := cfg.rctx; + } + /* create components */ ba.vc_SCCP := SCCP_CT.create(id & "-SCCP") alive; if (isvalue(ops)) { @@ -95,7 +102,7 @@ map(ba.vc_M3UA:SCTP_PORT, system:sctp); /* connect MTP3 service provider (M3UA) to lower side of SCCP */ connect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); - ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, cfg.rctx)); + ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, rctx));
if (isvalue(ops)) { timer T := 5.0; diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index 68e1e60..c90ffce 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -100,11 +100,17 @@ } select (cfg.transport) { case (BSSAP_TRANSPORT_AoIP, RANAP_TRANSPORT_IuCS) { + var template (omit) integer rctx; + if (not ispresent(cfg.rctx)) { + rctx := omit; + } else { + rctx := cfg.rctx; + } ba.vc_M3UA := M3UA_CT.create(id & "-M3UA"); map(ba.vc_M3UA:SCTP_PORT, system:sctp); /* connect MTP3 service provider (M3UA) to lower side of SCCP */ connect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); - ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, cfg.rctx)); + ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, rctx)); } #ifdef IPA_EMULATION_SCCP case (BSSAP_TRANSPORT_SCCPlite_SERVER) {