daniel has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27106 )


Change subject: Add hnbgw test
......................................................................

Add hnbgw test

Change-Id: I0a2fb795aec83337eda8d9972e6ff264ead61076
---
A hnbgw/HNBGW_Tests.cfg
A hnbgw/HNBGW_Tests.default
A hnbgw/HNBGW_Tests.ttcn
A hnbgw/MSC_ConnHdlr.ttcn
A hnbgw/gen_links.sh
A hnbgw/osmo-hnbgw.cfg
A hnbgw/osmo-stp.cfg
A hnbgw/regen_makefile.sh
8 files changed, 702 insertions(+), 0 deletions(-)



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

diff --git a/hnbgw/HNBGW_Tests.cfg b/hnbgw/HNBGW_Tests.cfg
new file mode 100644
index 0000000..8cf0048
--- /dev/null
+++ b/hnbgw/HNBGW_Tests.cfg
@@ -0,0 +1,18 @@
+[ORDERED_INCLUDE]
+# Common configuration, shared between test suites
+"../Common.cfg"
+# testsuite specific configuration, not expected to change
+"./HNBGW_Tests.default"
+
+# Local configuration below
+
+[LOGGING]
+
+[TESTPORT_PARAMETERS]
+
+[MODULE_PARAMETERS]
+
+[MAIN_CONTROLLER]
+
+[EXECUTE]
+HNBGW_Tests.control
diff --git a/hnbgw/HNBGW_Tests.default b/hnbgw/HNBGW_Tests.default
new file mode 100644
index 0000000..02cbcb1
--- /dev/null
+++ b/hnbgw/HNBGW_Tests.default
@@ -0,0 +1,28 @@
+[LOGGING]
+mtc.FileMask := LOG_ALL | TTCN_DEBUG | TTCN_MATCHING | DEBUG_ENCDEC;
+
+[TESTPORT_PARAMETERS]
+*.HNBGWVTY.CTRL_MODE := "client"
+*.HNBGWVTY.CTRL_HOSTNAME := "127.0.0.1"
+*.HNBGWVTY.CTRL_PORTNUM := "4261"
+*.HNBGWVTY.CTRL_LOGIN_SKIPPED := "yes"
+*.HNBGWVTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes"
+*.HNBGWVTY.CTRL_READMODE := "buffered"
+*.HNBGWVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes"
+*.HNBGWVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes"
+*.HNBGWVTY.PROMPT1 := "OsmoHNBGW> "
+*.STATSVTY.CTRL_MODE := "client"
+*.STATSVTY.CTRL_HOSTNAME := "127.0.0.1"
+*.STATSVTY.CTRL_PORTNUM := "4262"
+*.STATSVTY.CTRL_LOGIN_SKIPPED := "yes"
+*.STATSVTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes"
+*.STATSVTY.CTRL_READMODE := "buffered"
+*.STATSVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes"
+*.STATSVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes"
+*.STATSVTY.PROMPT1 := "OsmoHNBGW> "
+*.LLSK.socket_type := "SEQPACKET"
+
+[MODULE_PARAMETERS]
+Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoHNBGW";
+
+[EXECUTE]
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
new file mode 100644
index 0000000..750c927
--- /dev/null
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -0,0 +1,278 @@
+module HNBGW_Tests {
+
+/* Integration Tests for OsmoHNBGW
+ * (C) 2021 by sysmocom - s.f.m.c. GmbH <[email protected]>
+ * All rights reserved.
+ *
+ * Released under the terms of GNU General Public License, Version 2 or
+ * (at your option) any later version.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ *
+ * This test suite tests OsmoHNBGW while emulating the hNodeB as well as MSC, 
SGSN, MGW
+ * See README for more details.
+ */
+
+import from Misc_Helpers all;
+import from General_Types all;
+import from Osmocom_Types all;
+import from IPL4asp_Types all;
+
+import from Osmocom_CTRL_Functions all;
+import from Osmocom_CTRL_Types all;
+import from Osmocom_CTRL_Adapter all;
+
+import from StatsD_Types all;
+import from StatsD_CodecPort all;
+import from StatsD_CodecPort_CtrlFunct all;
+import from StatsD_Checker all;
+
+import from Osmocom_VTY_Functions all;
+import from TELNETasp_PortType all;
+
+import from HNBAP_Templates all;
+import from RUA_IEs all;
+import from RUA_Templates all;
+import from HNBAP_PDU_Descriptions all;
+
+import from Iuh_Emulation all;
+
+import from RANAP_Types all;
+import from RAN_Adapter all;
+
+import from BSSAP_Types all;
+import from RAN_Adapter all;
+import from RAN_Emulation all;
+import from BSSAP_CodecPort all;
+import from IPA_Emulation all;
+import from IPA_CodecPort all;
+import from IPA_Types all;
+
+
+import from MGCP_Emulation all;
+import from MGCP_Types all;
+import from MGCP_Templates all;
+import from MGCP_CodecPort all;
+import from SDP_Types all;
+
+import from MSC_ConnHdlr all;
+
+modulepar {
+       /* IP address at which the HNodeB can be reached */
+       charstring mp_hnodeb_ip := "127.0.0.1";
+       integer mp_hnodeb_port := -1;
+
+       /* IP address at which the test binds */
+       charstring mp_hnbgw_ip := "127.0.0.1";
+       integer mp_hnbgw_iuh_port := 29169;
+
+       charstring mp_mgw_ip := "127.0.0.1";
+       integer mp_mgw_port := 2427;
+
+       RAN_Configuration mp_msc_cfg := {
+               transport := RANAP_TRANSPORT_IuCS,
+               sccp_service_type := "mtp3_itu",
+               sctp_addr := { 23905, "127.0.0.1", 2905, "127.0.0.1" },
+               own_pc := 188,  /* 0.23.4 first MSC emulation */
+               own_ssn := 142,
+               peer_pc := 189, /* 0.23.5 osmo-hnbgw */
+               peer_ssn := 142,
+               sio := '83'O,
+               rctx := 1
+       };
+       RAN_Configuration mp_sgsn_cfg := {
+               transport := RANAP_TRANSPORT_IuCS,
+               sccp_service_type := "mtp3_itu",
+               sctp_addr := { 23905, "127.0.0.1", 2905, "127.0.0.1" },
+               own_pc := 185,  /* 0.23.1 first MSC emulation */
+               own_ssn := 142,
+               peer_pc := 189, /* 0.23.5 osmo-hnbgw */
+               peer_ssn := 142,
+               sio := '83'O,
+               rctx := 1
+       };
+}
+
+const hexstring ranap_cm_service_req := 
'001340400000060003400100000f40060000f11028b6003a40080000f110ffffffff0010400e0d052411035758a605f44e9d4aef004f400300001c0056400500f1100017'H;
+const hexstring ranap_auth_req := 
'00144032000002001040262505120217dc146aeac56cb5ff6d5fb51f47f19220108ca5a6d0c8110000b9e9272498872764003b400100'H;
+const hexstring ranap_auth_resp := 
'001440140000010010400d0c0554ccbdd0302104002f3ae4'H;
+const hexstring ranap_paging := 
'000e401e0000030003400100001740095000010100000000f10040400500b6cf4773'H;
+const hexstring ranap_rab_ass_req := 
'0000005900000100364052000001003500487824cd80102fa7201a2c0000f44c080a028000514000272028140067400000222814003c40000000503d02000227c03500010a0901a200000000000000000000000000401f4a0000400100'H;
+const hexstring iu_release_compl := '20010003000000'H;
+
+type component test_CT extends CTRL_Adapter_CT {
+       var boolean g_initialized := false;
+
+       var MGCP_Emulation_CT vc_MGCP;
+       var Iuh_Emulation_CT vc_Iuh;
+
+       var RAN_Adapter g_msc;
+       var RAN_Adapter g_sgsn;
+       /* SGSN IuPS missing */
+
+       port TELNETasp_PT HNBGWVTY;
+       port HNBAP_PT HNBAP;
+       port RUA_PT RUA;
+
+       /* global test case guard timer (actual timeout value is set in 
f_init()) */
+       timer T_guard := 30.0;
+}
+
+/* global altstep for global guard timer; */
+altstep as_Tguard() runs on test_CT {
+       [] T_guard.timeout {
+                       setverdict(fail, "Timeout of T_guard");
+                       mtc.stop;
+               }
+}
+
+friend function f_logp(TELNETasp_PT pt, charstring log_msg)
+{
+       // log on TTCN3 log output
+       log(log_msg);
+       // log in stderr log
+       f_vty_transceive(pt, "logp lglobal notice TTCN3 f_logp(): " & log_msg);
+}
+
+function f_init_vty(charstring id := "foo") runs on test_CT {
+       if (HNBGWVTY.checkstate("Mapped")) {
+               /* skip initialization if already executed once */
+               return;
+       }
+       map(self:HNBGWVTY, system:HNBGWVTY);
+       f_vty_set_prompts(HNBGWVTY);
+       f_vty_transceive(HNBGWVTY, "enable");
+}
+
+function f_init_mgcp(charstring id) runs on test_CT {
+       id := id & "-MGCP";
+       var MGCPOps ops := {
+               create_cb := refers(MGCP_Emulation.ExpectedCreateCallback),
+               unitdata_cb := refers(MGCP_Emulation.DummyUnitdataCallback)
+       }
+       var MGCP_conn_parameters pars := {
+               callagent_ip := mp_hnbgw_ip,
+               callagent_udp_port := -1,
+               mgw_ip := mp_mgw_ip,
+               mgw_udp_port := mp_mgw_port,
+               multi_conn_mode := false
+       }
+
+       vc_MGCP := MGCP_Emulation_CT.create(id);
+       map(vc_MGCP:MGCP, system:MGCP_CODEC_PT);
+       vc_MGCP.start(MGCP_Emulation.main(ops, pars, id));
+}
+
+/* global initialization function */
+function f_init(charstring id := "HBGW", float guard_timeout := 30.0) runs on 
test_CT {
+
+       T_guard.start(guard_timeout);
+       activate(as_Tguard());
+
+       var Iuh_conn_parameters iuh_pars;
+       iuh_pars.remote_ip := mp_hnbgw_ip;
+       iuh_pars.remote_sctp_port := mp_hnbgw_iuh_port;
+       iuh_pars.local_ip := mp_hnodeb_ip;
+       iuh_pars.local_sctp_port := mp_hnodeb_port;
+       vc_Iuh := Iuh_Emulation_CT.create(id & "-Iuh");
+       connect(self:HNBAP, vc_Iuh:HNBAP);
+       connect(self:RUA, vc_Iuh:RUA);
+
+       vc_Iuh.start(Iuh_Emulation.main(iuh_pars, id & "-Iuh"));
+       f_init_mgcp(id);
+
+       /* MSC */
+       var RanOps ranops := {
+               ranap_create_cb := 
refers(RAN_Emulation.RanapExpectedCreateCallback),
+               ranap_unitdata_cb := omit,
+               ps_domain := false,
+               decode_dtap := false,
+               role_ms := false,
+               protocol := RAN_PROTOCOL_RANAP,
+               transport := RANAP_TRANSPORT_IuCS,
+               use_osmux := false,
+               sccp_addr_local := omit,
+               sccp_addr_peer := omit
+       };
+       f_ran_adapter_init(g_msc, mp_msc_cfg, "HNBGW_Test", ranops);
+       f_ran_adapter_start(g_msc);
+
+       /* SGSN*/
+
+
+       f_init_vty("VirtHNBGW");
+}
+
+friend function f_shutdown_helper() runs on test_CT {
+       all component.stop;
+       setverdict(pass);
+       mtc.stop;
+}
+
+/*function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := 
omit)
+runs on test_CT return MSC_ConnHdlr {
+       return f_start_handler_run(f_start_handler_create(pars), fn, pars);
+}*/
+
+
+/*private function f_tc_hnb_register_request(charstring id) runs on 
HNBGW_ConnHdlr {
+       f_handle_hnbap_hnb_register_req();
+       f_sleep(1.0);
+}*/
+
+testcase TC_hnb_register() runs on test_CT {
+       //var HNBGW_ConnHdlr vc_conn;
+       f_init();
+       HNBAP.send(tr_HNBAP_HNBRegisterRequest(char2oct("TTCN3 HNodeB"),
+                                       '00F110'O,
+                                       int2bit(1, 28),
+                                       int2oct(2, 2),
+                                       int2oct(3, 1),
+                                       int2oct(4, 2)));
+
+       alt {
+       [] HNBAP.receive(tr_HNBAP_HNBRegisterAccept(?)) {
+               setverdict(pass);
+       }
+       [] HNBAP.receive(IUHEM_Event:?) {
+               repeat;
+       }
+       }
+
+       f_sleep(10.0);
+       f_shutdown_helper();
+}
+
+testcase TC_RAB_Assignment() runs on test_CT {
+       //var HNBGW_ConnHdlr vc_conn;
+       f_init();
+       f_sleep(3.0);
+       HNBAP.send(tr_HNBAP_HNBRegisterRequest(char2oct("TTCN3 HNodeB"),
+                                       '00F110'O,
+                                       int2bit(1, 28),
+                                       int2oct(2, 2),
+                                       int2oct(3, 1),
+                                       int2oct(4, 2)));
+
+       alt {
+       [] HNBAP.receive(tr_HNBAP_HNBRegisterAccept(?)) {
+               setverdict(pass);
+       }
+       [] HNBAP.receive(IUHEM_Event:?) {
+               repeat;
+       }
+       }
+
+       RUA.send(tr_RUA_Connect(cs_domain, int2bit(23, 24), normal_call, 
hex2oct(ranap_cm_service_req)));
+       //RANAP.receive();
+
+       f_sleep(2.0);
+       f_shutdown_helper();
+}
+
+control {
+       execute(TC_hnb_register());
+       execute(TC_RAB_Assignment());
+}
+
+}
diff --git a/hnbgw/MSC_ConnHdlr.ttcn b/hnbgw/MSC_ConnHdlr.ttcn
new file mode 100644
index 0000000..290ee82
--- /dev/null
+++ b/hnbgw/MSC_ConnHdlr.ttcn
@@ -0,0 +1,125 @@
+module MSC_ConnHdlr {
+
+/* MSC connection handler for hnbgs tests in TTCN-3
+ * (C) sysmocom - s.f.m.c. GmbH
+ * All rights reserved.
+ *
+ * Released under the terms of GNU General Public License, Version 2 or
+ * (at your option) any later version.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+import from Misc_Helpers all;
+import from General_Types all;
+import from Osmocom_Types all;
+import from IPL4asp_Types all;
+
+import from Osmocom_CTRL_Functions all;
+import from Osmocom_CTRL_Types all;
+import from Osmocom_CTRL_Adapter all;
+
+import from StatsD_Types all;
+import from StatsD_CodecPort all;
+import from StatsD_CodecPort_CtrlFunct all;
+import from StatsD_Checker all;
+
+import from Osmocom_VTY_Functions all;
+import from TELNETasp_PortType all;
+
+import from HNBAP_Templates all;
+import from RUA_IEs all;
+import from RUA_Templates all;
+import from HNBAP_PDU_Descriptions all;
+
+import from Iuh_Emulation all;
+
+import from RANAP_Types all;
+import from RANAP_PDU_Contents all;
+import from RANAP_PDU_Descriptions all;
+import from RANAP_Templates all;
+import from RAN_Adapter all;
+
+import from BSSAP_Types all;
+import from RAN_Adapter all;
+import from RAN_Emulation all;
+import from BSSAP_CodecPort all;
+import from IPA_Emulation all;
+import from IPA_CodecPort all;
+import from IPA_Types all;
+
+import from MGCP_Emulation all;
+import from MGCP_Types all;
+import from MGCP_Templates all;
+import from MGCP_CodecPort all;
+import from SDP_Types all;
+
+import from SCCPasp_Types all;
+import from BSSAP_Types all;
+
+import from MobileL3_Types all;
+import from MobileL3_CommonIE_Types all;
+import from MobileL3_RRM_Types all;
+//import from L3_Templates all;
+
+import from TELNETasp_PortType all;
+import from Osmocom_VTY_Functions all;
+import from TCCConversion_Functions all;
+
+type record TestHdlrParams {
+        hexstring imsi,
+        integer media_nr
+};
+
+function f_get_test_hdlr_pars() return TestHdlrParams {
+        var TestHdlrParams pars := {
+                imsi := f_rnd_imsi('00101'H),
+                media_nr := 1
+        };
+
+        return pars;
+}
+
+type component MSC_ConnHdlr extends RAN_ConnHdlr, MGCP_ConnHdlr { /* 
RUA_ConnHdlr? Iuh_Emulation */
+       var integer g_sccp_conn_id;
+
+       port RAN_PROC_PT RAN;
+       port IPA_MGCP_PT MGCP_CLIENT;
+       var TestHdlrParams g_pars;
+
+}
+
+function f_MscConnHdlr_init(integer i, HostName bts, HostName mgw) runs on 
MSC_ConnHdlr {
+}
+
+function UnitdataCallback(RANAP_PDU ranap) runs on RAN_Emulation_CT return 
template RANAP_PDU {
+        // FIXME
+        return ts_RANAP_Reset(ts_RanapCause_om_intervention, cs_domain);
+}
+
+const RanOps MSC_RanOps := {
+        ranap_create_cb := refers(RAN_Emulation.RanapExpectedCreateCallback),
+        ranap_unitdata_cb := refers(UnitdataCallback),
+        ps_domain := false,
+        decode_dtap := false,
+        role_ms := false,
+        protocol := RAN_PROTOCOL_RANAP,
+        transport := BSSAP_TRANSPORT_AoIP,
+        use_osmux := false,
+        sccp_addr_local := omit,
+        sccp_addr_peer := omit
+}
+
+const MGCPOps MSC_MGCPOps := {
+        create_cb := refers(MGCP_Emulation.ExpectedCreateCallback),
+        unitdata_cb := refers(MGCP_Emulation.DummyUnitdataCallback)
+}
+
+function f_create_ranap_exp(octetstring l3_enc) runs on MSC_ConnHdlr {
+        RAN.call(RAN_register:{l3_enc, self}) {
+                [] RAN.getreply(RAN_register:{?, ?}) {};
+        }
+}
+
+
+}
\ No newline at end of file
diff --git a/hnbgw/gen_links.sh b/hnbgw/gen_links.sh
new file mode 100755
index 0000000..197815c
--- /dev/null
+++ b/hnbgw/gen_links.sh
@@ -0,0 +1,103 @@
+#!/bin/bash
+
+BASEDIR=../deps
+
+. ../gen_links.sh.inc
+
+#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+#FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
+#gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn 
TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
+FILES+=" TCCEncoding_Functions.ttcn TCCEncoding.cc " # GSM 7-bit coding
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+FILES="Socket_API_Definitions.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn 
MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn 
MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
+gen_links $DIR $FILES
+
+# Required by MGCP and IPA
+DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh 
IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc 
IPL4asp_protocol_L234.hh"
+gen_links $DIR $FILES
+
+# required by SCCP Emulation
+DIR=$BASEDIR/titan.ProtocolEmulations.M3UA/src
+FILES="M3UA_Emulation.ttcn"
+gen_links $DIR $FILES
+
+# required by SCCP Emulation
+DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
+FILES="MTP3asp_PortType.ttcn  MTP3asp_Types.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
+FILES="SCCP_Emulation.ttcn  SCCP_Mapping.ttcnpp  SCCP_Types.ttcn  
SCCPasp_Types.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.ProtocolModules.BSSMAP/src
+FILES="BSSAP_Types.ttcn"
+gen_links $DIR $FILES
+
+# required by M3UA_Emulation
+DIR=$BASEDIR/titan.ProtocolModules.M3UA/src
+FILES="M3UA_Types.ttcn"
+gen_links $DIR $FILES
+
+# required by M3UA_Emulation
+DIR=$BASEDIR/titan.TestPorts.SCTPasp/src
+FILES="SCTPasp_PT.cc  SCTPasp_PT.hh  SCTPasp_PortType.ttcn  SCTPasp_Types.ttcn"
+gen_links $DIR $FILES
+
+# required by SCCP Emulation
+DIR=$BASEDIR/titan.ProtocolEmulations.M3UA/src
+FILES="M3UA_Emulation.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.ProtocolModules.SDP/src
+FILES="SDP_EncDec.cc SDP_Types.ttcn SDP_parse_.tab.c SDP_parse_.tab.h 
SDP_parse_parser.h SDP_parser.l
+SDP_parser.y lex.SDP_parse_.c"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.ProtocolModules.RTP/src
+FILES="RTP_EncDec.cc RTP_Types.ttcn"
+gen_links $DIR $FILES
+
+DIR=$BASEDIR/titan.TestPorts.TELNETasp/src
+FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
+gen_links $DIR $FILES
+
+DIR=../library/hnbap
+FILES="HNBAP_CommonDataTypes.asn HNBAP_Constants.asn HNBAP_Containers.asn 
HNBAP_IEs.asn HNBAP_PDU_Contents.asn HNBAP_PDU_Descriptions.asn "
+FILES+="HNBAP_EncDec.cc  HNBAP_Types.ttcn  HNBAP_Templates.ttcn "
+gen_links $DIR $FILES
+
+DIR=../library/rua
+FILES="RUA_CommonDataTypes.asn RUA_Constants.asn RUA_Containers.asn 
RUA_IEs.asn RUA_PDU_Contents.asn RUA_PDU_Descriptions.asn "
+FILES+="RUA_EncDec.cc  RUA_Types.ttcn  RUA_Templates.ttcn "
+gen_links $DIR $FILES
+
+DIR=../library/ranap
+FILES="RANAP_CommonDataTypes.asn RANAP_Constants.asn RANAP_Containers.asn 
RANAP_IEs.asn RANAP_PDU_Contents.asn RANAP_PDU_Descriptions.asn "
+FILES+="RANAP_Types.ttcn RANAP_Templates.ttcn RANAP_CodecPort.ttcn 
RANAP_EncDec.cc "
+gen_links $DIR $FILES
+
+DIR=../library
+FILES="Iuh_Types.ttcn Iuh_CodecPort.ttcn Iuh_CodecPort_CtrlFunctDef.cc 
Iuh_CodecPort_CtrlFunct.ttcn Iuh_Emulation.ttcn DNS_Helpers.ttcn "
+FILES+="MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn 
MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn 
MGCP_CodecPort_CtrlFunctDef.cc "
+FILES+="RAN_Adapter.ttcnpp RAN_Emulation.ttcnpp BSSAP_CodecPort.ttcn 
SCCP_Templates.ttcn "
+FILES+="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn 
Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc 
IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn 
IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp Osmocom_CTRL_Types.ttcn 
Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn 
RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn 
IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn "
+FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn 
StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc 
StatsD_Checker.ttcn "
+
+gen_links $DIR $FILES
+
+ignore_pp_results
diff --git a/hnbgw/osmo-hnbgw.cfg b/hnbgw/osmo-hnbgw.cfg
new file mode 100644
index 0000000..dab3e39
--- /dev/null
+++ b/hnbgw/osmo-hnbgw.cfg
@@ -0,0 +1,62 @@
+!
+! OsmoHNBGW (1.1.0) configuration saved from vty
+!!
+!
+log stderr
+ logging filter all 1
+ logging color 1
+ logging print category-hex 1
+ logging print category 1
+ logging print thread-id 0
+ logging print extended-timestamp 1
+ logging print file 1
+ logging level force-all debug
+ logging level main notice
+ logging level hnbap notice
+ logging level rua notice
+ logging level ranap notice
+ logging level lglobal notice
+ logging level llapd notice
+ logging level linp notice
+ logging level lmux notice
+ logging level lmi notice
+ logging level lmib notice
+ logging level lsms notice
+ logging level lctrl notice
+ logging level lgtp notice
+ logging level lstats notice
+ logging level lgsup notice
+ logging level loap notice
+ logging level lss7 notice
+ logging level lsccp notice
+ logging level lsua notice
+ logging level lm3ua notice
+ logging level lmgcp notice
+ logging level ljibuf notice
+ logging level lrspro notice
+ logging level lns notice
+ logging level lbssgp notice
+ logging level lnsdata notice
+ logging level lnssignal notice
+!
+line vty
+ no login
+!
+cs7 instance 0
+ point-code 0.23.5
+ sccp-address msc
+  routing-indicator PC
+  point-code 0.23.4
+ sccp-address sgsn
+  routing-indicator PC
+  point-code 0.1.1
+hnbgw
+ log-prefix hnb-id
+ iuh
+  local-ip 127.0.0.1
+  local-port 29169
+  hnbap-allow-tmsi 1
+ iucs
+  remote-addr msc
+ iups
+  remote-addr sgsn
diff --git a/hnbgw/osmo-stp.cfg b/hnbgw/osmo-stp.cfg
new file mode 100644
index 0000000..7aa8735
--- /dev/null
+++ b/hnbgw/osmo-stp.cfg
@@ -0,0 +1,44 @@
+!
+! OsmoSTP (0.8.1) configuration saved from vty
+!!
+!
+log stderr
+ logging filter all 1
+ logging color 1
+ logging print category 1
+ logging timestamp 1
+ logging print extended-timestamp 1
+ logging level lglobal notice
+ logging level llapd notice
+ logging level linp notice
+ logging level lmux notice
+ logging level lmi notice
+ logging level lmib notice
+ logging level lsms notice
+ logging level lctrl notice
+ logging level lgtp notice
+ logging level lstats notice
+ logging level lgsup notice
+ logging level loap notice
+ logging level lss7 debug
+ logging level lsccp debug
+ logging level lsua debug
+ logging level lm3ua debug
+ logging level lmgcp notice
+!
+line vty
+ no login
+!
+cs7 instance 0
+ xua rkm routing-key-allocation dynamic-permitted
+ asp virt-msc0-0 23905 2905 m3ua
+  local-ip 127.0.0.1
+  remote-ip 127.0.0.1
+ as virt-msc0 m3ua
+  asp virt-msc0-0
+  routing-key 1 0.23.4
+
+ route-table system
+  update route 0.23.4 7.255.7 linkset virt-msc0
+ listen m3ua 2905
+  accept-asp-connections dynamic-permitted
diff --git a/hnbgw/regen_makefile.sh b/hnbgw/regen_makefile.sh
new file mode 100755
index 0000000..1584335
--- /dev/null
+++ b/hnbgw/regen_makefile.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+NAME=HNBGW_Tests
+
+FILES="
+       *.asn
+       *.c
+       *.ttcn
+       *.ttcnpp
+       IPA_CodecPort_CtrlFunctDef.cc
+       IPL4asp_PT.cc
+       IPL4asp_discovery.cc
+       IuUP_EncDec.cc
+       Iuh_CodecPort_CtrlFunctDef.cc
+       Native_FunctionDefs.cc
+       RTP_CodecPort_CtrlFunctDef.cc
+       RTP_EncDec.cc
+       SCTPasp_PT.cc
+       SDP_EncDec.cc
+       StatsD_CodecPort_CtrlFunctdef.cc
+       TCCConversion.cc
+       TCCEncoding.cc
+       TCCInterface.cc
+       TELNETasp_PT.cc
+       HNBAP_EncDec.cc
+       RUA_EncDec.cc
+       RANAP_EncDec.cc
+       MGCP_CodecPort_CtrlFunctDef.cc
+       UD_PT.cc
+"
+
+export CPPFLAGS_TTCN3="
+       -DIPA_EMULATION_CTRL
+       -DIPA_EMULATION_MGCP
+       -DIPA_EMULATION_SCCP
+       -DRAN_EMULATION_RANAP
+       -DRAN_EMULATION_CTRL
+       -DRAN_EMULATION_MGCP
+       -DUSE_MTP3_DISTRIBUTOR
+"
+
+../regen-makefile.sh -e $NAME $FILES
+
+sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp 
-lfftranscode/' Makefile

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

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I0a2fb795aec83337eda8d9972e6ff264ead61076
Gerrit-Change-Number: 27106
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <[email protected]>
Gerrit-MessageType: newchange

Reply via email to