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>