[MERGED] osmo-gsm-tester[master]: Configure bsc and msc to connect to the specific stp provide...

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Mon Nov 20 16:05:43 UTC 2017


Pau Espin Pedrol has submitted this change and it was merged.

Change subject: Configure bsc and msc to connect to the specific stp provided in test
......................................................................


Configure bsc and msc to connect to the specific stp provided in test

Change-Id: I89deaa71956131766fec8fcc3bc7381ebb0e187f
---
M src/osmo_gsm_tester/osmo_bsc.py
M src/osmo_gsm_tester/osmo_msc.py
M src/osmo_gsm_tester/osmo_stp.py
M src/osmo_gsm_tester/suite.py
M src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl
M src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl
M src/osmo_gsm_tester/templates/osmo-stp.cfg.tmpl
M suites/aoip_debug/interactive.py
M suites/aoip_encryption/register_a5_0_authopt.py
M suites/aoip_encryption/register_a5_0_authreq.py
M suites/aoip_encryption/register_a5_1_authreq.py
M suites/aoip_smpp/esme_connect_policy_acceptall.py
M suites/aoip_smpp/esme_connect_policy_closed.py
M suites/aoip_smpp/esme_ms_sms_storeforward.py
M suites/aoip_smpp/esme_ms_sms_transaction.py
M suites/aoip_sms/mo_mt_sms.py
M suites/aoip_ussd/assert_extension.py
M suites/voice/mo_mt_call.py
18 files changed, 53 insertions(+), 30 deletions(-)

Approvals:
  Pau Espin Pedrol: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/osmo_gsm_tester/osmo_bsc.py b/src/osmo_gsm_tester/osmo_bsc.py
index 736fe8f..6d84cf5 100644
--- a/src/osmo_gsm_tester/osmo_bsc.py
+++ b/src/osmo_gsm_tester/osmo_bsc.py
@@ -31,14 +31,16 @@
     bts = None
     encryption = None
     mgw = None
+    stp = None
 
-    def __init__(self, suite_run, msc, mgw, ip_address):
+    def __init__(self, suite_run, msc, mgw, stp, ip_address):
         super().__init__(log.C_RUN, 'osmo-bsc_%s' % ip_address.get('addr'))
         self.suite_run = suite_run
         self.ip_address = ip_address
         self.bts = []
         self.msc = msc
         self.mgw = mgw
+        self.stp = stp
 
     def start(self):
         self.log('Starting osmo-bsc')
@@ -76,6 +78,7 @@
         config.overlay(values, self.suite_run.config())
         config.overlay(values, dict(bsc=dict(ip_address=self.ip_address)))
         config.overlay(values, self.mgw.conf_for_client())
+        config.overlay(values, self.stp.conf_for_client())
 
         bts_list = []
         for bts in self.bts:
diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/osmo_msc.py
index 67234e3..cdeec1b 100644
--- a/src/osmo_gsm_tester/osmo_msc.py
+++ b/src/osmo_gsm_tester/osmo_msc.py
@@ -31,15 +31,17 @@
     hlr = None
     config = None
     smsc = None
+    stp = None
     encryption = None
     authentication = None
 
-    def __init__(self, suite_run, hlr, mgcpgw, ip_address):
+    def __init__(self, suite_run, hlr, mgcpgw, stp, ip_address):
         super().__init__(log.C_RUN, 'osmo-msc_%s' % ip_address.get('addr'))
         self.suite_run = suite_run
         self.ip_address = ip_address
         self.hlr = hlr
         self.mgcpgw = mgcpgw
+        self.stp = stp
         self.smsc = smsc.Smsc((ip_address.get('addr'), 2775))
 
     def start(self):
@@ -77,6 +79,7 @@
         config.overlay(values, dict(msc=dict(ip_address=self.ip_address)))
         config.overlay(values, self.mgcpgw.conf_for_msc())
         config.overlay(values, self.hlr.conf_for_msc())
+        config.overlay(values, self.stp.conf_for_client())
         config.overlay(values, self.smsc.get_config())
 
         # runtime parameters:
diff --git a/src/osmo_gsm_tester/osmo_stp.py b/src/osmo_gsm_tester/osmo_stp.py
index cc3906f..c4c6c04 100644
--- a/src/osmo_gsm_tester/osmo_stp.py
+++ b/src/osmo_gsm_tester/osmo_stp.py
@@ -48,10 +48,9 @@
         if not os.path.isdir(lib):
             raise RuntimeError('No lib/ in %r' % inst)
 
