pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41134?usp=email )


Change subject: SCCP_Adapter: Allow configuring ipa_ccm_pars in SCCPLite 
transport
......................................................................

SCCP_Adapter: Allow configuring ipa_ccm_pars in SCCPLite transport

This is needed for instance to set ipa_unit_id, which must match the AS
name configured at the STP.

Change-Id: I16e1f5d0c40c03330642b2781dc6ddae81d821b2
---
M bsc/BSC_Tests_SCCPlite.cfg
M library/SCCP_Adapter.ttcnpp
2 files changed, 23 insertions(+), 13 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/34/41134/1

diff --git a/bsc/BSC_Tests_SCCPlite.cfg b/bsc/BSC_Tests_SCCPlite.cfg
index e4f4068..7e5b4b2 100644
--- a/bsc/BSC_Tests_SCCPlite.cfg
+++ b/bsc/BSC_Tests_SCCPlite.cfg
@@ -21,7 +21,8 @@
                        tpars := {
                                sccplite := {
                                        tcp_addr := { 5000, "127.0.0.1", 4000, 
"" },
-                                       tcp_is_server := true
+                                       tcp_is_server := true,
+                                       ipa_ccm_pars := omit
                                }
                        },
                        sccp_service_type := "mtp3_itu",
diff --git a/library/SCCP_Adapter.ttcnpp b/library/SCCP_Adapter.ttcnpp
index 6945255..de01b0e 100644
--- a/library/SCCP_Adapter.ttcnpp
+++ b/library/SCCP_Adapter.ttcnpp
@@ -44,7 +44,8 @@

 type record SCCP_Adapter_Config_Sccplite {
        SCTP_Association_Address tcp_addr,
-       boolean tcp_is_server
+       boolean tcp_is_server,
+       IPA_CCM_Parameters ipa_ccm_pars optional
 };

 type union SCCP_Adapter_Transport_ConfigUnion {
@@ -96,6 +97,13 @@
        };
        ba.sccp_addr_own := valueof(ts_SccpAddr_PC_SSN(cfg.own_pc, cfg.own_ssn, 
cfg.sio, cfg.sccp_service_type));
        ba.sccp_addr_peer := valueof(ts_SccpAddr_PC_SSN(cfg.peer_pc, 
cfg.peer_ssn, cfg.sio, cfg.sccp_service_type));
+
+       if (ischosen(cfg.tpars.sccplite)) {
+               if (not ispresent(cfg.tpars.sccplite.ipa_ccm_pars)) {
+                       cfg.tpars.sccplite.ipa_ccm_pars := 
c_IPA_default_ccm_pars;
+               }
+       }
+
        ba.cfg := cfg;
 }

@@ -104,19 +112,19 @@

        /* create components */
        ba.vc_SCCP := SCCP_CT.create(id & "-SCCP") alive;
-       select (cfg.transport) {
+       select (ba.cfg.transport) {
        case (SCCP_TRANSPORT_SIGTRAN) {
                var template (omit) integer rctx;
-               if (not ispresent(cfg.rctx)) {
+               if (not ispresent(ba.cfg.rctx)) {
                        rctx := omit;
                } else {
-                       rctx := cfg.rctx;
+                       rctx := ba.cfg.rctx;
                }
                ba.vc_M3UA := M3UA_CT.create(id & "-M3UA") alive;
                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.tpars.sigtran.sctp_addr, 
rctx));
+               
ba.vc_M3UA.start(f_M3UA_Emulation(ba.cfg.tpars.sigtran.sctp_addr, rctx));
                }
 #ifdef IPA_EMULATION_SCCP
        case (SCCP_TRANSPORT_SCCPlite) {
@@ -128,15 +136,16 @@
                        ba.vc_WAIT := IPA_EventWaiter_CT.create(id & 
"-IPA-WAIT") alive;
                        connect(ba.vc_IPA:IPA_SP_PORT, ba.vc_WAIT:IPA_SP_PORT);
                        ba.vc_WAIT.start(IPA_Emulation.waiter_main());
-               if (cfg.tpars.sccplite.tcp_is_server) {
-                       
ba.vc_IPA.start(IPA_Emulation.main_server(cfg.tpars.sccplite.tcp_addr.local_ip_addr,
-                                                                 
cfg.tpars.sccplite.tcp_addr.local_sctp_port,
+               if (ba.cfg.tpars.sccplite.tcp_is_server) {
+                       
ba.vc_IPA.start(IPA_Emulation.main_server(ba.cfg.tpars.sccplite.tcp_addr.local_ip_addr,
+                                                                 
ba.cfg.tpars.sccplite.tcp_addr.local_sctp_port,
                                                                  true, 
IPA_INIT_SEND_IPA_ID_ACK));
                } else {
-                       
ba.vc_IPA.start(IPA_Emulation.main_client(cfg.tpars.sccplite.tcp_addr.remote_ip_addr,
-                                                                 
cfg.tpars.sccplite.tcp_addr.remote_sctp_port,
-                                                                 
cfg.tpars.sccplite.tcp_addr.local_ip_addr,
-                                                                 
cfg.tpars.sccplite.tcp_addr.local_sctp_port));
+                       
ba.vc_IPA.start(IPA_Emulation.main_client(ba.cfg.tpars.sccplite.tcp_addr.remote_ip_addr,
+                                                                 
ba.cfg.tpars.sccplite.tcp_addr.remote_sctp_port,
+                                                                 
ba.cfg.tpars.sccplite.tcp_addr.local_ip_addr,
+                                                                 
ba.cfg.tpars.sccplite.tcp_addr.local_sctp_port,
+                                                                 
ba.cfg.tpars.sccplite.ipa_ccm_pars));
                }
                        /* wait until we received an IPA CCM ID_ACK */
                        ba.vc_WAIT.done;

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41134?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I16e1f5d0c40c03330642b2781dc6ddae81d821b2
Gerrit-Change-Number: 41134
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pes...@sysmocom.de>

Reply via email to