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 info@sysmocom.de + * 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