-        # TODO: osmo-stp is not yet configurable to a specific IP address
-        #iface = util.ip_to_iface(self.addr())
-        #pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), iface,
-        #                           'host %s and port not 22' % self.addr())
+        iface = util.ip_to_iface(self.addr())
+        pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), iface,
+                                   'host %s and port not 22' % self.addr())
 
         env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) }
 
@@ -78,6 +77,9 @@
             self.dbg(r)
             f.write(r)
 
+    def conf_for_client(self):
+        return dict(stp=dict(ip_address=self.ip_address))
+
     def addr(self):
         return self.ip_address.get('addr')
 
diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py
index 25aef35..2d04937 100644
--- a/src/osmo_gsm_tester/suite.py
+++ b/src/osmo_gsm_tester/suite.py
@@ -240,15 +240,15 @@
             ip_address = self.ip_address()
         return osmo_mgw.OsmoMgw(self, ip_address)
 
-    def msc(self, hlr, mgcpgw, ip_address=None):
+    def msc(self, hlr, mgcpgw, stp, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_msc.OsmoMsc(self, hlr, mgcpgw, ip_address)
+        return osmo_msc.OsmoMsc(self, hlr, mgcpgw, stp, ip_address)
 
-    def bsc(self, msc, mgw, ip_address=None):
+    def bsc(self, msc, mgw, stp, ip_address=None):
         if ip_address is None:
             ip_address = self.ip_address()
-        return osmo_bsc.OsmoBsc(self, msc, mgw, ip_address)
+        return osmo_bsc.OsmoBsc(self, msc, mgw, stp, ip_address)
 
     def stp(self, ip_address=None):
         if ip_address is None:
diff --git a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl
index 2f06710..1b21e63 100644
--- a/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-bsc.cfg.tmpl
@@ -15,6 +15,11 @@
  ipa bind ${bsc.ip_address.addr}
 cs7 instance 1
  point-code 0.0.2
+ asp asp0 2905 0 m3ua
+  remote-ip ${stp.ip_address.addr}
+ as as0 m3ua
+  asp asp0
+  routing-key 2 0.0.2
  sccp-address bsc_local
   point-code 0.0.2
   routing-indicator PC
diff --git a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl
index 9ac68b3..149833a 100644
--- a/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-msc.cfg.tmpl
@@ -19,6 +19,11 @@
  authentication ${msc.net.authentication}
 cs7 instance 0
  point-code 0.0.1
+ asp asp0 2905 0 m3ua
+  remote-ip ${stp.ip_address.addr}
+ as as0 m3ua
+  asp asp0
+  routing-key 1 0.0.1
 msc
  mgw remote-ip ${mgw.ip_address.addr}
  assign-tmsi
diff --git a/src/osmo_gsm_tester/templates/osmo-stp.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-stp.cfg.tmpl
index eb6ac1d..6504b9e 100644
--- a/src/osmo_gsm_tester/templates/osmo-stp.cfg.tmpl
+++ b/src/osmo_gsm_tester/templates/osmo-stp.cfg.tmpl
@@ -14,3 +14,4 @@
  xua rkm routing-key-allocation dynamic-permitted
  listen m3ua 2905
   accept-asp-connections dynamic-permitted
+  local-ip ${stp.ip_address.addr}
diff --git a/suites/aoip_debug/interactive.py b/suites/aoip_debug/interactive.py
index 98b9170..cad68b7 100755
--- a/suites/aoip_debug/interactive.py
+++ b/suites/aoip_debug/interactive.py
@@ -4,9 +4,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 modems = suite.modems(int(prompt('How many modems?')))
 
 hlr.start()
diff --git a/suites/aoip_encryption/register_a5_0_authopt.py b/suites/aoip_encryption/register_a5_0_authopt.py
index f528742..75614e2 100755
--- a/suites/aoip_encryption/register_a5_0_authopt.py
+++ b/suites/aoip_encryption/register_a5_0_authopt.py
@@ -5,9 +5,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 ms = suite.modem()
 
 print('start network...')
diff --git a/suites/aoip_encryption/register_a5_0_authreq.py b/suites/aoip_encryption/register_a5_0_authreq.py
index a192ff3..07293d2 100755
--- a/suites/aoip_encryption/register_a5_0_authreq.py
+++ b/suites/aoip_encryption/register_a5_0_authreq.py
@@ -5,9 +5,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 ms = suite.modem()
 
 print('start network...')
diff --git a/suites/aoip_encryption/register_a5_1_authreq.py b/suites/aoip_encryption/register_a5_1_authreq.py
index f5bccfb..190e5bb 100755
--- a/suites/aoip_encryption/register_a5_1_authreq.py
+++ b/suites/aoip_encryption/register_a5_1_authreq.py
@@ -5,9 +5,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 ms = suite.modem()
 
 print('start network...')
diff --git a/suites/aoip_smpp/esme_connect_policy_acceptall.py b/suites/aoip_smpp/esme_connect_policy_acceptall.py
index 34516a3..ef5db4e 100755
--- a/suites/aoip_smpp/esme_connect_policy_acceptall.py
+++ b/suites/aoip_smpp/esme_connect_policy_acceptall.py
@@ -9,7 +9,8 @@
 hlr = suite.hlr()
 bts = suite.bts() # bts not started, only needed for mgcpgw
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
-msc = suite.msc(hlr, mgcpgw)
+stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
 smsc = msc.smsc
 esme = suite.esme()
 
@@ -18,6 +19,7 @@
 smsc.set_smsc_policy(smsc.SMSC_POLICY_ACCEPT_ALL)
 esme.set_smsc(smsc)
 
+stp.start()
 hlr.start()
 msc.start()
 mgcpgw.start()
diff --git a/suites/aoip_smpp/esme_connect_policy_closed.py b/suites/aoip_smpp/esme_connect_policy_closed.py
index 79cb0c7..263b428 100755
--- a/suites/aoip_smpp/esme_connect_policy_closed.py
+++ b/suites/aoip_smpp/esme_connect_policy_closed.py
@@ -14,7 +14,8 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
-msc = suite.msc(hlr, mgcpgw)
+stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
 smsc = msc.smsc
 
 esme = suite.esme()
@@ -25,6 +26,7 @@
 smsc.esme_add(esme)
 smsc.esme_add(esme_no_pwd)
 
+stp.start()
 hlr.start()
 msc.start()
 mgcpgw.start()
diff --git a/suites/aoip_smpp/esme_ms_sms_storeforward.py b/suites/aoip_smpp/esme_ms_sms_storeforward.py
index f0d5dd5..79c570e 100755
--- a/suites/aoip_smpp/esme_ms_sms_storeforward.py
+++ b/suites/aoip_smpp/esme_ms_sms_storeforward.py
@@ -16,9 +16,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 bsc.bts_add(bts)
 
 ms = suite.modem()
diff --git a/suites/aoip_smpp/esme_ms_sms_transaction.py b/suites/aoip_smpp/esme_ms_sms_transaction.py
index 2b12829..e20b2b6 100755
--- a/suites/aoip_smpp/esme_ms_sms_transaction.py
+++ b/suites/aoip_smpp/esme_ms_sms_transaction.py
@@ -14,9 +14,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 bsc.bts_add(bts)
 
 ms = suite.modem()
diff --git a/suites/aoip_sms/mo_mt_sms.py b/suites/aoip_sms/mo_mt_sms.py
index 12f8f2b..76b7e51 100755
--- a/suites/aoip_sms/mo_mt_sms.py
+++ b/suites/aoip_sms/mo_mt_sms.py
@@ -5,9 +5,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 ms_mo = suite.modem()
 ms_mt = suite.modem()
 
diff --git a/suites/aoip_ussd/assert_extension.py b/suites/aoip_ussd/assert_extension.py
index 5204be8..181f07f 100755
--- a/suites/aoip_ussd/assert_extension.py
+++ b/suites/aoip_ussd/assert_extension.py
@@ -7,9 +7,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 ms = suite.modem()
 
 hlr.start()
diff --git a/suites/voice/mo_mt_call.py b/suites/voice/mo_mt_call.py
index b2d6f8d..46c5ec8 100755
--- a/suites/voice/mo_mt_call.py
+++ b/suites/voice/mo_mt_call.py
@@ -5,9 +5,9 @@
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
 mgw_bsc = suite.mgw()
-msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
+msc = suite.msc(hlr, mgcpgw, stp)
+bsc = suite.bsc(msc, mgw_bsc, stp)
 ms_mo = suite.modem()
 ms_mt = suite.modem()
 

-- 
To view, visit https://gerrit.osmocom.org/4857
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I89deaa71956131766fec8fcc3bc7381ebb0e187f
Gerrit-PatchSet: 3
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>



More information about the gerrit-log mailing list