{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
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;