ttcn3: Allow remote hosts (sysmobts) to access RSL srv inside TTCN3 docker

And extra IP address is required/requested on the docker host because
the BSC handling the OML instance is binding to it's address, so we
cannot ask docker to use that one because it fails binding to it.

Change-Id: I734fba91db535d7b183ddc7f51d324a6cd2eaf6f
diff --git a/ttcn3/default-suites.conf b/ttcn3/default-suites.conf
index 80f14e6..cfa46b4 100644
--- a/ttcn3/default-suites.conf
+++ b/ttcn3/default-suites.conf
@@ -1 +1,2 @@
 - ttcn3_bts_tests:trx
+- ttcn3_bts_tests:sysmo
diff --git a/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh b/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh
index df8dcb2..daac3e0 100755
--- a/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh
+++ b/ttcn3/suites/ttcn3_bts_tests/scripts/run_ttcn3_docker.sh
@@ -3,8 +3,9 @@
 
 RUNDIR="$1"
 JUNIT_TTCN3_DST_FILE="$2"
-L2_SOCKET_PATH="$3"
-PCU_SOCKET_PATH="$4"
+BSC_RSL_ADDR="$3"
+L2_SOCKET_PATH="$4"
+PCU_SOCKET_PATH="$5"
 
 # Absolute path to this script
 SCRIPT=$(readlink -f "$0")
@@ -27,7 +28,7 @@
 network_create() {
 	NET=$1
 	echo Creating network $NET_NAME
-	docker network create --internal --subnet $NET $NET_NAME
+	docker network create --subnet $NET $NET_NAME
 }
 
 network_remove() {
@@ -70,6 +71,7 @@
 fi
 docker run	--rm \
 		--network $NET_NAME --ip 172.18.9.10 \
+		-p ${BSC_RSL_ADDR}:3003:3003 \
 		-e "TTCN3_PCAP_PATH=/data" \
 		--mount type=bind,source=$VOL_BASE_DIR/bts-tester,destination=/data \
 		--mount type=bind,source="$(dirname "$L2_SOCKET_PATH")",destination=/data/unix_l2 \
diff --git a/ttcn3/suites/ttcn3_bts_tests/suite.conf b/ttcn3/suites/ttcn3_bts_tests/suite.conf
index 1eb0a02..2bb0cac 100644
--- a/ttcn3/suites/ttcn3_bts_tests/suite.conf
+++ b/ttcn3/suites/ttcn3_bts_tests/suite.conf
@@ -1,6 +1,6 @@
 resources:
   ip_address:
-  - times: 7 # msc, bsc, hlr, stp, mgw, sgsn, ggsn
+  - times: 8 # msc, bsc, hlr, stp, mgw, sgsn, ggsn
   bts:
   - times: 1
   osmocon_phone:
diff --git a/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py b/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py
index f36b023..2684bf7 100755
--- a/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py
+++ b/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py
@@ -30,7 +30,8 @@
 msc_dummy.start()
 mgw_dummy.start()
 
-bsc.set_rsl_ip('172.18.9.10')
+nat_rsl_ip = suite.ip_address().get('addr')
+bsc.set_rsl_ip(nat_rsl_ip)
 bsc.bts_add(bts)
 sgsn_dummy.bts_add(bts)
 
@@ -52,7 +53,7 @@
 else: # PCU unix socket not available locally
     pcu_available = False
     pcu_sk = ''
-docker_cmd = (script_file, str(script_run_dir), junit_ttcn3_dst_file, osmocon.l2_socket_path(), pcu_sk)
+docker_cmd = (script_file, str(script_run_dir), junit_ttcn3_dst_file, nat_rsl_ip, osmocon.l2_socket_path(), pcu_sk)
 
 print('Creating template')
 mytemplate = Template(filename=bts_tmpl_file)