Require OsmoMgw in OsmoBsc and update tests

Since Change-Id Ia2882b7ca31a3219c676986e85045fa08a425d7a, osmo-bsc
uses osmo-mgw and utilizes libosmo-mgcp-client to talk to it.

This commit fixes latest constant failures in voice suite.

Change-Id: I1dadd781a357fce33e7bde55e4bcbdaeb4633359
diff --git a/suites/aoip_debug/interactive.py b/suites/aoip_debug/interactive.py
index f09732b..cfa5d6c 100755
--- a/suites/aoip_debug/interactive.py
+++ b/suites/aoip_debug/interactive.py
@@ -3,8 +3,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 modems = suite.modems(int(prompt('How many modems?')))
 
@@ -12,6 +13,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 
 bsc.bts_add(bts)
 bsc.start()
diff --git a/suites/aoip_debug/suite.conf b/suites/aoip_debug/suite.conf
index bb343a5..d75cacb 100644
--- a/suites/aoip_debug/suite.conf
+++ b/suites/aoip_debug/suite.conf
@@ -1,6 +1,6 @@
 resources:
   ip_address:
-  - times: 5
+  - times: 6
   bts:
   - times: 1
   modem:
diff --git a/suites/aoip_encryption/register_a5_0_authopt.py b/suites/aoip_encryption/register_a5_0_authopt.py
index 0224ee0..6e5e459 100755
--- a/suites/aoip_encryption/register_a5_0_authopt.py
+++ b/suites/aoip_encryption/register_a5_0_authopt.py
@@ -4,8 +4,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 ms = suite.modem()
 
@@ -17,6 +18,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 bsc.bts_add(bts)
 bsc.start()
 bts.start()
diff --git a/suites/aoip_encryption/register_a5_0_authreq.py b/suites/aoip_encryption/register_a5_0_authreq.py
index 114c628..428fc8d 100755
--- a/suites/aoip_encryption/register_a5_0_authreq.py
+++ b/suites/aoip_encryption/register_a5_0_authreq.py
@@ -4,8 +4,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 ms = suite.modem()
 
@@ -17,6 +18,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 bsc.bts_add(bts)
 bsc.start()
 bts.start()
diff --git a/suites/aoip_encryption/register_a5_1_authreq.py b/suites/aoip_encryption/register_a5_1_authreq.py
index a84fa3a..59e3fac 100755
--- a/suites/aoip_encryption/register_a5_1_authreq.py
+++ b/suites/aoip_encryption/register_a5_1_authreq.py
@@ -4,8 +4,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 ms = suite.modem()
 
@@ -17,6 +18,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 bsc.bts_add(bts)
 bsc.start()
 bts.start()
diff --git a/suites/aoip_encryption/suite.conf b/suites/aoip_encryption/suite.conf
index d6d0eee..18e94a3 100644
--- a/suites/aoip_encryption/suite.conf
+++ b/suites/aoip_encryption/suite.conf
@@ -1,6 +1,6 @@
 resources:
   ip_address:
-  - times: 5 # msc, bsc, hlr, stp, mgw
+  - times: 6 # msc, bsc, hlr, stp, mgw*2
   bts:
   - times: 1
     ciphers:
diff --git a/suites/aoip_smpp/esme_ms_sms_storeforward.py b/suites/aoip_smpp/esme_ms_sms_storeforward.py
index 308ebf3..d49401f 100755
--- a/suites/aoip_smpp/esme_ms_sms_storeforward.py
+++ b/suites/aoip_smpp/esme_ms_sms_storeforward.py
@@ -15,8 +15,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 bsc.bts_add(bts)
 
@@ -28,6 +29,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 bsc.start()
 bts.start()
 
diff --git a/suites/aoip_smpp/esme_ms_sms_transaction.py b/suites/aoip_smpp/esme_ms_sms_transaction.py
index 8bcfb6b..6892a7e 100755
--- a/suites/aoip_smpp/esme_ms_sms_transaction.py
+++ b/suites/aoip_smpp/esme_ms_sms_transaction.py
@@ -13,8 +13,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 bsc.bts_add(bts)
 
@@ -26,6 +27,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 bsc.start()
 bts.start()
 
diff --git a/suites/aoip_smpp/suite.conf b/suites/aoip_smpp/suite.conf
index 688fe0a..61e7015 100644
--- a/suites/aoip_smpp/suite.conf
+++ b/suites/aoip_smpp/suite.conf
@@ -1,6 +1,6 @@
 resources:
   ip_address:
-  - times: 5 # msc, bsc, hlr, stp, mgw
+  - times: 6 # msc, bsc, hlr, stp, mgw*2
   bts:
   - times: 1
   modem:
diff --git a/suites/aoip_sms/mo_mt_sms.py b/suites/aoip_sms/mo_mt_sms.py
index 217d807..a7c1f48 100755
--- a/suites/aoip_sms/mo_mt_sms.py
+++ b/suites/aoip_sms/mo_mt_sms.py
@@ -4,8 +4,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 ms_mo = suite.modem()
 ms_mt = suite.modem()
@@ -14,6 +15,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 
 bsc.bts_add(bts)
 bsc.start()
diff --git a/suites/aoip_sms/suite.conf b/suites/aoip_sms/suite.conf
index 677a95e..28a81ea 100644
--- a/suites/aoip_sms/suite.conf
+++ b/suites/aoip_sms/suite.conf
@@ -1,6 +1,6 @@
 resources:
   ip_address:
-  - times: 5 # msc, bsc, hlr, stp, mgw
+  - times: 6 # msc, bsc, hlr, stp, mgw*2
   bts:
   - times: 1
   modem:
diff --git a/suites/aoip_ussd/assert_extension.py b/suites/aoip_ussd/assert_extension.py
index 5e934db..36d6222 100755
--- a/suites/aoip_ussd/assert_extension.py
+++ b/suites/aoip_ussd/assert_extension.py
@@ -6,8 +6,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 ms = suite.modem()
 
@@ -15,6 +16,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 
 bsc.bts_add(bts)
 bsc.start()
diff --git a/suites/aoip_ussd/suite.conf b/suites/aoip_ussd/suite.conf
index 1da0cc5..460147a 100644
--- a/suites/aoip_ussd/suite.conf
+++ b/suites/aoip_ussd/suite.conf
@@ -1,6 +1,6 @@
 resources:
   ip_address:
-  - times: 5 # msc, bsc, hlr, stp, mgw
+  - times: 6 # msc, bsc, hlr, stp, mgw*2
   bts:
   - times: 1
   modem:
diff --git a/suites/voice/mo_mt_call.py b/suites/voice/mo_mt_call.py
index f426037..8cd3b23 100755
--- a/suites/voice/mo_mt_call.py
+++ b/suites/voice/mo_mt_call.py
@@ -4,8 +4,9 @@
 hlr = suite.hlr()
 bts = suite.bts()
 mgcpgw = suite.mgcpgw(bts_ip=bts.remote_addr())
+mgw_bsc = suite.mgw()
 msc = suite.msc(hlr, mgcpgw)
-bsc = suite.bsc(msc)
+bsc = suite.bsc(msc, mgw_bsc)
 stp = suite.stp()
 ms_mo = suite.modem()
 ms_mt = suite.modem()
@@ -14,6 +15,7 @@
 stp.start()
 msc.start()
 mgcpgw.start()
+mgw_bsc.start()
 
 bsc.bts_add(bts)
 bsc.start()
diff --git a/suites/voice/suite.conf b/suites/voice/suite.conf
index 40d9f97..522b1ca 100644
--- a/suites/voice/suite.conf
+++ b/suites/voice/suite.conf
@@ -1,6 +1,6 @@
 resources:
   ip_address:
-  - times: 5 # msc, bsc, hlr, stp, mgw
+  - times: 6 # msc, bsc, hlr, stp, mgw*2
   bts:
   - times: 1
   modem: