Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEszter Susanszky2018-02-26 08:48:27 +0000
committerEszter Susanszky2018-02-26 08:48:27 +0000
commit78268e1580f7034bbd1b06550edf8ddf67b52f1f (patch)
treede330eff9deea50e4fc1883b894286652ee5fee7
parent6431dccd853a9163eee314fd4ee2fdba18b454ec (diff)
downloadtitan.ApplicationLibraries.MBT-78268e1580f7034bbd1b06550edf8ddf67b52f1f.tar.gz
titan.ApplicationLibraries.MBT-78268e1580f7034bbd1b06550edf8ddf67b52f1f.tar.xz
titan.ApplicationLibraries.MBT-78268e1580f7034bbd1b06550edf8ddf67b52f1f.zip
tpd fix, demo removed
Signed-off-by: Eszter Susanszky <eszter.susanszky@ericsson.com>
-rw-r--r--EPTF_Applib_MBT_CNL113659.tpd50
-rwxr-xr-xdemo/MBT_demo.cfg55
-rw-r--r--demo/MBT_demo.prj153
-rw-r--r--demo/MBT_demo.ttcn317
-rw-r--r--demo/direct/MBT_Qtronic_Demo.cfg62
-rw-r--r--demo/direct/MBT_Qtronic_Demo.prj150
-rw-r--r--demo/direct/MBT_Qtronic_Demo.ttcn212
-rw-r--r--demo/direct/MBT_Qtronic_TestHarness.ttcn86
-rw-r--r--demo/direct/MBT_Qtronic_Testcases.ttcn1448
-rw-r--r--demo/direct/MBT_Qtronic_Types.ttcn71
-rw-r--r--demo/direct/model/EPTF_MBT_Framework.java55
-rw-r--r--demo/direct/model/EPTF_MBT_SIP_Applib.java30
-rw-r--r--demo/direct/model/SIPClient.java185
-rw-r--r--demo/direct/model/SIPClient.xmi326
-rw-r--r--demo/ggsn/MBT_Qtronic_Demo.cfg181
-rw-r--r--demo/ggsn/MBT_Qtronic_Demo.prj158
-rw-r--r--demo/ggsn/MBT_Qtronic_Main.ttcn456
-rw-r--r--demo/ggsn/MBT_Qtronic_TestHarness.ttcn456
-rw-r--r--demo/ggsn/MBT_Qtronic_TestSystem.ttcn92
-rw-r--r--demo/ggsn/MBT_Qtronic_Testcases.ttcn1282
-rw-r--r--demo/ggsn/MBT_Qtronic_Types.ttcn105
-rwxr-xr-xdemo/ggsn/makefile_patch.sh15
-rw-r--r--demo/ggsn/model/CDRrecords.java9
-rw-r--r--demo/ggsn/model/CLIrecords.java59
-rw-r--r--demo/ggsn/model/GGSN.java169
-rw-r--r--demo/ggsn/model/GGSN.xmi230
-rw-r--r--demo/ggsn/model/GTPrecords.java116
-rw-r--r--demo/ggsn/model/RadiusRecords.java9
-rw-r--r--demo/ggsn/model/UDPrecords.java10
-rw-r--r--demo/ggsn/model/charging.java35
-rw-r--r--demo/ggsn/model/cli.java38
-rw-r--r--demo/ggsn/model/configuration.java34
-rw-r--r--demo/ggsn/model/globals.java18
-rw-r--r--demo/ggsn/model/prepareRestore.java50
-rw-r--r--demo/ggsn/model/system.java22
-rwxr-xr-xdemo/makefile_patch.sh15
-rw-r--r--demo/mapped/MBT_Qtronic_Demo.cfg55
-rw-r--r--demo/mapped/MBT_Qtronic_Demo.prj150
-rw-r--r--demo/mapped/MBT_Qtronic_Demo.ttcn338
-rw-r--r--demo/mapped/MBT_Qtronic_TestHarness.ttcn101
-rw-r--r--demo/mapped/MBT_Qtronic_Testcases.ttcn606
-rw-r--r--demo/mapped/MBT_Qtronic_Types.ttcn78
-rw-r--r--demo/mapped/model/SIPClient.java124
-rw-r--r--demo/mapped/model/SIPClient.xmi326
-rw-r--r--demo/sut/MBT_SUT_SIP_Phone.ttcn403
45 files changed, 50 insertions, 8890 deletions
diff --git a/EPTF_Applib_MBT_CNL113659.tpd b/EPTF_Applib_MBT_CNL113659.tpd
new file mode 100644
index 0000000..1958433
--- /dev/null
+++ b/EPTF_Applib_MBT_CNL113659.tpd
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TITAN_Project_File_Information version="1.0">
+<!--
+Copyright (c) 2000-2017 Ericsson Telecom AB
+
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+ File: EPTF_Applib_MBT_CNL113659.tpd
+ Description: tpd project file
+ Rev: R2A01
+ Prodnr: CNL 113 659
+ Updated: 2018-02-26
+ Contact: http://ttcn.ericsson.se
+-->
+ <ProjectName>EPTF_Applib_MBT_CNL113659</ProjectName>
+ <ReferencedProjects>
+ <ReferencedProject name="EPTF_CLL_Base" projectLocationURI="../EPTF_Core_Library_CNL113512/src/Base/EPTF_CLL_Base.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Common" projectLocationURI="../EPTF_Core_Library_CNL113512/src/Common/EPTF_CLL_Common.tpd"/>
+ <ReferencedProject name="EPTF_CLL_LGenBase" projectLocationURI="../EPTF_Core_Library_CNL113512/src/LGenBase/EPTF_CLL_LGenBase.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Logging" projectLocationURI="../EPTF_Core_Library_CNL113512/src/Logging/EPTF_CLL_Logging.tpd"/>
+ <ReferencedProject name="EPTF_CLL_RedBlackTree" projectLocationURI="../EPTF_Core_Library_CNL113512/src/RedBlackTree/EPTF_CLL_RedBlackTree.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Scheduler" projectLocationURI="../EPTF_Core_Library_CNL113512/src/Scheduler/EPTF_CLL_Scheduler.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Semaphore" projectLocationURI="../EPTF_Core_Library_CNL113512/src/Semaphore/EPTF_CLL_Semaphore.tpd"/>
+ <ReferencedProject name="EPTF_CLL_Variable" projectLocationURI="../EPTF_Core_Library_CNL113512/src/Variable/EPTF_CLL_Variable.tpd"/>
+ </ReferencedProjects>
+ <Files>
+ <FileResource projectRelativePath="EPTF_MBT_LGen_Definitions.ttcn" relativeURI="src/LoadGen/EPTF_MBT_LGen_Definitions.ttcn"/>
+ <FileResource projectRelativePath="EPTF_MBT_LGen_Functions.ttcn" relativeURI="src/LoadGen/EPTF_MBT_LGen_Functions.ttcn"/>
+ </Files>
+ <ActiveConfiguration>Default</ActiveConfiguration>
+ <Configurations>
+ <Configuration name="Default">
+ <ProjectProperties>
+ <MakefileSettings>
+ <generateInternalMakefile>true</generateInternalMakefile>
+ <GNUMake>true</GNUMake>
+ <incrementalDependencyRefresh>true</incrementalDependencyRefresh>
+ <targetExecutable>bin/MBT_CNL113659</targetExecutable>
+ <buildLevel>Level3-Creatingobjectfileswithdependencyupdate</buildLevel>
+ </MakefileSettings>
+ <LocalBuildSettings>
+ <workingDirectory>bin</workingDirectory>
+ </LocalBuildSettings>
+ </ProjectProperties>
+ </Configuration>
+ </Configurations>
+</TITAN_Project_File_Information>
diff --git a/demo/MBT_demo.cfg b/demo/MBT_demo.cfg
deleted file mode 100755
index 4775520..0000000
--- a/demo/MBT_demo.cfg
+++ /dev/null
@@ -1,55 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2009 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: SIP_Demo.cfg
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2009-04-20
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-[DEFINE]
-//num_entities := 1
-//Number of simulated entities
-
-[LOGGING]
-ConsoleMask := ERROR | STATISTICS | ACTION
-FileMask := LOG_ALL | DEBUG | MATCHING
-#FileMask := ERROR | STATISTICS | PARALLEL | ACTION | WARNING
-#LogFile := "%l/%e.%h-%t%r.%s"
-LogEntityName := Yes
-LogEventTypes := Yes//Subcategories;
-SourceInfoFormat := Stack
-
-[TESTPORT_PARAMETERS]
-//*.*.debug := "YES";
-
-[MODULE_PARAMETERS]
-
-tsp_debug_EPTF_SchedulerFunctions := false
-tsp_debugVerbose_EPTF_SchedulerFunctions := false
-tsp_EPTF_LGenBaseDebugTraffic := false
-tsp_EPTF_LGenBaseDebug := false
-
-[EXECUTE]
-MBT_demo.tc_MBT_SIP_Demo
-MBT_demo.tc_MBT_HTTP_Demo
-
-[TESTPORT_PARAMETERS]
-*.IPL4_PCO.debug := "NO"
-# In this section you can specify groups of hosts. These groups can be used inside the
-# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts.
-
-[COMPONENTS]
-//TERM := rhea;
-//ORIG := 10.6.70.7;
-
-# This section consists of rules restricting the location of created PTCs.
-[MAIN_CONTROLLER]
-# The options herein control the behaviour of MC.
diff --git a/demo/MBT_demo.prj b/demo/MBT_demo.prj
deleted file mode 100644
index 28dcdc1..0000000
--- a/demo/MBT_demo.prj
+++ /dev/null
@@ -1,153 +0,0 @@
-<!DOCTYPE TITAN_GUI_project_file>
-<Project TITAN_version="1.8.pre0 build 3" >
- <General>
- <Project_Name>MBT_demo</Project_Name>
- <Executable_Path>bin/demo</Executable_Path>
- <Working_Dir>bin</Working_Dir>
- <Build_Host>alpha</Build_Host>
- <Execution_Mode>Parallel</Execution_Mode>
- <ScriptFile_AfterMake>makefile_patch.sh</ScriptFile_AfterMake>
- <Log_Format>yes</Log_Format>
- <Update_Symlinks>yes</Update_Symlinks>
- <Create_Absolute_Symlinks>no</Create_Absolute_Symlinks>
- <Update_Makefile>yes</Update_Makefile>
- <Localhost_Execute>yes</Localhost_Execute>
- <Execute_Command>rsh %host &quot;cd %project_working_dir ; &quot;%executable&quot; %localhost %mctr_port&quot;</Execute_Command>
- <Execute_Hosts>alfa, beta, gamma</Execute_Hosts>
- <UnUsed_List></UnUsed_List>
- </General>
- <Modules>
- <Module>MBT_demo.ttcn</Module>
- </Modules>
- <Configs>
- <Config>MBT_demo.cfg</Config>
- </Configs>
- <Test_Cases>
- </Test_Cases>
- <File_Group name="MainFileGroup" >
- <File_Groups>
- <File_Group name="EPTF_Applib_MBT_CNL113659" >
- <File path="../src/LoadGen/EPTF_MBT_LGen_Definitions.ttcn" />
- <File path="../src/LoadGen/EPTF_MBT_LGen_Functions.ttcn" />
- </File_Group>
- <File_Group name="EPTF_Applib_SIP_CNL113522" >
- <File_Groups>
- <File_Group path="../../EPTF_Applib_SIP_CNL113522/src/LoadGen/EPTF_SIP_LoadGen.grp" />
- <File_Group path="../../EPTF_Applib_SIP_CNL113522/src/Logger/EPTF_SIP_Logger.grp" />
- <File_Group path="../../EPTF_Applib_SIP_CNL113522/src/Transport/EPTF_SIP_Transport.grp" />
- </File_Groups>
- </File_Group>
- <File_Group name="EPTF_Applib_HTTP_CNL113618" >
- <File_Groups>
- <File_Group path="../../EPTF_Applib_HTTP_CNL113618/src/LoadGen/EPTF_HTTP_LoadGen.grp" />
- <File_Group path="../../EPTF_Applib_HTTP_CNL113618/src/Logger/EPTF_HTTP_Logger.grp" />
- <File_Group path="../../EPTF_Applib_HTTP_CNL113618/src/Transport/EPTF_HTTP_Transport.grp" />
- </File_Groups>
- </File_Group>
- <File_Group name="TCCUsefulFunctions_CNL113472" >
- <File path="../../TCCUsefulFunctions_CNL113472/src/digcalc.c" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/digcalc.h" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCInterface.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCInterface_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCMessageHandling.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCMessageHandling_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCSecurity.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCSecurity_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCIPsec.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCIPsec_Definitions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCIPsec_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCEncoding.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCEncoding_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.c" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.h" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCFileIO.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCFileIO_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCDateTime.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCDateTime_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCMaths.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCMaths_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCMaths_GenericTypes.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCInterface_ip.h" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCConversion.cc" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCConversion_Functions.ttcn" />
- <File path="../../TCCUsefulFunctions_CNL113472/src/TCCTemplate_Functions.ttcn" />
- </File_Group>
- <File_Group name="SIPmsg_CNL113319" >
- <File path="../../../TestPorts/SIPmsg_CNL113319/src/lex.SIP_parse_.c" />
- <File path="../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse.h" />
- <File path="../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse_.tab.c" />
- <File path="../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse_.tab.h" />
- <File path="../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PortType.ttcn" />
- <File path="../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PT.cc" />
- <File path="../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PT.hh" />
- <File path="../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_Types.ttcn" />
- </File_Group>
- <File_Group name="HTTPmsg_CNL113312" >
- <File path="../../../TestPorts/HTTPmsg_CNL113312/src/HTTPmsg_PortType.ttcn" />
- <File path="../../../TestPorts/HTTPmsg_CNL113312/src/HTTPmsg_PT.cc" />
- <File path="../../../TestPorts/HTTPmsg_CNL113312/src/HTTPmsg_PT.hh" />
- <File path="../../../TestPorts/HTTPmsg_CNL113312/src/HTTPmsg_Types.ttcn" />
- <File path="../../../TestPorts/HTTPmsg_CNL113312/src/HTTPmsg_MessageLen_Function.cc" />
- <File path="../../../TestPorts/HTTPmsg_CNL113312/src/HTTPmsg_MessageLen.ttcn" />
- </File_Group>
- <File_Group name="UDPasp_CNL113346" >
- <File path="../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PortType.ttcn" />
- <File path="../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PT.cc" />
- <File path="../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PT.hh" />
- <File path="../../../TestPorts/UDPasp_CNL113346/src/UDPasp_Types.ttcn" />
- </File_Group>
- <File_Group name="IPL4asp_CNL113531" >
- <File path="../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_discovery.cc" />
- <File path="../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_Functions.ttcn" />
- <File path="../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PortType.ttcn" />
- <File path="../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_protocol_L234.hh" />
- <File path="../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PT.cc" />
- <File path="../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PT.hh" />
- <File path="../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_Types.ttcn" />
- </File_Group>
- <File_Group name="Abstract_Socket_CNL113384" >
- <File path="../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.cc" />
- <File path="../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.hh" />
- </File_Group>
- <File_Group name="IP_CNL113418" >
- <File path="../../../ProtocolModules/IP_CNL113418/src/IP_EncDec.cc" />
- <File path="../../../ProtocolModules/IP_CNL113418/src/IP_Types.ttcn" />
- </File_Group>
- <File_Group name="LANL2asp_CNL113519" >
- <File path="../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PortType.ttcn" />
- <File path="../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.cc" />
- <File path="../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.hh" />
- <File path="../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_Types.ttcn" />
- </File_Group>
- <File_Group name="TCP_CNL113675" >
- <File path="../../../ProtocolModules/TCP_CNL113675/src/TCP_EncDec.cc" />
- <File path="../../../ProtocolModules/TCP_CNL113675/src/TCP_Types.ttcn" />
- </File_Group>
- <File_Group name="GeneralTypes" >
- <File path="../../../ProtocolModules/COMMON/src/General_Types.ttcn" />
- </File_Group>
- <File_Group name="EPTF_Core_Library_CNL113512" >
- <File_Groups>
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Base/EPTF_CLL_Base.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Common/EPTF_CLL_Common.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/FreeBusyQueue/EPTF_CLL_FreeBusyQueue.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/HashMap/EPTF_CLL_HashMap.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/LGenBase/EPTF_CLL_LGenBase.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Logging/EPTF_CLL_Logging.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/RedBlackTree/EPTF_CLL_RBtree_Float.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Scheduler/EPTF_CLL_Scheduler_RBT.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Variable/EPTF_CLL_Variable.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_Transport.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportCommPortIPL4.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportMessageBufferManager.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportRouting.grp" />
- <File_Group path="../../../TestPorts/Common_Components/Socket_API_CNL113686/src/Socket_API.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/RandomNArray/EPTF_CLL_RNA.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/Semaphore/EPTF_CLL_Semaphore.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/StatMeasure/EPTF_CLL_StatMeasure.grp" />
- <File_Group path="../../EPTF_Core_Library_CNL113512/src/StatHandler/EPTF_CLL_StatHandler.grp" />
- </File_Groups>
- </File_Group>
- </File_Groups>
- </File_Group>
-</Project>
diff --git a/demo/MBT_demo.ttcn b/demo/MBT_demo.ttcn
deleted file mode 100644
index 7edad5f..0000000
--- a/demo/MBT_demo.ttcn
+++ /dev/null
@@ -1,317 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_demo.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2009-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-module MBT_demo
-{
-
-import from EPTF_MBT_LGen_Definitions all;
-import from EPTF_MBT_LGen_Functions all;
-import from EPTF_CLL_Common_Definitions all;
-import from EPTF_CLL_Base_Definitions all;
-import from EPTF_CLL_Base_Functions all;
-import from EPTF_CLL_RBTScheduler_Functions all;
-import from EPTF_CLL_LGenBase_Definitions all;
-import from EPTF_CLL_LGenBase_ConfigFunctions all;
-import from EPTF_CLL_LGenBase_EventHandlingFunctions all;
-
-import from EPTF_SIP_LGen_Definitions all;
-import from EPTF_SIP_LGen_Functions all;
-import from EPTF_SIP_Common_Functions all;
-import from EPTF_SIP_UserDatabase_Functions all;
-import from EPTF_SIP_Transport_Definitions all;
-import from EPTF_SIP_Transport_Functions all;
-import from EPTF_SIP_MessageHandler_Functions all;
-
-import from EPTF_HTTP_Transport_Definitions all;
-import from EPTF_HTTP_Transport_Functions all;
-
-import from EPTF_HTTP_Definitions all;
-import from EPTF_HTTP_Functions all;
-
-
-type component MBT_Demo_LGen_CT extends EPTF_MBT_LGen_CT, EPTF_SIP_LGen_CT, EPTF_SIP_LocalTransport_CT,
-EPTF_HTTP_LGen_CT,EPTF_HTTP_LocalTransport_CT
-{}
-
-type component MBT_Demo_Tester_CT extends EPTF_MBT_Tester_CT {}
-
-type component MBT_Demo_Main_CT extends EPTF_Base_CT {}
-
-testcase tc_MBT_HTTP_Demo() runs on MBT_Demo_Main_CT
-{
- f_EPTF_Base_init_CT("mtc");
-
- var MBT_Demo_LGen_CT vc_MBT_CT := MBT_Demo_LGen_CT.create;
- var MBT_Demo_Tester_CT vc_Tester_CT := MBT_Demo_Tester_CT.create;
-
- connect(vc_MBT_CT:EPTF_MBT_PCO, vc_Tester_CT:EPTF_MBT_TESTER_PCO);
-
- vc_MBT_CT.start(f_MBT_Demo_LGen_HTTP_behavior());
- vc_Tester_CT.start(f_MBT_Demo_Tester_HTTP_behavior());
-
- //all component.done;
- f_EPTF_Base_wait4Shutdown();
-}
-
-testcase tc_MBT_SIP_Demo() runs on MBT_Demo_Main_CT
-{
- f_EPTF_Base_init_CT("mtc");
-
- var MBT_Demo_LGen_CT vc_MBT_CT := MBT_Demo_LGen_CT.create;
- var MBT_Demo_Tester_CT vc_Tester_CT := MBT_Demo_Tester_CT.create;
-
- connect(vc_MBT_CT:EPTF_MBT_PCO, vc_Tester_CT:EPTF_MBT_TESTER_PCO);
-
- vc_MBT_CT.start(f_MBT_Demo_LGen_SIP_behavior());
- vc_Tester_CT.start(f_MBT_Demo_Tester_SIP_behavior());
-
- //all component.done;
- f_EPTF_Base_wait4Shutdown();
-}
-
-function f_MBT_Demo_LGen_HTTP_behavior() runs on MBT_Demo_LGen_CT
-{
- //map(self:IPL4_PCO, system:IPL4_PCO);
- f_EPTF_MBT_init("MBT_Demo_LGen",0, "MBT_")
-
- f_EPTF_HTTP_init(
- pl_selfName:="HTTP_LoadGen",
- pl_selfId:=0,
- pl_entityNamePrefix:="HTTP_AppLib_",
- pl_numEntities:=0)
-
- f_EPTF_HTTP_LocalTransport_init_CT(
- pl_selfName:="EPTF_HTTP_LocalTransport",
- pl_receiveFunction:=refers(f_EPTF_HTTP_messageReceived),
- pl_eventReceiveFunction:=refers(f_EPTF_HTTP_eventReceived))
-
- f_EPTF_HTTP_setSendRequestFunction(pl_sendRequest_fp:=refers(f_EPTF_HTTP_LocalTransport_sendMessage))
- f_EPTF_HTTP_setConnectionOpenFunction(plf_connectionOpen:=refers(f_EPTF_HTTP_LocalTransport_connectionOpen))
- f_EPTF_HTTP_setConnectionCloseFunction(plf_connectionClose:=refers(f_EPTF_HTTP_LocalTransport_connectionClose))
- f_EPTF_HTTP_setConnectionHalfCloseFunction(plf_connectionHalfClose:=refers(f_EPTF_HTTP_LocalTransport_connectionHalfClose))
- f_EPTF_HTTP_setFreePortOfUserFunction(plf_fpou:=refers(f_EPTF_HTTP_LocalTransport_freePortOfUser));
- f_EPTF_HTTP_setClosePortOfUserFunction(plf_cpou:=refers(f_EPTF_HTTP_LocalTransport_closePortOfUser));
-
- f_EPTF_MBT_initLGenFsm
- (
- refers(f_mbt_userfunction),
- refers(f_EPTF_MBT_HTTP_Demo_fillInDB)
- );
-
- f_EPTF_Base_wait4Shutdown();
-}
-
-function f_MBT_Demo_Tester_HTTP_behavior() runs on MBT_Demo_Tester_CT
-{
- f_EPTF_Base_init_CT("MBT_Demo_Tester");
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_ConfigRequest:
- {
- entityGroupName := "MBT_EntityType",
- noEntities := 1,
- behaviors := {"MBT_behavior", "HTTP Behavior"},
- fsmName := "FSM_MBT"
- }
- );
-
- // TODO: activate default altstep, with timeout handling
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_ConfigResponse:?);
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_TestStepRequest: {"EPTF HTTP: Sends HTTP Request", {}, omit, omit});
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_TestStepResponse:{ bName := "HTTP Behavior", iName := "HTTP CHAR Response Message Received", addr := *});
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_CommandRequest:{ quit := {}});
-
- f_EPTF_Base_wait4Shutdown();
-}
-
-function f_MBT_Demo_LGen_SIP_behavior() runs on MBT_Demo_LGen_CT
-{
- f_EPTF_MBT_init("MBT_Demo_LGen",0, "MBT_")
-
- f_SIP_applibInit("MBT_Demo_LGen");
-
- f_EPTF_SIP_LocalTransport_init("udp");
- vf_EPTF_SIP_LocalTransport_receive := refers(f_EPTF_SIP_Message_MsgHandler); //receive callback function on LocalTransport
- vf_EPTF_SIP_LGen_msgSender := refers(f_EPTF_SIP_LocalTransport_sendSIPMessage); //send callback function on LGen
- v_removeUAS := refers(fcb_EPTF_SIP_LocalTransport_removeUAS);
-
- f_EPTF_MBT_initLGenFsm
- (
- null,
- refers(f_EPTF_MBT_SIP_Demo_fillInDB)
- );
-
- f_EPTF_Base_wait4Shutdown();
-}
-
-function f_MBT_Demo_Tester_SIP_behavior() runs on MBT_Demo_Tester_CT
-{
- f_EPTF_Base_init_CT("MBT_Demo_Tester");
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_ConfigRequest:
- {
- entityGroupName := "MBT_EntityType",
- noEntities := 1,
- behaviors := {"MBT_behavior", "HTTP Behavior"},
- fsmName := "FSM_MBT"
- }
- );
-
- // TODO: activate default altstep, with timeout handling
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_ConfigResponse:?);
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_TestStepRequest: {"SIPAppLib: StepFunction_init", {}, omit, omit});
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_TestStepRequest: {"SIPAppLib: StepFunction_createREGISTER", {}, omit, omit});
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_TestStepResponse:{ bName := "Behavior_SIP", iName := "401", addr := * });
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_TestStepRequest: {"SIPAppLib: StepFunction_createREGISTER", {}, omit, omit});
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_TestStepResponse:{ bName := "Behavior_SIP", iName := "200", addr := * });
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_TestStepRequest: {"SIPAppLib: StepFunction_createDEREGISTER", {}, omit, omit});
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_TestStepResponse:{ bName := "Behavior_SIP", iName := "401", addr := * });
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_TestStepRequest: {"SIPAppLib: StepFunction_createDEREGISTER", {}, omit, omit});
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_TestStepResponse:{ bName := "Behavior_SIP", iName := "200", addr := * });
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_TestStepRequest: {"SIPAppLib: StepFunction_cleanUp", {}, omit, omit});
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_CommandRequest:{ quit := {}});
-
- f_EPTF_Base_wait4Shutdown();
-}
-
-// CUSTOM PART
-
-function f_mbt_userfunction(in EPTF_LGenBase_TestStepArgs pl_ptr)
-runs on MBT_Demo_LGen_CT
-return boolean
-{
- v_msgToProcess.response.messageBody:="Ferike";
- return true;
-}
-
-function f_EPTF_MBT_SIP_Demo_fillInDB(in EPTF_MBT_ConfigRequest p_req) runs on MBT_Demo_LGen_CT
-{
- var integer vl_grpIdx := f_EPTF_LGenBase_entityGrpNameIndex(p_req.entityGroupName);
- var integer vl_entityIdx := f_EPTF_LGenBase_getEGrpBaseOffset(vl_grpIdx);
-
- for (var integer i:=0; i<p_req.noEntities; i:=i+1)
- {
- var EPTF_IntegerList vl_bCtx := f_EPTF_LGenBase_getBehaviorCtx(i + vl_entityIdx, v_SIP_myBIdx);
- f_EPTF_SIP_IPL4asp_SetUserData
- (
- vl_bCtx[0],
- "10.251.64.2", // local IP
- {15000, 15001},
- "udp",
- "10.80.36.65", // proxy ip
- 5060 // proxy port
- );
-
- f_EPTF_SIP_User_SetUserData(
- vl_bCtx[0],
- {
- {
- addr := {
- nameAddr := {
- displayName := "titansim_user_7465000",
- addrSpec := {
- scheme := "sip",
- userInfo := {
- userOrTelephoneSubscriber := "titansim_user_7465000",
- password := omit
- },
- hostPort := {
- host := "tcj.ics.se",
- portField := 5060
- },
- urlParameters := omit,
- headers := omit
- }
- }
- },
- password := "pass2ICS"
- }
- },
- "10.251.64.2",
- {15000, 15001},
- i + vl_entityIdx //entity index
- );
-
- f_EPTF_SIP_Session_AddData(vl_bCtx[0], f_EPTF_SIP_getTransport("UDP"),345600);
-
- //f_EPTF_SIP_mapUser2TransportUser(vl_bCtx[0], 0);
-
- f_EPTF_SIP_IPL4asp_startListening(vl_bCtx[0], true); // Both UDP and TCP
- }
-}
-
-function f_EPTF_MBT_HTTP_Demo_fillInDB(in EPTF_MBT_ConfigRequest p_req) runs on MBT_Demo_LGen_CT
-{
-
- var integer vl_grpIdx := f_EPTF_LGenBase_entityGrpNameIndex(p_req.entityGroupName);
- var integer vl_entityIdx := f_EPTF_LGenBase_getEGrpBaseOffset(vl_grpIdx);
-
- for (var integer i:=0; i<p_req.noEntities; i:=i+1)
- {
- var EPTF_IntegerList vl_bCtx := f_EPTF_LGenBase_getBehaviorCtx(i + vl_entityIdx, v_EPTF_HTTP_myBIdx);
-
-
- var integer vl_connHandle := f_EPTF_HTTP_LocalTransport_newPort(
- {
- name:="SingleHTTP_Port"& "_" & int2str(vl_bCtx[0]),
- localHostInformation := { "192.168.163.130", 50000+vl_bCtx[0]},
- remoteHostInformation := { "ttcn.ericsson.se", 80},
- instantConnOpen := true,
- instantConnClose := true,
- useSSL := false,
- userFunctions := omit
- }
- )
- v_EPTF_HTTP_contexts[vl_bCtx[0]] := {
- method := "GET",
- uri:= "/",
- version_major:=1,
- version_minor:=1,
- headerLinesIdx := f_EPTF_HTTP_addNewHeaderLines({
- {header_name:="Host", header_value:="ttcn.ericsson.se" },
- {header_name:="Connection", header_value:="close" } }),
- authDetails := {"","","","","00000001","MD5","","","","",""},
- //authDetails := {"","","","","00000001","MD5",""},
- requestPending:=false,
- connId := vl_connHandle,
- bodyId :=f_EPTF_HTTP_setCharEntityBody("<HTML>Request.</HTML>"),
- headerGetterFn:=refers(f_EPTF_HTTP_getHeaderContentForEntity),
- rawHeaderGetterFn:= null,
- contentGetterFn:=refers(f_EPTF_HTTP_getCharstringBodyContentForEntity),
- charBodyHandlerFn:=refers(f_EPTF_HTTP_defaultCharstringBodyHandler) ,
- binaryBodyHandlerFn:= refers(f_EPTF_HTTP_defaultBinaryBodyHandler)
-
- }
- }
-}
-
-}
diff --git a/demo/direct/MBT_Qtronic_Demo.cfg b/demo/direct/MBT_Qtronic_Demo.cfg
deleted file mode 100644
index 52510d9..0000000
--- a/demo/direct/MBT_Qtronic_Demo.cfg
+++ /dev/null
@@ -1,62 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2009 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Demo.cfg
-// Rev: <RnXnn>
-// Prodnr: CNL 113 522
-// Updated: 2009-04-20
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-[LOGGING]
-
-ConsoleMask := ERROR | STATISTICS | ACTION | TESTCASE
-FileMask := LOG_ALL | DEBUG
-#FileMask := ERROR | STATISTICS | PARALLEL | ACTION | WARNING
-#LogFile := "%l/%e.%h-%t%r.%s"
-LogEntityName := Yes
-LogEventTypes := Yes//Subcategories;
-SourceInfoFormat := Stack
-
-
-[MODULE_PARAMETERS]
-
-tsp_EPTF_MBT_LGen_debug := true;
-tsp_debug_EPTF_SchedulerFunctions := false
-tsp_debugVerbose_EPTF_SchedulerFunctions := false
-tsp_EPTF_LGenBaseDebugTraffic := false
-tsp_EPTF_LGenBaseDebug := false
-
-tsp_SIP_TransactionTimerValues :=
-{
- 0.5,//T1
- 0.0,//no max
- 8.0,//64*T1
- 8.0,//Timer D, >= 32.0
- 0.5,//T1
- 4.0,//T2
- 8.0,//64*T1
- 5.0,//T4
- 0.5,//T1
- 4.0,//T2,
- 8.0,//64*T1
- 5.0,//T4
- 8.0//64*T1
-};
-
-
-[EXECUTE]
-
-MBT_Qtronic_Testcases.control
-
-
-[TESTPORT_PARAMETERS]
-
-*.IPL4_PCO.debug := "NO"
diff --git a/demo/direct/MBT_Qtronic_Demo.prj b/demo/direct/MBT_Qtronic_Demo.prj
deleted file mode 100644
index 35a29dc..0000000
--- a/demo/direct/MBT_Qtronic_Demo.prj
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE TITAN_GUI_project_file>
-<Project TITAN_version="1.8.pl1" >
- <General>
- <Project_Name>MBT_Qtronic_Demo</Project_Name>
- <Executable_Path>bin/demo</Executable_Path>
- <Working_Dir>bin</Working_Dir>
- <Build_Host>alpha</Build_Host>
- <Execution_Mode>Parallel</Execution_Mode>
- <ScriptFile_AfterMake>../makefile_patch.sh</ScriptFile_AfterMake>
- <Log_Format>yes</Log_Format>
- <Update_Symlinks>yes</Update_Symlinks>
- <Create_Absolute_Symlinks>no</Create_Absolute_Symlinks>
- <Update_Makefile>yes</Update_Makefile>
- <Localhost_Execute>yes</Localhost_Execute>
- <Execute_Command>rsh %host &quot;cd %project_working_dir ; &quot;%executable&quot; %localhost %mctr_port&quot;</Execute_Command>
- <Execute_Hosts>alfa, beta, gamma</Execute_Hosts>
- <UnUsed_List></UnUsed_List>
- </General>
- <Modules>
- <Module>MBT_Qtronic_Demo.ttcn</Module>
- <Module>MBT_Qtronic_Testcases.ttcn</Module>
- <Module>MBT_Qtronic_Types.ttcn</Module>
- <Module>MBT_Qtronic_TestHarness.ttcn</Module>
- <Module>../sut/MBT_SUT_SIP_Phone.ttcn</Module>
- </Modules>
- <Configs>
- <Config>MBT_Qtronic_Demo.cfg</Config>
- </Configs>
- <Test_Cases>
- <Test_Case>MBT_Qtronic_Testcases.control</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_1</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_2</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_3</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_4</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_5</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_6</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_7</Test_Case>
- </Test_Cases>
- <File_Group name="MainFileGroup" >
- <File_Groups>
- <File_Group name="EPTF_Applib_MBT_CNL113659" >
- <File path="../../src/LoadGen/EPTF_MBT_LGen_Definitions.ttcn" />
- <File path="../../src/LoadGen/EPTF_MBT_LGen_Functions.ttcn" />
- </File_Group>
- <File_Group name="EPTF_Applib_SIP_CNL113522" >
- <File_Groups>
- <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/LoadGen/EPTF_SIP_LoadGen.grp" />
- <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/Logger/EPTF_SIP_Logger.grp" />
- <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/Transport/EPTF_SIP_Transport.grp" />
- </File_Groups>
- </File_Group>
- <File_Group name="TCCUsefulFunctions_CNL113472" >
- <File path="../../../TCCUsefulFunctions_CNL113472/src/digcalc.c" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/digcalc.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMessageHandling.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMessageHandling_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCSecurity.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCSecurity_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec_Definitions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCEncoding.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCEncoding_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.c" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCFileIO.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCFileIO_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCDateTime.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCDateTime_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths_GenericTypes.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface_ip.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCConversion.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCConversion_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCTemplate_Functions.ttcn" />
- </File_Group>
- <File_Group name="SIPmsg_CNL113319" >
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/lex.SIP_parse_.c" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse.h" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse_.tab.c" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse_.tab.h" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PortType.ttcn" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PT.cc" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PT.hh" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_Types.ttcn" />
- </File_Group>
- <File_Group name="UDPasp_CNL113346" >
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PortType.ttcn" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PT.cc" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PT.hh" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_Types.ttcn" />
- </File_Group>
- <File_Group name="IPL4asp_CNL113531" >
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_discovery.cc" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_Functions.ttcn" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PortType.ttcn" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_protocol_L234.hh" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PT.cc" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PT.hh" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_Types.ttcn" />
- </File_Group>
- <File_Group name="Abstract_Socket_CNL113384" >
- <File path="../../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.cc" />
- <File path="../../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.hh" />
- </File_Group>
- <File_Group name="IP_CNL113418" >
- <File path="../../../../ProtocolModules/IP_CNL113418/src/IP_EncDec.cc" />
- <File path="../../../../ProtocolModules/IP_CNL113418/src/IP_Types.ttcn" />
- </File_Group>
- <File_Group name="LANL2asp_CNL113519" >
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PortType.ttcn" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.cc" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.hh" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_Types.ttcn" />
- </File_Group>
- <File_Group name="TCP_CNL113675" >
- <File path="../../../../ProtocolModules/TCP_CNL113675/src/TCP_EncDec.cc" />
- <File path="../../../../ProtocolModules/TCP_CNL113675/src/TCP_Types.ttcn" />
- </File_Group>
- <File_Group name="GeneralTypes" >
- <File path="../../../../ProtocolModules/COMMON/src/General_Types.ttcn" />
- </File_Group>
- <File_Group name="EPTF_Core_Library_CNL113512" >
- <File_Groups>
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Base/EPTF_CLL_Base.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Common/EPTF_CLL_Common.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/FreeBusyQueue/EPTF_CLL_FreeBusyQueue.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/HashMap/EPTF_CLL_HashMap.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Logging/EPTF_CLL_Logging.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/RedBlackTree/EPTF_CLL_RBtree_Float.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Scheduler/EPTF_CLL_Scheduler_RBT.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Variable/EPTF_CLL_Variable.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/StatMeasure/EPTF_CLL_StatMeasure.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_Transport.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportCommPortIPL4.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportMessageBufferManager.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportRouting.grp" />
- <File_Group path="../../../../TestPorts/Common_Components/Socket_API_CNL113686/src/Socket_API.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/RandomNArray/EPTF_CLL_RNA.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Semaphore/EPTF_CLL_Semaphore.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/StatHandler/EPTF_CLL_StatHandler.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/LGenBase/EPTF_CLL_LGenBase.grp" />
- </File_Groups>
- </File_Group>
- </File_Groups>
- </File_Group>
-</Project>
diff --git a/demo/direct/MBT_Qtronic_Demo.ttcn b/demo/direct/MBT_Qtronic_Demo.ttcn
deleted file mode 100644
index a67a0a2..0000000
--- a/demo/direct/MBT_Qtronic_Demo.ttcn
+++ /dev/null
@@ -1,212 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Demo.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2009-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-module MBT_Qtronic_Demo
-{
-
-import from MBT_Qtronic_Testcases all;
-import from MBT_Qtronic_Types all;
-import from MBT_Qtronic_TestHarness all;
-
-import from MBT_SUT_SIP_Phone all;
-
-import from EPTF_CLL_Common_Definitions all;
-import from EPTF_CLL_Base_Definitions all;
-import from EPTF_CLL_Base_Functions all;
-import from EPTF_CLL_LGenBase_ConfigFunctions all;
-
-
-import from EPTF_MBT_LGen_Definitions all;
-import from EPTF_MBT_LGen_Functions all;
-
-import from EPTF_SIP_LGen_Definitions all;
-import from EPTF_SIP_LGen_Functions all;
-import from EPTF_SIP_Common_Functions all;
-import from EPTF_SIP_UserDatabase_Functions all;
-import from EPTF_SIP_Transport_Definitions all;
-import from EPTF_SIP_Transport_Functions all;
-import from EPTF_SIP_MessageHandler_Functions all;
-
-modulepar
-{
- charstring tsp_MBT_Tester_LocalIP := "159.107.193.33";
- integer tsp_MBT_Tester_LocalPort := 15000;
- charstring tsp_MBT_Tester_RemoteIP := "159.107.193.33";
- integer tsp_MBT_Tester_RemotePort := 20000;
-
- charstring tsp_MBT_SIP_Transport := "udp";
-}
-
-type component MBT_Qtronic_Demo_Main_CT
- extends
- EPTF_Base_CT,
- EPTF_MBT_Tester_CT
-{
- var MBT_Qtronic_Demo_LGen_CT vc_lgen;
-}
-
-function f_MBT_Qtronic_Demo_beginTestCase() runs on Qtronic_CT
-{
- log(%definitionId, " started");
-
- f_EPTF_Base_init_CT("mtc");
-
- log(%definitionId, " Creating SUT");
- var MBT_Qtronic_Demo_SUT_CT vc_sut := MBT_Qtronic_Demo_SUT_CT.create;
- connect(self:userIn, vc_sut:userIn);
- connect(self:userOut, vc_sut:userOut);
- connect(self:EPTF_MBT_TESTER_PCO,vc_sut:EPTF_MBT_PCO);
- vc_sut.start(f_MBT_Qtronic_Demo_SUT_behavior());
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_CommandResponse:?) from vc_sut;
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_ConfigRequest:
- {
- entityGroupName := "SUT_EntityType",
- noEntities := 1,
- behaviors := {"MBT_behavior", "Behavior_SIP", "SUT_Behavior"},
- fsmName := "MBT_Qtronic_Demo_SUT_FSM"
- }
- ) to vc_sut;
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_ConfigResponse:?) from vc_sut;
- log(%definitionId, " SUT ready");
-
- log(%definitionId, " Creating LGen");
- vc_lgen := MBT_Qtronic_Demo_LGen_CT.create;
- connect(self:EPTF_MBT_TESTER_PCO,vc_lgen:EPTF_MBT_PCO);
- vc_lgen.start(f_MBT_Qtronic_Demo_LGen_behavior());
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_CommandResponse:?) from vc_lgen;
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_ConfigRequest:
- {
- entityGroupName := "MBT_EntityType",
- noEntities := 1,
- behaviors := {"MBT_behavior", "Behavior_SIP"},
- fsmName := "FSM_MBT"
- }
- ) to vc_lgen;
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_ConfigResponse:?) from vc_lgen;
-
- log(%definitionId, " LGen ready");
-
-
- log(%definitionId, " finished");
-}
-
-
-function f_MBT_Qtronic_Demo_endTestCase() runs on Qtronic_CT
-{
- log("### MAIN: END TESTCASE started");
-
- f_EPTF_Base_stopAll(none, true);
-
- log("### MAIN: END TESTCASE finished");
-}
-
-/////////////////////////////////////////////////////////////////////////
-//
-// M B T Applib
-//
-/////////////////////////////////////////////////////////////////////////
-
-type component MBT_Qtronic_Demo_LGen_CT
- extends
- EPTF_MBT_LGen_CT,
- EPTF_SIP_LGen_CT, EPTF_SIP_LocalTransport_CT
-{
-}
-
-function f_MBT_Qtronic_Demo_LGen_behavior() runs on MBT_Qtronic_Demo_LGen_CT
-{
- //map(self:IPL4_PCO, system:IPL4_PCO);
-
- f_SIP_applibInit("MBT_Demo_LGen");
-
- f_EPTF_SIP_LocalTransport_init(tsp_MBT_SIP_Transport);
- vf_EPTF_SIP_LocalTransport_receive := refers(f_EPTF_SIP_Message_MsgHandler); //receive callback function on LocalTransport
- vf_EPTF_SIP_LGen_msgSender := refers(f_EPTF_SIP_LocalTransport_sendSIPMessage); //send callback function on LGen
- v_removeUAS := refers(fcb_EPTF_SIP_LocalTransport_removeUAS);
-
- f_EPTF_MBT_init("MBT_Demo_LGen",0, "MBT_");
-
- f_EPTF_MBT_initLGenFsm
- (
- null,
- refers(f_MBT_Qtronic_Demo_LGen_fillInDB)
- );
-
- EPTF_MBT_PCO.send(EPTF_MBT_CommandResponse:{ ready := {}}) to mtc;
-
- f_EPTF_Base_wait4Shutdown();
-}
-
-function f_MBT_Qtronic_Demo_LGen_fillInDB(in EPTF_MBT_ConfigRequest p_req) runs on MBT_Qtronic_Demo_LGen_CT
-{
- var integer vl_grpIdx := f_EPTF_LGenBase_entityGrpNameIndex(p_req.entityGroupName);
- var integer vl_entityIdx := f_EPTF_LGenBase_getEGrpBaseOffset(vl_grpIdx);
-
- for (var integer i:=0; i<p_req.noEntities; i:=i+1)
- {
- var EPTF_IntegerList vl_bCtx := f_EPTF_LGenBase_getBehaviorCtx(i + vl_entityIdx, v_SIP_myBIdx);
- f_EPTF_SIP_IPL4asp_SetUserData
- (
- vl_bCtx[0],
- tsp_MBT_Tester_LocalIP, // local IP
- {tsp_MBT_Tester_LocalPort, tsp_MBT_Tester_LocalPort+1},
- tsp_MBT_SIP_Transport,
- tsp_MBT_Tester_RemoteIP, // proxy ip
- tsp_MBT_Tester_RemotePort // proxy port
- );
-
- f_EPTF_SIP_User_SetUserData(
- vl_bCtx[0],
- {
- {
- addr := {
- nameAddr := {
- displayName := "titansim_user_7465000",
- addrSpec := {
- scheme := "sip",
- userInfo := {
- userOrTelephoneSubscriber := "titansim_user_7465000",
- password := omit
- },
- hostPort := {
- host := "tcj.ics.se",
- portField := tsp_MBT_Tester_LocalPort
- },
- urlParameters := omit,
- headers := omit
- }
- }
- },
- password := "pass2ICS"
- }
- },
- tsp_MBT_Tester_LocalIP,
- {tsp_MBT_Tester_LocalPort, tsp_MBT_Tester_LocalPort+1},
- i + vl_entityIdx //entity index
- );
-
- f_EPTF_SIP_Session_AddData(vl_bCtx[0], f_EPTF_SIP_getTransport(tsp_MBT_SIP_Transport),345600);
-
- f_EPTF_SIP_IPL4asp_startListening(vl_bCtx[0], true); // Both UDP and TCP
- }
-}
-
-}
diff --git a/demo/direct/MBT_Qtronic_TestHarness.ttcn b/demo/direct/MBT_Qtronic_TestHarness.ttcn
deleted file mode 100644
index ff16af0..0000000
--- a/demo/direct/MBT_Qtronic_TestHarness.ttcn
+++ /dev/null
@@ -1,86 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_TestHarness.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-
-/* -*- ttcn3 -*- */
-
-/** @file C:\Users\eantwuh\workspace\SIPsim\MBT_Qtronic_TestHarness.ttcn
- *
- * @author Conformiq TTCN3 Script Backend 0.1
- * @date Thu Sep 30 14:15:28 CEST 2010
- *
- * WARNING! This file has been automatically generated using
- * Ericsson Qtronic TTCN3 Script Backend (based on the original Conformiq Backend).DO NOT EDIT.
- */
-
-module MBT_Qtronic_TestHarness
-{
- import from MBT_Qtronic_Types all;
-/* User provided imports begin */
-import from MBT_Qtronic_Demo all; import from EPTF_MBT_LGen_Definitions all;
-/* User provided imports end */
- altstep QtronicDefaultAlt() runs on Qtronic_CT
- {
- [] any port.receive
- {
- harnessTimer.stop;
- setverdict(fail);
- f_MBT_Qtronic_Demo_endTestCase();
- stop;
- }
- [] harnessTimer.timeout
- {
- setverdict(fail);
- f_MBT_Qtronic_Demo_endTestCase();
- stop;
- }
- }
- function qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(template EPTF_MBT_TestStepRequest msgToSend) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'msgToSend'
- // before it is delivered to the SUT through the real test interface.
- // This can include addition of fields not present in the model or
- // manipulation of unique identifiers in the messages that Qtronic
- // cannot possible know at the time of test generation.
- EPTF_MBT_TESTER_PCO.send(msgToSend) to vc_lgen;
- }
- function qtronic_send_UserInput_to_userIn(template UserInput msgToSend) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'msgToSend'
- // before it is delivered to the SUT through the real test interface.
- // This can include addition of fields not present in the model or
- // manipulation of unique identifiers in the messages that Qtronic
- // cannot possible know at the time of test generation.
- userIn.send(msgToSend);
- }
- function qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(template EPTF_MBT_TestStepResponse tmplToMatch) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'tmplToMatch'
- // before matching it against the expected value template.
- // This manipulation typically means removing fields not present
- // in the abstract model system interface.
- EPTF_MBT_TESTER_PCO.receive(tmplToMatch) from vc_lgen;
- }
- function qtronic_receive_TimeOutIndication_from_userOut(template TimeOutIndication tmplToMatch) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'tmplToMatch'
- // before matching it against the expected value template.
- // This manipulation typically means removing fields not present
- // in the abstract model system interface.
- userOut.receive(tmplToMatch);
- }
-}
diff --git a/demo/direct/MBT_Qtronic_Testcases.ttcn b/demo/direct/MBT_Qtronic_Testcases.ttcn
deleted file mode 100644
index 05d7025..0000000
--- a/demo/direct/MBT_Qtronic_Testcases.ttcn
+++ /dev/null
@@ -1,1448 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Testcases.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-/* -*- ttcn3 -*- */
-
-/** @file C:\Users\eantwuh\workspace\SIPsim\MBT_Qtronic_Testcases.ttcn
- *
- * @author Conformiq TTCN3 Script Backend 0.1
- * @date Thu Sep 30 14:32:36 CEST 2010
- *
- * WARNING! This file has been automatically generated using
- * Ericsson Qtronic TTCN3 Script Backend (based on the original Conformiq Backend).DO NOT EDIT.
- */
-
-module MBT_Qtronic_Testcases
-{
- import from MBT_Qtronic_Types all;
- import from MBT_Qtronic_TestHarness all;
- /* User provided imports begin */
- import from MBT_Qtronic_Demo all; import from EPTF_MBT_LGen_Definitions all;
- /* User provided imports end */
- /* Qtronic generated alt step */
- altstep QtronicDefaultAlt() runs on Qtronic_CT
- {
- [] any port.receive
- {
- harnessTimer.stop;
- setverdict(fail);
- f_MBT_Qtronic_Demo_endTestCase();
- stop;
- }
- [] harnessTimer.timeout
- {
- setverdict(fail);
- f_MBT_Qtronic_Demo_endTestCase();
- stop;
- }
- }
- /* Generated test case #1 */
- testcase Test_Case_1() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicDefaultAlt());
- log("Structural feature: method: main()");
- log("Structural feature: method: SIPClient.SIPClient()");
- log("Structural feature: method: SIPClient.run()");
- log("Structural feature: state: SIPClient.initial-state-0");
- log("Structural feature: transition: SIPClient.initial-state-0->SIPClient.Init-9");
- log("Structural feature: state: SIPClient.Init");
- qtronic_send_UserInput_to_userIn(UserInputTemplate1);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Init->SIPClient.Calling-0");
- log("Structural feature: method: SIPClient.Invite()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate2);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate3);
- oldtimer := 0.0;
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate4);
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Calling");
- log("Structural feature: state: SIPClient.Calling.initial-state-7");
- log("Structural feature: transition: SIPClient.Calling.initial-state-7->SIPClient.Calling.Wait-16");
- log("Structural feature: state: SIPClient.Calling.Wait");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate5);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Calling->SIPClient.Ringing-1");
- log("Structural feature: state: SIPClient.Ringing");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate6);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Ringing->SIPClient.final-state-6-7");
- log("Structural feature: method: SIPClient.Ack()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate7);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.final-state-6");
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate1 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate2 :=
- {
- bName := "Behavior_SIP",
- iName := "INVITE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := -1
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate3 :=
- {
- stepName := "SIPAppLib: StepFunction_init",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate4 :=
- {
- stepName := "SIPAppLib: StepFunction_handleINVITE",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate5 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 1
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate6 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 37
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate7 :=
- {
- bName := "Behavior_SIP",
- iName := "ACK",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- /* Generated test case #2 */
- testcase Test_Case_2() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicDefaultAlt());
- log("Structural feature: method: main()");
- log("Structural feature: method: SIPClient.SIPClient()");
- log("Structural feature: method: SIPClient.run()");
- log("Structural feature: state: SIPClient.initial-state-0");
- log("Structural feature: transition: SIPClient.initial-state-0->SIPClient.Init-9");
- log("Structural feature: state: SIPClient.Init");
- qtronic_send_UserInput_to_userIn(UserInputTemplate8);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Init->SIPClient.Calling-0");
- log("Structural feature: method: SIPClient.Invite()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate9);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate10);
- oldtimer := 0.0;
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate11);
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Calling");
- log("Structural feature: state: SIPClient.Calling.initial-state-7");
- log("Structural feature: transition: SIPClient.Calling.initial-state-7->SIPClient.Calling.Wait-16");
- log("Structural feature: state: SIPClient.Calling.Wait");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate12);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Calling->SIPClient.Ringing-1");
- log("Structural feature: state: SIPClient.Ringing");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate13);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Ringing->SIPClient.Ready-2");
- log("Structural feature: method: SIPClient.Ack()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate14);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Requirement: requirement: Acknowledge established call with ACK");
- log("Structural feature: state: SIPClient.Ready");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate15);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingRequest(String)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: transition: SIPClient.Ready->SIPClient.final-state-3-6");
- log("Structural feature: method: SIPClient.SendOK(String)");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate16);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Requirement: requirement: Terminating/Send OK in response to BYE");
- log("Structural feature: state: SIPClient.final-state-3");
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate8 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate9 :=
- {
- bName := "Behavior_SIP",
- iName := "INVITE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := -1
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate10 :=
- {
- stepName := "SIPAppLib: StepFunction_init",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate11 :=
- {
- stepName := "SIPAppLib: StepFunction_handleINVITE",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate12 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 1
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate13 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 5
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate14 :=
- {
- bName := "Behavior_SIP",
- iName := "ACK",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate15 :=
- {
- stepName := "SIPAppLib: StepFunction_createBYE",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate16 :=
- {
- bName := "Behavior_SIP",
- iName := "200",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- /* Generated test case #3 */
- testcase Test_Case_3() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicDefaultAlt());
- log("Structural feature: method: main()");
- log("Structural feature: method: SIPClient.SIPClient()");
- log("Structural feature: method: SIPClient.run()");
- log("Structural feature: state: SIPClient.initial-state-0");
- log("Structural feature: transition: SIPClient.initial-state-0->SIPClient.Init-9");
- log("Structural feature: state: SIPClient.Init");
- qtronic_send_UserInput_to_userIn(UserInputTemplate17);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Init->SIPClient.Calling-0");
- log("Structural feature: method: SIPClient.Invite()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate18);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate19);
- oldtimer := 0.0;
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate20);
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Calling");
- log("Structural feature: state: SIPClient.Calling.initial-state-7");
- log("Structural feature: transition: SIPClient.Calling.initial-state-7->SIPClient.Calling.Wait-16");
- log("Structural feature: state: SIPClient.Calling.Wait");
- log("Structural feature: transition: SIPClient.Calling.Wait->SIPClient.Calling.junction-state-8-14");
- log("Structural feature: method: SIPClient.RetransmittedRequest()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate21);
- harnessTimer.stop;
- oldtimer := 0.500000000;
- log("Requirement: requirement: 17.1.1.2 INVITE timers/Resends INVITE after A timeout");
- log("Structural feature: state: SIPClient.Calling.junction-state-8");
- log("Structural feature: transition: SIPClient.Calling.junction-state-8->SIPClient.Calling.Wait-15");
- log("Structural feature: state: SIPClient.Calling.Wait");
- log("Structural feature: transition: SIPClient.Calling.Wait->SIPClient.Calling.junction-state-8-14");
- log("Structural feature: method: SIPClient.RetransmittedRequest()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((1.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate22);
- harnessTimer.stop;
- oldtimer := 1.500000000;
- log("Requirement: requirement: 17.1.1.2 INVITE timers/Resends INVITE after A timeout");
- log("Structural feature: state: SIPClient.Calling.junction-state-8");
- log("Structural feature: transition: SIPClient.Calling.junction-state-8->SIPClient.Calling.Wait-15");
- log("Structural feature: state: SIPClient.Calling.Wait");
- log("Structural feature: transition: SIPClient.Calling.Wait->SIPClient.Calling.junction-state-8-14");
- log("Structural feature: method: SIPClient.RetransmittedRequest()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((3.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate23);
- harnessTimer.stop;
- oldtimer := 3.500000000;
- log("Requirement: requirement: 17.1.1.2 INVITE timers/Resends INVITE after A timeout");
- log("Structural feature: state: SIPClient.Calling.junction-state-8");
- log("Structural feature: transition: SIPClient.Calling.junction-state-8->SIPClient.Calling.Wait-15");
- log("Structural feature: state: SIPClient.Calling.Wait");
- log("Structural feature: transition: SIPClient.Calling.Wait->SIPClient.Calling.junction-state-8-14");
- log("Structural feature: method: SIPClient.RetransmittedRequest()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((7.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate24);
- harnessTimer.stop;
- oldtimer := 7.500000000;
- log("Requirement: requirement: 17.1.1.2 INVITE timers/Resends INVITE after A timeout");
- log("Structural feature: state: SIPClient.Calling.junction-state-8");
- log("Structural feature: transition: SIPClient.Calling.junction-state-8->SIPClient.Calling.Wait-15");
- log("Structural feature: state: SIPClient.Calling.Wait");
- log("Structural feature: transition: SIPClient.Calling->SIPClient.final-state-1-3");
- log("Requirement: requirement: 17.1.1.2 INVITE timers/Terminates INVITE cycle after B timeout");
- log("Structural feature: method: SIPClient.TimeOut()");
- harnessTimer.start((8.0 - oldtimer) + SLACK);
- qtronic_receive_TimeOutIndication_from_userOut(TimeOutIndicationTemplate25);
- harnessTimer.stop;
- oldtimer := 8.0;
- log("Structural feature: state: SIPClient.final-state-1");
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate17 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate18 :=
- {
- bName := "Behavior_SIP",
- iName := "INVITE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := -1
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate19 :=
- {
- stepName := "SIPAppLib: StepFunction_init",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate20 :=
- {
- stepName := "SIPAppLib: StepFunction_handleINVITE",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate21 :=
- {
- bName := "Behavior_SIP",
- iName := "Retransmitted request",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate22 :=
- {
- bName := "Behavior_SIP",
- iName := "Retransmitted request",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate23 :=
- {
- bName := "Behavior_SIP",
- iName := "Retransmitted request",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate24 :=
- {
- bName := "Behavior_SIP",
- iName := "Retransmitted request",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template TimeOutIndication TimeOutIndicationTemplate25 :=
- {
-
- }
- /* Generated test case #4 */
- testcase Test_Case_4() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicDefaultAlt());
- log("Structural feature: method: main()");
- log("Structural feature: method: SIPClient.SIPClient()");
- log("Structural feature: method: SIPClient.run()");
- log("Structural feature: state: SIPClient.initial-state-0");
- log("Structural feature: transition: SIPClient.initial-state-0->SIPClient.Init-9");
- log("Structural feature: state: SIPClient.Init");
- qtronic_send_UserInput_to_userIn(UserInputTemplate26);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Init->SIPClient.Calling-0");
- log("Structural feature: method: SIPClient.Invite()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate27);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate28);
- oldtimer := 0.0;
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate29);
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Calling");
- log("Structural feature: state: SIPClient.Calling.initial-state-7");
- log("Structural feature: transition: SIPClient.Calling.initial-state-7->SIPClient.Calling.Wait-16");
- log("Structural feature: state: SIPClient.Calling.Wait");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate30);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Calling->SIPClient.Ringing-1");
- log("Structural feature: state: SIPClient.Ringing");
- qtronic_send_UserInput_to_userIn(UserInputTemplate31);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Ringing->SIPClient.Canceling-12");
- log("Structural feature: state: SIPClient.Canceling");
- log("Structural feature: state: SIPClient.Canceling.initial-state-11");
- log("Structural feature: transition: SIPClient.Canceling.initial-state-11->SIPClient.Canceling.Wait-20");
- log("Structural feature: method: SIPClient.Cancel()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate32);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Canceling.Wait");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate33);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int,int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Canceling->SIPClient.Waiting Response-10");
- log("Structural feature: state: SIPClient.Waiting Response");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate34);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int,int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Waiting Response->SIPClient.final-state-4-8");
- log("Structural feature: method: SIPClient.Ack()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate35);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.final-state-4");
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate26 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate27 :=
- {
- bName := "Behavior_SIP",
- iName := "INVITE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := -1
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate28 :=
- {
- stepName := "SIPAppLib: StepFunction_init",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate29 :=
- {
- stepName := "SIPAppLib: StepFunction_handleINVITE",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate30 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 1
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template UserInput UserInputTemplate31 :=
- {
- input1 := "cancel",
- input2 := ""
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate32 :=
- {
- bName := "Behavior_SIP",
- iName := "CANCEL",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate33 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 5,
-2 },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate34 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 38,
-4 },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate35 :=
- {
- bName := "Behavior_SIP",
- iName := "ACK",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- /* Generated test case #5 */
- testcase Test_Case_5() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicDefaultAlt());
- log("Structural feature: method: main()");
- log("Structural feature: method: SIPClient.SIPClient()");
- log("Structural feature: method: SIPClient.run()");
- log("Structural feature: state: SIPClient.initial-state-0");
- log("Structural feature: transition: SIPClient.initial-state-0->SIPClient.Init-9");
- log("Structural feature: state: SIPClient.Init");
- qtronic_send_UserInput_to_userIn(UserInputTemplate36);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Init->SIPClient.Calling-0");
- log("Structural feature: method: SIPClient.Invite()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate37);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate38);
- oldtimer := 0.0;
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate39);
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Calling");
- log("Structural feature: state: SIPClient.Calling.initial-state-7");
- log("Structural feature: transition: SIPClient.Calling.initial-state-7->SIPClient.Calling.Wait-16");
- log("Structural feature: state: SIPClient.Calling.Wait");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate40);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Calling->SIPClient.Ringing-1");
- log("Structural feature: state: SIPClient.Ringing");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate41);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Ringing->SIPClient.Ready-2");
- log("Structural feature: method: SIPClient.Ack()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate42);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Requirement: requirement: Acknowledge established call with ACK");
- log("Structural feature: state: SIPClient.Ready");
- qtronic_send_UserInput_to_userIn(UserInputTemplate43);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Ready->SIPClient.Terminating-4");
- log("Structural feature: state: SIPClient.Terminating");
- log("Structural feature: state: SIPClient.Terminating.initial-state-9");
- log("Structural feature: transition: SIPClient.Terminating.initial-state-9->SIPClient.Terminating.Wait-17");
- log("Structural feature: method: SIPClient.Bye()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate44);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Terminating.Wait");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate45);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Terminating->SIPClient.final-state-5-5");
- log("Requirement: requirement: Terminating/Wait for OK in response to BYE");
- log("Structural feature: state: SIPClient.final-state-5");
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate36 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate37 :=
- {
- bName := "Behavior_SIP",
- iName := "INVITE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := -1
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate38 :=
- {
- stepName := "SIPAppLib: StepFunction_init",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate39 :=
- {
- stepName := "SIPAppLib: StepFunction_handleINVITE",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate40 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 1
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate41 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 5
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate42 :=
- {
- bName := "Behavior_SIP",
- iName := "ACK",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template UserInput UserInputTemplate43 :=
- {
- input1 := "bye",
- input2 := ""
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate44 :=
- {
- bName := "Behavior_SIP",
- iName := "BYE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate45 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 5
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- /* Generated test case #6 */
- testcase Test_Case_6() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicDefaultAlt());
- log("Structural feature: method: main()");
- log("Structural feature: method: SIPClient.SIPClient()");
- log("Structural feature: method: SIPClient.run()");
- log("Structural feature: state: SIPClient.initial-state-0");
- log("Structural feature: transition: SIPClient.initial-state-0->SIPClient.Init-9");
- log("Structural feature: state: SIPClient.Init");
- qtronic_send_UserInput_to_userIn(UserInputTemplate46);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Init->SIPClient.Calling-0");
- log("Structural feature: method: SIPClient.Invite()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate47);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate48);
- oldtimer := 0.0;
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate49);
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Calling");
- log("Structural feature: state: SIPClient.Calling.initial-state-7");
- log("Structural feature: transition: SIPClient.Calling.initial-state-7->SIPClient.Calling.Wait-16");
- log("Structural feature: state: SIPClient.Calling.Wait");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate50);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Calling->SIPClient.Ringing-1");
- log("Structural feature: state: SIPClient.Ringing");
- qtronic_send_UserInput_to_userIn(UserInputTemplate51);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Ringing->SIPClient.Canceling-12");
- log("Structural feature: state: SIPClient.Canceling");
- log("Structural feature: state: SIPClient.Canceling.initial-state-11");
- log("Structural feature: transition: SIPClient.Canceling.initial-state-11->SIPClient.Canceling.Wait-20");
- log("Structural feature: method: SIPClient.Cancel()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate52);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Canceling.Wait");
- log("Structural feature: transition: SIPClient.Canceling.Wait->SIPClient.Canceling.junction-state-12-21");
- log("Structural feature: method: SIPClient.Cancel()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate53);
- harnessTimer.stop;
- oldtimer := 0.500000000;
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Resends CANCEL after E timeout");
- log("Structural feature: state: SIPClient.Canceling.junction-state-12");
- log("Structural feature: transition: SIPClient.Canceling.junction-state-12->SIPClient.Canceling.Wait-22");
- log("Structural feature: state: SIPClient.Canceling.Wait");
- log("Structural feature: transition: SIPClient.Canceling.Wait->SIPClient.Canceling.junction-state-12-21");
- log("Structural feature: method: SIPClient.Cancel()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((1.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate54);
- harnessTimer.stop;
- oldtimer := 1.500000000;
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Resends CANCEL after E timeout");
- log("Structural feature: state: SIPClient.Canceling.junction-state-12");
- log("Structural feature: transition: SIPClient.Canceling.junction-state-12->SIPClient.Canceling.Wait-22");
- log("Structural feature: state: SIPClient.Canceling.Wait");
- log("Structural feature: transition: SIPClient.Canceling.Wait->SIPClient.Canceling.junction-state-12-21");
- log("Structural feature: method: SIPClient.Cancel()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((3.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate55);
- harnessTimer.stop;
- oldtimer := 3.500000000;
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Resends CANCEL after E timeout");
- log("Structural feature: state: SIPClient.Canceling.junction-state-12");
- log("Structural feature: transition: SIPClient.Canceling.junction-state-12->SIPClient.Canceling.Wait-22");
- log("Structural feature: state: SIPClient.Canceling.Wait");
- log("Structural feature: transition: SIPClient.Canceling.Wait->SIPClient.Canceling.junction-state-12-21");
- log("Structural feature: method: SIPClient.Cancel()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((7.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate56);
- harnessTimer.stop;
- oldtimer := 7.500000000;
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Resends CANCEL after E timeout");
- log("Structural feature: state: SIPClient.Canceling.junction-state-12");
- log("Structural feature: transition: SIPClient.Canceling.junction-state-12->SIPClient.Canceling.Wait-22");
- log("Structural feature: state: SIPClient.Canceling.Wait");
- log("Structural feature: transition: SIPClient.Canceling->SIPClient.final-state-2-13");
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Terminates CANCEL cycle after F timeout");
- log("Structural feature: method: SIPClient.TimeOut()");
- harnessTimer.start((8.0 - oldtimer) + SLACK);
- qtronic_receive_TimeOutIndication_from_userOut(TimeOutIndicationTemplate57);
- harnessTimer.stop;
- oldtimer := 8.0;
- log("Structural feature: state: SIPClient.final-state-2");
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate46 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate47 :=
- {
- bName := "Behavior_SIP",
- iName := "INVITE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := -1
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate48 :=
- {
- stepName := "SIPAppLib: StepFunction_init",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate49 :=
- {
- stepName := "SIPAppLib: StepFunction_handleINVITE",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate50 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 1
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template UserInput UserInputTemplate51 :=
- {
- input1 := "cancel",
- input2 := ""
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate52 :=
- {
- bName := "Behavior_SIP",
- iName := "CANCEL",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate53 :=
- {
- bName := "Behavior_SIP",
- iName := "CANCEL",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate54 :=
- {
- bName := "Behavior_SIP",
- iName := "CANCEL",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate55 :=
- {
- bName := "Behavior_SIP",
- iName := "CANCEL",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate56 :=
- {
- bName := "Behavior_SIP",
- iName := "CANCEL",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template TimeOutIndication TimeOutIndicationTemplate57 :=
- {
-
- }
- /* Generated test case #7 */
- testcase Test_Case_7() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicDefaultAlt());
- log("Structural feature: method: main()");
- log("Structural feature: method: SIPClient.SIPClient()");
- log("Structural feature: method: SIPClient.run()");
- log("Structural feature: state: SIPClient.initial-state-0");
- log("Structural feature: transition: SIPClient.initial-state-0->SIPClient.Init-9");
- log("Structural feature: state: SIPClient.Init");
- qtronic_send_UserInput_to_userIn(UserInputTemplate58);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Init->SIPClient.Calling-0");
- log("Structural feature: method: SIPClient.Invite()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate59);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate60);
- oldtimer := 0.0;
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate61);
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Calling");
- log("Structural feature: state: SIPClient.Calling.initial-state-7");
- log("Structural feature: transition: SIPClient.Calling.initial-state-7->SIPClient.Calling.Wait-16");
- log("Structural feature: state: SIPClient.Calling.Wait");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate62);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Calling->SIPClient.Ringing-1");
- log("Structural feature: state: SIPClient.Ringing");
- qtronic_send_EPTF_MBT_TestStepRequest_to_fwIn(EPTF_MBT_TestStepRequestTemplate63);
- oldtimer := 0.0;
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: method: SIPClient.incomingResponse(int)");
- log("Structural feature: method: c_EPTF_MBT_TestStepRequest_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- log("Structural feature: method: f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int)");
- log("Structural feature: transition: SIPClient.Ringing->SIPClient.Ready-2");
- log("Structural feature: method: SIPClient.Ack()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate64);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Requirement: requirement: Acknowledge established call with ACK");
- log("Structural feature: state: SIPClient.Ready");
- qtronic_send_UserInput_to_userIn(UserInputTemplate65);
- oldtimer := 0.0;
- log("Structural feature: transition: SIPClient.Ready->SIPClient.Terminating-4");
- log("Structural feature: state: SIPClient.Terminating");
- log("Structural feature: state: SIPClient.Terminating.initial-state-9");
- log("Structural feature: transition: SIPClient.Terminating.initial-state-9->SIPClient.Terminating.Wait-17");
- log("Structural feature: method: SIPClient.Bye()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate66);
- harnessTimer.stop;
- oldtimer := 0.0;
- log("Structural feature: state: SIPClient.Terminating.Wait");
- log("Structural feature: transition: SIPClient.Terminating.Wait->SIPClient.Terminating.junction-state-10-18");
- log("Structural feature: method: SIPClient.Bye()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((0.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate67);
- harnessTimer.stop;
- oldtimer := 0.500000000;
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Resends BYE after E timeout");
- log("Structural feature: state: SIPClient.Terminating.junction-state-10");
- log("Structural feature: transition: SIPClient.Terminating.junction-state-10->SIPClient.Terminating.Wait-19");
- log("Structural feature: state: SIPClient.Terminating.Wait");
- log("Structural feature: transition: SIPClient.Terminating.Wait->SIPClient.Terminating.junction-state-10-18");
- log("Structural feature: method: SIPClient.Bye()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((1.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate68);
- harnessTimer.stop;
- oldtimer := 1.500000000;
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Resends BYE after E timeout");
- log("Structural feature: state: SIPClient.Terminating.junction-state-10");
- log("Structural feature: transition: SIPClient.Terminating.junction-state-10->SIPClient.Terminating.Wait-19");
- log("Structural feature: state: SIPClient.Terminating.Wait");
- log("Structural feature: transition: SIPClient.Terminating.Wait->SIPClient.Terminating.junction-state-10-18");
- log("Structural feature: method: SIPClient.Bye()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((3.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate69);
- harnessTimer.stop;
- oldtimer := 3.500000000;
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Resends BYE after E timeout");
- log("Structural feature: state: SIPClient.Terminating.junction-state-10");
- log("Structural feature: transition: SIPClient.Terminating.junction-state-10->SIPClient.Terminating.Wait-19");
- log("Structural feature: state: SIPClient.Terminating.Wait");
- log("Structural feature: transition: SIPClient.Terminating.Wait->SIPClient.Terminating.junction-state-10-18");
- log("Structural feature: method: SIPClient.Bye()");
- log("Structural feature: method: c_EPTF_MBT_TestStepResponse_empty()");
- log("Structural feature: method: c_EPTF_FsmAddr_empty()");
- harnessTimer.start((7.500000000 - oldtimer) + SLACK);
- qtronic_receive_EPTF_MBT_TestStepResponse_from_fwOut(EPTF_MBT_TestStepResponseTemplate70);
- harnessTimer.stop;
- oldtimer := 7.500000000;
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Resends BYE after E timeout");
- log("Structural feature: state: SIPClient.Terminating.junction-state-10");
- log("Structural feature: transition: SIPClient.Terminating.junction-state-10->SIPClient.Terminating.Wait-19");
- log("Structural feature: state: SIPClient.Terminating.Wait");
- log("Structural feature: transition: SIPClient.Terminating->SIPClient.final-state-1-11");
- log("Requirement: requirement: 17.1.2.2 Non-INVITE timers/Terminates BYE cycle after F timeout");
- log("Structural feature: method: SIPClient.TimeOut()");
- harnessTimer.start((8.0 - oldtimer) + SLACK);
- qtronic_receive_TimeOutIndication_from_userOut(TimeOutIndicationTemplate71);
- harnessTimer.stop;
- oldtimer := 8.0;
- log("Structural feature: state: SIPClient.final-state-1");
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate58 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate59 :=
- {
- bName := "Behavior_SIP",
- iName := "INVITE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := -1
- }
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate60 :=
- {
- stepName := "SIPAppLib: StepFunction_init",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate61 :=
- {
- stepName := "SIPAppLib: StepFunction_handleINVITE",
- stepArgs := {
-
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate62 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 1
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepRequest EPTF_MBT_TestStepRequestTemplate63 :=
- {
- stepName := "SIPAppLib: StepFunction_createResponse",
- stepArgs := {
- 5
- },
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- },
- lock := -1
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate64 :=
- {
- bName := "Behavior_SIP",
- iName := "ACK",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template UserInput UserInputTemplate65 :=
- {
- input1 := "bye",
- input2 := ""
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate66 :=
- {
- bName := "Behavior_SIP",
- iName := "BYE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate67 :=
- {
- bName := "Behavior_SIP",
- iName := "BYE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate68 :=
- {
- bName := "Behavior_SIP",
- iName := "BYE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate69 :=
- {
- bName := "Behavior_SIP",
- iName := "BYE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template EPTF_MBT_TestStepResponse EPTF_MBT_TestStepResponseTemplate70 :=
- {
- bName := "Behavior_SIP",
- iName := "BYE",
- addr := {
- entityGroupName := "MBT_EntityType",
- eIdx := 0,
- fIdx := 0
- }
- }
- template TimeOutIndication TimeOutIndicationTemplate71 :=
- {
-
- }
- control
- {
- execute(Test_Case_1());
- execute(Test_Case_2());
- execute(Test_Case_3());
- execute(Test_Case_4());
- execute(Test_Case_5());
- execute(Test_Case_6());
- execute(Test_Case_7());
- }
-}
diff --git a/demo/direct/MBT_Qtronic_Types.ttcn b/demo/direct/MBT_Qtronic_Types.ttcn
deleted file mode 100644
index b721553..0000000
--- a/demo/direct/MBT_Qtronic_Types.ttcn
+++ /dev/null
@@ -1,71 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Types.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-/* -*- ttcn3 -*- */
-
-/** @file C:\Users\eantwuh\workspace\SIPsim\MBT_Qtronic_Types.ttcn
- *
- * @author Conformiq TTCN3 Script Backend 0.1
- * @date Thu Sep 30 14:15:29 CEST 2010
- *
- * WARNING! This file has been automatically generated using
- * Ericsson Qtronic TTCN3 Script Backend (based on the original Conformiq Backend).DO NOT EDIT.
- */
-
-module MBT_Qtronic_Types
-{
- /* User provided imports begin */
- import from MBT_Qtronic_Demo all; import from EPTF_MBT_LGen_Definitions all;
- /* User provided imports end */
- type port userInPort message
- {
- inout UserInput;
- } with {extension "internal"}
- type port userOutPort message
- {
- inout TimeOutIndication;
- } with {extension "internal"}
- type record SIPReq
- {
- charstring op,
- charstring param_
- }
- type record SIPResp
- {
- integer status,
- charstring cseq
- }
- type record UserInput
- {
- charstring input1,
- charstring input2
- }
- type record AnyRecord
- {
-
- }
- type record TimeOutIndication
- {
-
- }
- type component Qtronic_CT extends MBT_Qtronic_Demo_Main_CT
- {
- port userInPort userIn;
- port userOutPort userOut;
- timer harnessTimer := 0.0;
- }
-}
diff --git a/demo/direct/model/EPTF_MBT_Framework.java b/demo/direct/model/EPTF_MBT_Framework.java
deleted file mode 100644
index bd2b266..0000000
--- a/demo/direct/model/EPTF_MBT_Framework.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ====================================================
- * MBT Applib API
- */
-
-record EPTF_MBT_TestStepRequest
-{
- public String stepName;
- int[] stepArgs;
- EPTF_FsmAddr addr;
- int lock;
-}
-
-EPTF_MBT_TestStepRequest c_EPTF_MBT_TestStepRequest_empty()
-{
- EPTF_MBT_TestStepRequest ret;
- ret.stepName = "";
- ret.stepArgs = {};
- ret.addr = c_EPTF_FsmAddr_empty();
- ret.lock = -1;
- return ret;
-};
-
-record EPTF_MBT_TestStepResponse
-{
- public String bName;
- public String iName;
- EPTF_FsmAddr addr;
-}
-
-EPTF_MBT_TestStepResponse c_EPTF_MBT_TestStepResponse_empty()
-{
- EPTF_MBT_TestStepResponse ret;
- ret.bName = "";
- ret.iName = "";
- ret.addr = c_EPTF_FsmAddr_empty();
- return ret;
-};
-
-record EPTF_FsmAddr
-{
- public String entityGroupName;
- public int eIdx;
- public int fIdx;
-}
-
-EPTF_FsmAddr c_EPTF_FsmAddr_empty()
-{
- EPTF_FsmAddr ret;
- ret.entityGroupName = "MBT_EntityType";
- ret.eIdx = 0;
- ret.fIdx = 0;
- return ret;
-};
-
-record EPTF_IntegerList {}
diff --git a/demo/direct/model/EPTF_MBT_SIP_Applib.java b/demo/direct/model/EPTF_MBT_SIP_Applib.java
deleted file mode 100644
index 8df3b39..0000000
--- a/demo/direct/model/EPTF_MBT_SIP_Applib.java
+++ /dev/null
@@ -1,30 +0,0 @@
-String c_SIP_Behavior = "Behavior_SIP";
-
-// Events
-String c_SIP_eventName_INVITE = "INVITE";
-String c_SIP_eventName_CANCEL = "CANCEL";
-String c_SIP_eventName_ACK = "ACK";
-String c_SIP_eventName_BYE = "BYE";
-String c_SIP_eventName_RetransmittedRequest = "Retransmitted request";
-
-// TestSteps
-String c_SIP_stepFunction_createResponse = "SIPAppLib: StepFunction_createResponse";
-String c_SIP_stepFunction_createBYE = "SIPAppLib: StepFunction_createBYE";
-String c_SIP_stepFunction_init = "SIPAppLib: StepFunction_init";
-String c_SIP_stepFunction_handleINVITE = "SIPAppLib: StepFunction_handleINVITE";
-
-// Methods
-int c_SIP_Method_CANCEL = 2;
-int c_SIP_Method_INVITE = 4;
-
-int f_EPTF_SIP_mapAnswerCode2SipTemplateCode(int p_answerCode)
-{
- if (p_answerCode == 180)
- return 1;
- else if (p_answerCode == 486)
- return 37;
- else if (p_answerCode == 200)
- return 5;
- else if (p_answerCode == 487)
- return 38;
-} \ No newline at end of file
diff --git a/demo/direct/model/SIPClient.java b/demo/direct/model/SIPClient.java
deleted file mode 100644
index 0e0330f..0000000
--- a/demo/direct/model/SIPClient.java
+++ /dev/null
@@ -1,185 +0,0 @@
-system
-{
- Inbound userIn : UserInput;
- Outbound userOut : TimeOutIndication;
- Inbound fwIn : EPTF_MBT_TestStepRequest;
- Outbound fwOut : EPTF_MBT_TestStepResponse;
-}
-
-/* ====================================================
- * Message Definitions
- */
-record TimeOutIndication { }
-
-record UserInput
-{
- public String input1;
- public String input2;
-}
-
-record SIPResp
-{
- public int status;
- public String cseq;
-}
-
-record SIPReq
-{
- public String op;
- public String param;
-}
-
-
-/* ====================================================
- * SIPClient
- */
-
-class SIPClient extends StateMachine {
-
- const float T1 = 0.5; // For UDP transport
-
- public float timeoutA = T1; // 17.1.1.2
- public float timeoutB = 16 * T1; // 17.1.1.2
- public float timeoutE = T1; // 17.1.2.2
- public float timeoutF = 16 * T1; // 17.1.2.2
-
- public boolean initialized = false;
-
-
- /* -----------------------------------------
- * SIP addresses
- * src = caller, dst = callee
- */
-
- public String src = "sip:127.0.0.1";
- public String dst = "sip:127.0.0.1:5061";
-
- /* -----------------------------------------
- * Methods to send SIP messages to network.
- */
-
- public EPTF_MBT_TestStepRequest incomingRequest(String p_stepName)
- {
- EPTF_MBT_TestStepRequest r = c_EPTF_MBT_TestStepRequest_empty();
- r.stepName = p_stepName;
- r.stepArgs = {};
- r.addr.entityGroupName = "MBT_EntityType";
- r.addr.eIdx = 0;
- r.addr.fIdx = 0;
-
- return r;
- }
-
- public EPTF_MBT_TestStepRequest incomingResponse(int p_answerCode)
- {
- EPTF_MBT_TestStepRequest r = c_EPTF_MBT_TestStepRequest_empty();
- r.stepName = c_SIP_stepFunction_createResponse;
- r.stepArgs = {f_EPTF_SIP_mapAnswerCode2SipTemplateCode(p_answerCode)};
- r.addr.entityGroupName = "MBT_EntityType";
- r.addr.eIdx = 0;
- r.addr.fIdx = 0;
-
- return r;
- }
-
- public EPTF_MBT_TestStepRequest incomingResponse(int p_answerCode, int p_methodCode)
- {
- EPTF_MBT_TestStepRequest r = c_EPTF_MBT_TestStepRequest_empty();
- r.stepName = c_SIP_stepFunction_createResponse;
- r.stepArgs = {f_EPTF_SIP_mapAnswerCode2SipTemplateCode(p_answerCode), p_methodCode};
- r.addr.entityGroupName = "MBT_EntityType";
- r.addr.eIdx = 0;
- r.addr.fIdx = 0;
-
- return r;
- }
-
- public void Invite() {
- EPTF_MBT_TestStepResponse r = c_EPTF_MBT_TestStepResponse_empty();
- r.bName = c_SIP_Behavior;
- r.iName = c_SIP_eventName_INVITE;
- r.addr.fIdx = -1;
- fwOut.send(r, 1.0);
-
- if (!initialized)
- {
- EPTF_MBT_TestStepRequest req = c_EPTF_MBT_TestStepRequest_empty();;
- req.stepName = c_SIP_stepFunction_init;
- req.stepArgs = {};
- req.addr.entityGroupName = "MBT_EntityType";
- req.addr.eIdx = 0;
- req.addr.fIdx = 0;
- AnyRecord a = fwIn.receive();
- require a == req;
-
- req.stepName = c_SIP_stepFunction_handleINVITE;
- req.stepArgs = {};
- req.addr.entityGroupName = "MBT_EntityType";
- req.addr.eIdx = 0;
- req.addr.fIdx = 0;
- a = fwIn.receive();
- require a == req;
-
- initialized = true;
- }
- }
-
- protected void Cancel() {
- EPTF_MBT_TestStepResponse r = c_EPTF_MBT_TestStepResponse_empty();
- r.bName = c_SIP_Behavior;
- r.iName = c_SIP_eventName_CANCEL;
- fwOut.send(r, 1.0);
- }
-
- protected void Ack() {
- EPTF_MBT_TestStepResponse r = c_EPTF_MBT_TestStepResponse_empty();
- r.bName = c_SIP_Behavior;
- r.iName = c_SIP_eventName_ACK;
- fwOut.send(r, 1.0);
- }
-
- protected void Bye() {
- EPTF_MBT_TestStepResponse r = c_EPTF_MBT_TestStepResponse_empty();
- r.bName = c_SIP_Behavior;
- r.iName = c_SIP_eventName_BYE;
- fwOut.send(r, 1.0);
- }
-
- protected void RetransmittedRequest()
- {
- EPTF_MBT_TestStepResponse r = c_EPTF_MBT_TestStepResponse_empty();
- r.bName = c_SIP_Behavior;
- r.iName = c_SIP_eventName_RetransmittedRequest;
- fwOut.send(r, 1.0);
- }
-
- protected void SendOK(String cseq) {
- EPTF_MBT_TestStepResponse r = c_EPTF_MBT_TestStepResponse_empty();
- r.bName = c_SIP_Behavior;
- r.iName = "200";
- fwOut.send(r, 1.0);
- }
-
-
- /* -----------------------------------------
- * Methods to provide indications to the
- * user interface.
- */
- private void TimeOut()
- {
- // Indicate timeout
- TimeOutIndication timeout;
- userOut.send(timeout);
- }
-}
-
-
-/* ====================================================
- * main() - Starting Point
- */
-
-void main()
-{
- var a = new SIPClient();
- a.start();
-} \ No newline at end of file
diff --git a/demo/direct/model/SIPClient.xmi b/demo/direct/model/SIPClient.xmi
deleted file mode 100644
index 976f300..0000000
--- a/demo/direct/model/SIPClient.xmi
+++ /dev/null
@@ -1,326 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<n1:Project xmlns:n1="http://www.conformiq.com/EMF/SimpleStatechart" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
- <statemachine name="SIPClient">
- <transitions body="userIn:UserInput&#xA;[msg.input1==&quot;invite&quot; &amp;&amp; msg.input2==dst]&#xA;/&#xA;Invite();" from="//@statemachine.0/@states.0" to="//@statemachine.0/@states.1"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest&#xA;[msg==incomingResponse(180)]/&#xA;require true;" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.12"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest&#xA;[msg == incomingResponse(200)]&#xA;/Ack();&#xA;requirement &quot;Acknowledge established call with ACK&quot;;" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.2"/>
- <transitions body="after(timeoutB)/&#xA;requirement &quot;17.1.1.2 INVITE timers/Terminates INVITE cycle after B timeout&quot;;&#xA;TimeOut();" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.5"/>
- <transitions body="userIn:UserInput&#xA;[msg.input1==&quot;bye&quot;]/" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.3"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest&#xA;[msg==incomingResponse(200)]/&#xA;requirement &quot;Terminating/Wait for OK in response to BYE&quot;;" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.10"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest&#xA;[msg==incomingRequest(c_SIP_stepFunction_createBYE)]&#xA;/SendOK(&quot;BYE&quot;);&#xA;requirement &quot;Terminating/Send OK in response to BYE&quot;;" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.8"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest&#xA;[msg==incomingResponse(486)]&#xA;/Ack();" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.11"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest&#xA;[msg==incomingResponse(487, c_SIP_Method_INVITE)]&#xA;/&#xA;Ack();" from="//@statemachine.0/@states.13" to="//@statemachine.0/@states.9"/>
- <transitions body="/ setThreadName(&quot;SIP UAC&quot;);" from="//@statemachine.0/@states.4" to="//@statemachine.0/@states.0"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest&#xA;[msg==incomingResponse(200, c_SIP_Method_CANCEL)]&#xA;/" from="//@statemachine.0/@states.6" to="//@statemachine.0/@states.13"/>
- <transitions body="after(timeoutF)/&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Terminates BYE cycle after F timeout&quot;;&#xA;TimeOut();" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.5"/>
- <transitions body="userIn:UserInput&#xA;[msg.input1==&quot;cancel&quot;]/" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.6"/>
- <transitions body="after(timeoutF)/&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Terminates CANCEL cycle after F timeout&quot;;&#xA;TimeOut();" from="//@statemachine.0/@states.6" to="//@statemachine.0/@states.7"/>
- <states internal="" name="Init" xsi:type="n1:BasicState"/>
- <states internal="" name="Calling" xsi:type="n1:BasicState">
- <transitions body="after(timeoutA)/&#xA;//Invite();&#xA;RetransmittedRequest();&#xA;timeoutA = timeoutA * 2.0;&#xA;requirement &quot;17.1.1.2 INVITE timers/Resends INVITE after A timeout&quot;;" from="//@statemachine.0/@states.1/@states.1" to="//@statemachine.0/@states.1/@states.2"/>
- <transitions body="" from="//@statemachine.0/@states.1/@states.2" to="//@statemachine.0/@states.1/@states.1"/>
- <transitions body="/timeoutA = T1;" from="//@statemachine.0/@states.1/@states.0" to="//@statemachine.0/@states.1/@states.1"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="" name="Wait" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:Junction"/>
- </states>
- <states internal="" name="Ready" xsi:type="n1:BasicState"/>
- <states internal="" name="Terminating" xsi:type="n1:BasicState">
- <transitions body="/Bye();&#xA;timeoutE = T1;" from="//@statemachine.0/@states.3/@states.0" to="//@statemachine.0/@states.3/@states.1"/>
- <transitions body="after(timeoutE)/&#xA;Bye();&#xA;//RetransmittedRequest();&#xA;timeoutE = timeoutE * 2.0;&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Resends BYE after E timeout&quot;;" from="//@statemachine.0/@states.3/@states.1" to="//@statemachine.0/@states.3/@states.2"/>
- <transitions body="" from="//@statemachine.0/@states.3/@states.2" to="//@statemachine.0/@states.3/@states.1"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="" name="Wait" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:Junction"/>
- </states>
- <states xsi:type="n1:InitialState"/>
- <states xsi:type="n1:FinalState"/>
- <states internal="" name="Canceling" xsi:type="n1:BasicState">
- <transitions body="/Cancel();&#xA;timeoutE = T1;" from="//@statemachine.0/@states.6/@states.0" to="//@statemachine.0/@states.6/@states.1"/>
- <transitions body="after(timeoutE)/&#xA;Cancel();&#xA;timeoutE = timeoutE * 2.0;&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Resends CANCEL after E timeout&quot;;" from="//@statemachine.0/@states.6/@states.1" to="//@statemachine.0/@states.6/@states.2"/>
- <transitions body="" from="//@statemachine.0/@states.6/@states.2" to="//@statemachine.0/@states.6/@states.1"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="" name="Wait" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:Junction"/>
- </states>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:FinalState"/>
- <states internal="" name="Ringing" xsi:type="n1:BasicState"/>
- <states internal="" name="Waiting Response" xsi:type="n1:BasicState"/>
- </statemachine>
-
- <diagrams statemachine="//@statemachine.0">
- <items height="50" state="//@statemachine.0/@states.0" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-600" y="-300"/>
- </items>
- <items height="50" state="//@statemachine.0/@states.1" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-603" y="-102"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.2" width="200" xsi:type="n1:DiagramBasicState">
- <location x="100" y="150"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.3" width="150" xsi:type="n1:DiagramBasicState">
- <location x="-250" y="250"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-540" y="-176"/>
- <route x="-550" y="-250"/>
- <route x="-550" y="-102"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-314.5" y="-78"/>
- <route x="-503" y="-77"/>
- <route x="-100" y="-77"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="0" x="417.917" y="3.888"/>
- <route x="0" y="0"/>
- <route x="200" y="0"/>
- <route x="200" y="150"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.3" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-540" y="112.953"/>
- <route x="-550" y="-52"/>
- <route x="-550" y="277.906"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.4" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="0" x="-15.5" y="216"/>
- <route x="100" y="200"/>
- <route x="-175" y="200"/>
- <route x="-175" y="250"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.5" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-172" y="416"/>
- <route x="-182" y="350"/>
- <route x="-182" y="482"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.6" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="210" y="315"/>
- <route x="200" y="250"/>
- <route x="200" y="380"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.7" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-228" y="21"/>
- <route x="-100" y="50"/>
- <route x="-330" y="50"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.8" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="685" y="202.5"/>
- <route x="675" y="150"/>
- <route x="675" y="255"/>
- </items>
- <items state="//@statemachine.0/@states.4" xsi:type="n1:DiagramInitialState">
- <location x="-550" y="-350"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.9" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-540" y="-315"/>
- <route x="-550" y="-330"/>
- <route x="-550" y="-300"/>
- </items>
- <items state="//@statemachine.0/@states.5" xsi:type="n1:DiagramFinalState">
- <location x="-550" y="297.906"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.10" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="685" y="25"/>
- <route x="675" y="-50"/>
- <route x="675" y="100"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.11" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-425.57" y="400.906"/>
- <route x="-250" y="298.763"/>
- <route x="-530" y="297.963"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.6" width="150" xsi:type="n1:DiagramBasicState">
- <location x="600" y="-150"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.12" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="300" y="-87.5"/>
- <route x="0" y="-77.5"/>
- <route x="600" y="-77.5"/>
- </items>
- <items state="//@statemachine.0/@states.7" xsi:type="n1:DiagramFinalState">
- <location x="675" y="-275.13"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.13" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="536.844" y="-195.261"/>
- <route x="675" y="-150"/>
- <route x="675" y="-255.13"/>
- </items>
- <items state="//@statemachine.0/@states.8" xsi:type="n1:DiagramFinalState">
- <location x="200" y="400"/>
- </items>
- <items state="//@statemachine.0/@states.9" xsi:type="n1:DiagramFinalState">
- <location x="675" y="275"/>
- </items>
- <items state="//@statemachine.0/@states.10" xsi:type="n1:DiagramFinalState">
- <location x="-182" y="502"/>
- </items>
- <items state="//@statemachine.0/@states.11" xsi:type="n1:DiagramFinalState">
- <location x="-350" y="50"/>
- </items>
- <items height="250" state="//@statemachine.0/@states.12" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-100" y="-150"/>
- </items>
- <items height="50" state="//@statemachine.0/@states.13" width="150" xsi:type="n1:DiagramBasicState">
- <location x="600" y="100"/>
- </items>
- <items height="120" note="Triggered by user action, send INVITE request. (We are initiating a new call.)" width="161" xsi:type="n1:DiagramNote">
- <location x="-838" y="-142"/>
- </items>
- <items autolayout="false" item="//@diagrams.0/@items.1" note="//@diagrams.0/@items.28" xsi:type="n1:DiagramNoteConnector">
- <route x="-677" y="-77"/>
- <route x="-603" y="-77"/>
- </items>
- <items height="76" note="21.1.2 180 Ringing&#xA;waiting for other end to answer" width="174" xsi:type="n1:DiagramNote">
- <location x="-100" y="-300"/>
- </items>
- <items autolayout="false" item="//@diagrams.0/@items.26" note="//@diagrams.0/@items.30" xsi:type="n1:DiagramNoteConnector">
- <route x="-50" y="-224"/>
- <route x="-50" y="-150"/>
- </items>
- <items height="131" note="It is ringing, but we want to cancel (hang-up) before other end answers" width="169" xsi:type="n1:DiagramNote">
- <location x="250" y="-321"/>
- </items>
- <items autolayout="false" note="//@diagrams.0/@items.32" xsi:type="n1:DiagramNoteConnector">
- <route x="327" y="-190"/>
- <route x="327" y="-80"/>
- </items>
- <items height="84" note="Now we can speak with other end" width="143" xsi:type="n1:DiagramNote">
- <location x="-35" y="275"/>
- </items>
- <items autolayout="false" item="//@diagrams.0/@items.2" note="//@diagrams.0/@items.34" xsi:type="n1:DiagramNoteConnector">
- <route x="88" y="275"/>
- <route x="120" y="250"/>
- </items>
- <items height="66" note="21.4.24 486 Busy Here&#xA;Callee rejects call" width="179" xsi:type="n1:DiagramNote">
- <location x="-536" y="-44"/>
- </items>
- <items autolayout="false" item="//@diagrams.0/@items.25" note="//@diagrams.0/@items.36" xsi:type="n1:DiagramNoteConnector">
- <route x="-377" y="22"/>
- <route x="-363.883" y="35.6031"/>
- </items>
- <items height="52" note="2.1.4.25 487 Request Terminated&#xA;call is now terminated" width="257" xsi:type="n1:DiagramNote">
- <location x="370" y="168"/>
- </items>
- <items autolayout="false" note="//@diagrams.0/@items.38" xsi:type="n1:DiagramNoteConnector">
- <route x="627" y="200"/>
- <route x="675" y="202"/>
- </items>
- <items height="69" note="Paragraph numbers in comments and requiremnts refer to RFC 3261 SIP: Session Initiation Protocol" width="307" xsi:type="n1:DiagramNote">
- <location x="-238" y="-433"/>
- </items>
- </diagrams>
-
- <diagrams substate="//@statemachine.0/@states.3">
- <items state="//@statemachine.0/@states.3/@states.0" xsi:type="n1:DiagramInitialState">
- <location x="-1200" y="-200"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.3/@states.1" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-1000" y="-250"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.3/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-1090" y="-210"/>
- <route x="-1180" y="-200"/>
- <route x="-1000" y="-200"/>
- </items>
- <items state="//@statemachine.0/@states.3/@states.2" xsi:type="n1:DiagramJunction">
- <location x="-599" y="-64"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.3/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="-94" constraintLeft="-880" valign="0" x="-749.5" y="-190"/>
- <route x="-900" y="-200"/>
- <route x="-599" y="-200"/>
- <route x="-599" y="-74"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.3/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintRight="-629" constraintTop="-130" valign="1" x="-779.5" y="-74"/>
- <route x="-609" y="-64"/>
- <route x="-950" y="-64"/>
- <route x="-950" y="-150"/>
- </items>
- <items height="150" note="Re-send BYE message after time-out and increase value of timer E according to RFC 3261 17.1.2 Non-INVITE Client Transaction." width="350" xsi:type="n1:DiagramNote">
- <location x="-1100" y="-50"/>
- </items>
- <items autolayout="false" item="//@diagrams.1/@items.3" note="//@diagrams.1/@items.6" xsi:type="n1:DiagramNoteConnector">
- <route x="-750" y="-30"/>
- <route x="-608.756" y="-61.8033"/>
- </items>
- </diagrams>
-
- <diagrams selected="//@diagrams.2/@items.2" substate="//@statemachine.0/@states.1">
- <items state="//@statemachine.0/@states.1/@states.0" xsi:type="n1:DiagramInitialState">
- <location x="-1200" y="-300"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.1/@states.1" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-1000" y="-350"/>
- </items>
- <items state="//@statemachine.0/@states.1/@states.2" xsi:type="n1:DiagramJunction">
- <location x="-613" y="-163"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.1/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="-193" constraintLeft="-880" valign="0" x="-756.5" y="-290"/>
- <route x="-900" y="-300"/>
- <route x="-613" y="-300"/>
- <route x="-613" y="-173"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.1/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintRight="-643" constraintTop="-230" valign="1" x="-786.5" y="-173"/>
- <route x="-623" y="-163"/>
- <route x="-950" y="-163"/>
- <route x="-950" y="-250"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.1/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-1090" y="-310"/>
- <route x="-1180" y="-300"/>
- <route x="-1000" y="-300"/>
- </items>
- <items height="150" note="Re-send INVITE message after time-out and increase value of timer A according to RFC 3261 17.1.1 INVITE Client Transaction." width="350" xsi:type="n1:DiagramNote">
- <location x="-1100" y="-150"/>
- </items>
- <items autolayout="false" item="//@diagrams.2/@items.2" note="//@diagrams.2/@items.6" xsi:type="n1:DiagramNoteConnector">
- <route x="-750" y="-130"/>
- <route x="-622.722" y="-160.658"/>
- </items>
- </diagrams>
-
- <diagrams selected="//@diagrams.3/@items.3" substate="//@statemachine.0/@states.6">
- <items state="//@statemachine.0/@states.6/@states.0" xsi:type="n1:DiagramInitialState">
- <location x="-1300" y="-300"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.6/@states.1" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-1100" y="-350"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.6/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-1190" y="-310"/>
- <route x="-1280" y="-300"/>
- <route x="-1100" y="-300"/>
- </items>
- <items state="//@statemachine.0/@states.6/@states.2" xsi:type="n1:DiagramJunction">
- <location x="-698" y="-179"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.6/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="-209" constraintLeft="-980" valign="0" x="-849" y="-290"/>
- <route x="-1000" y="-300"/>
- <route x="-698" y="-300"/>
- <route x="-698" y="-189"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.6/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintRight="-728" constraintTop="-230" valign="1" x="-879" y="-189"/>
- <route x="-708" y="-179"/>
- <route x="-1050" y="-179"/>
- <route x="-1050" y="-250"/>
- </items>
- <items height="150" note="Re-send CANCEL message after time-out and increase value of timer E according to RFC 3261 17.1.2 Non-INVITE Client Transaction." width="350" xsi:type="n1:DiagramNote">
- <location x="-1200" y="-150"/>
- </items>
- <items autolayout="false" item="//@diagrams.3/@items.3" note="//@diagrams.3/@items.6" xsi:type="n1:DiagramNoteConnector">
- <route x="-850" y="-130"/>
- <route x="-707.518" y="-175.932"/>
- </items>
- </diagrams>
-
-</n1:Project>
diff --git a/demo/ggsn/MBT_Qtronic_Demo.cfg b/demo/ggsn/MBT_Qtronic_Demo.cfg
deleted file mode 100644
index aea2253..0000000
--- a/demo/ggsn/MBT_Qtronic_Demo.cfg
+++ /dev/null
@@ -1,181 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2009 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Demo.cfg
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-[DEFINE]
-//num_entities := 1
-//Number of simulated entities
-
-[LOGGING]
-ConsoleMask := TTCN_ERROR | TTCN_STATISTICS | TTCN_ACTION | TTCN_WARNING
-#FileMask := LOG_ALL | TTCN_DEBUG | TTCN_USER | TTCN_PORTEVENT
-FileMask := TTCN_USER | TTCN_ERROR | TTCN_WARNING
-#FileMask := ERROR | STATISTICS | PARALLEL | ACTION | WARNING
-#LogFile := "%l/%e.%h-%t%r.%s"
-LogEntityName := Yes
-LogEventTypes := Yes//Subcategories;
-SourceInfoFormat := Stack
-
-[TESTPORT_PARAMETERS]
-//*.*.debug := "YES";
-
-[MODULE_PARAMETERS]
-
-
-/////////////////////////////////////////////////
-// Logging settings
-/////////////////////////////////////////////////
-tsp_Mapper_enableDebug := false;
-
-tsp_debug_EPTF_SchedulerFunctions := false;
-tsp_debugVerbose_EPTF_SchedulerFunctions := false;
-
-tsp_EPTF_LGenBaseDebugTraffic := false;
-tsp_EPTF_LGenBaseDebug := false;
-
-tsp_EPTF_MBT_LGen_debug := false;
-
-tsp_EPTF_GTP_loggingEnable := false;
-tsp_EPTF_GTP_Transport_loggingDebug := false;
-tsp_EPTF_GTP_Transport_loggingIO := true;
-
-tsp_EPTF_LANL2_loggingEnable := false;
-tsp_EPTF_LANL2_Transport_loggingEnable := false;
-
-/////////////////////////////////////////////////
-// GTP settings
-/////////////////////////////////////////////////
-#tsp_EPTF_GTP_localIP := "127.0.0.1";
-tsp_EPTF_GTP_localIP := "10.160.46.161";
-tsp_EPTF_GTP_localControlPort := 2123;
-tsp_EPTF_GTP_localDataPort := 2152;
-
-#tsp_EPTF_GTP_remoteIP := "127.0.0.1";
-tsp_EPTF_GTP_remoteIP := "10.161.46.161";
-tsp_EPTF_GTP_remoteControlPort := 2123;
-tsp_EPTF_GTP_remoteDataPort := 2152;
-
-/////////////////////////////////////////////////
-// LANL2 settings
-/////////////////////////////////////////////////
-tsp_EPTF_LANL2_connectionInfoList :=
-{
- {
- locHost := "10.160.46.1",
- locPort := 40000,
- remHost := "20.46.0.2",
- remPort := 50000,
- proto := udp,
- payload := '00000000'O
- }
-}
-
-tsp_EPTF_LANL2_Transport_srcMacAddr := '18a9053b9b32'O
-tsp_EPTF_LANL2_Transport_dstMacAddr := '001db55bcff0'O //'002159b2dff0'O
-
-/////////////////////////////////////////////////
-// TELNET settings
-/////////////////////////////////////////////////
-tsp_EPTF_TELNET_remoteHost:="10.132.1.220"
-tsp_EPTF_TELNET_remotePort := 23;
-tsp_EPTF_TELNET_localHost:="10.132.250.26"
-tsp_EPTF_TELNET_localPort:= 60201
-
-tsp_EPTF_TELNET_loggingEnable := true;
-tsp_EPTF_TELNET_Transport_loggingEnable := true;
-
-tsp_EPTF_TELNET_Transport_loginSkipped := false
-tsp_EPTF_TELNET_Transport_userName := "erv"
-tsp_EPTF_TELNET_Transport_password := "ggsn"
-
-//tsp_EPTF_TELNET_Transport_PlayListDB := {{{msg:="echo me",resp:=omit}}};
-tsp_EPTF_TELNET_PlayListDB := {{
- {msg:="show chassis hardware\n",resp:="*j20-46-[01][>] "}
- //,{msg:="op tc_2589_33_Dynamic_filter_rules_over_Gx_shall_be_ignored\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="show services ggsn apn | match ""apn.*.com {""\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="set services ggsn apn apn1.com pdp-context creation blocked\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="set services ggsn apn apn2.com pdp-context creation blocked\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="set services ggsn apn apn3.com pdp-context creation blocked\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="set services ggsn apn apn4.com pdp-context creation blocked\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="set services ggsn apn apn5.com pdp-context creation blocked\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="show services ggsn apn | match ""apn.*.com {""\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="request services ggsn pdp terminate apn apn1.com\n",resp:="*j20-46-[01][>] "}
- ,{msg:="request services ggsn pdp terminate apn apn2.com\n",resp:="*j20-46-[01][>] "}
- ,{msg:="request services ggsn pdp terminate apn apn3.com\n",resp:="*j20-46-[01][>] "}
- ,{msg:="request services ggsn pdp terminate apn apn4.com\n",resp:="*j20-46-[01][>] "}
- ,{msg:="request services ggsn pdp terminate apn apn5.com\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="load override ft-j20-46.ttcn.mpg.conf\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="set services ggsn apn apn1.com pdp-context creation blocked\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="delete services ggsn apn apn1.com pdp-context pdp-type\n",resp:="*j20-46-[01][#] "}
- ,{msg:="delete services ggsn apn apn1.com pdp-context ipv6-address\n",resp:="*j20-46-[01][#] "}
- ,{msg:="delete services ggsn apn apn1.com pdp-context ipv6-address-allocation\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="set services ggsn apn apn1.com pdp-context address-allocation local-pool\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
- ,{msg:="edit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="set services ggsn apn apn1.com pdp-context creation unblocked\n",resp:="*j20-46-[01][#] "}
- ,{msg:="commit\n",resp:="*j20-46-[01][#] "}
- ,{msg:="exit\n",resp:="*j20-46-[01][>] "}
-
- }};
-tsp_EPTF_TELNET_Transport_PromptList := {"etibben","j20-46-[01][>#%]"}
-
-[TESTPORT_PARAMETERS]
-*.IPL4_PCO.debug := "NO"
-*.LANL2_PCO.eth_interface_name := "eth1.2301"//eth1"
-*.LANL2_PCO.promiscuous_mode := "1"
-*.LANL2_PCO.packet_filter := "ip or ip6 or arp"
-
-[EXECUTE]
-MBT_Qtronic_Testcases.control
-#MBT_Qtronic_Testcases.tc_Test_Case_1
-#MBT_Qtronic_Testcases.tc_Test_Case_2
-#MBT_Qtronic_Testcases.tc_Test_Case_3
-#MBT_Qtronic_Testcases.tc_Test_Case_4
-#MBT_Qtronic_Testcases.tc_Test_Case_5
-#MBT_Qtronic_Testcases.tc_Test_Case_6
-#MBT_Qtronic_Testcases.tc_Test_Case_7
-#MBT_Qtronic_Testcases.tc_Test_Case_8
-#MBT_Qtronic_Testcases.tc_Test_Case_9
-#MBT_Qtronic_Testcases.tc_Test_Case_10
diff --git a/demo/ggsn/MBT_Qtronic_Demo.prj b/demo/ggsn/MBT_Qtronic_Demo.prj
deleted file mode 100644
index 65971f9..0000000
--- a/demo/ggsn/MBT_Qtronic_Demo.prj
+++ /dev/null
@@ -1,158 +0,0 @@
-<!DOCTYPE TITAN_GUI_project_file>
-<Project TITAN_version="1.8.pl1" >
- <General>
- <Project_Name>MBT_Qtronic_Demo</Project_Name>
- <Executable_Path>bin/demo</Executable_Path>
- <Working_Dir>bin</Working_Dir>
- <Build_Host>alpha</Build_Host>
- <Execution_Mode>Parallel</Execution_Mode>
- <ScriptFile_AfterMake>./makefile_patch.sh</ScriptFile_AfterMake>
- <Log_Format>yes</Log_Format>
- <Update_Symlinks>yes</Update_Symlinks>
- <Create_Absolute_Symlinks>no</Create_Absolute_Symlinks>
- <Update_Makefile>yes</Update_Makefile>
- <Localhost_Execute>yes</Localhost_Execute>
- <Execute_Command>rsh %host &quot;cd %project_working_dir ; &quot;%executable&quot; %localhost %mctr_port&quot;</Execute_Command>
- <Execute_Hosts>alfa, beta, gamma</Execute_Hosts>
- <UnUsed_List></UnUsed_List>
- </General>
- <Modules>
- <Module>MBT_Qtronic_Main.ttcn</Module>
- <Module>MBT_Qtronic_TestHarness.ttcn</Module>
- <Module>MBT_Qtronic_TestSystem.ttcn</Module>
- <Module>MBT_Qtronic_Testcases.ttcn</Module>
- <Module>MBT_Qtronic_Types.ttcn</Module>
- </Modules>
- <Configs>
- <Config>MBT_Qtronic_Demo.cfg</Config>
- </Configs>
- <File_Group name="MainFileGroup" >
- <File_Groups>
- <File_Group name="EPTF_Applib_MBT_CNL113659" >
- <File_Groups>
- <File_Group path="../../../EPTF_Applib_MBT_CNL113659/src/LoadGen/EPTF_MBT_LoadGen.grp" />
- </File_Groups>
- </File_Group>
- <File_Group name="EPTF_Applib_GTP_CNL113696" >
- <File_Groups>
- <File_Group path="../../../EPTF_Applib_GTP_CNL113696/src/LoadGen/EPTF_GTP_LoadGen.grp" />
- <File_Group path="../../../EPTF_Applib_GTP_CNL113696/src/Logger/EPTF_GTP_Logger.grp" />
- <File_Group path="../../../EPTF_Applib_GTP_CNL113696/src/Transport/EPTF_GTP_Transport.grp" />
- </File_Groups>
- </File_Group>
- <File_Group name="EPTF_Applib_TELNET_CNL113697" >
- <File_Groups>
- <File_Group path="../../../EPTF_Applib_TELNET_CNL113697/src/LoadGen/EPTF_TELNET_LoadGen.grp" />
- <File_Group path="../../../EPTF_Applib_TELNET_CNL113697/src/Logger/EPTF_TELNET_Logger.grp" />
- <File_Group path="../../../EPTF_Applib_TELNET_CNL113697/src/Transport/EPTF_TELNET_Transport.grp" />
- </File_Groups>
- </File_Group>
- <File_Group name="EPTF_Applib_LANL2_CNL113698" >
- <File_Groups>
- <File_Group path="../../../EPTF_Applib_LANL2_CNL113698/src/LoadGen/EPTF_LANL2_LoadGen.grp" />
- <File_Group path="../../../EPTF_Applib_LANL2_CNL113698/src/Logger/EPTF_LANL2_Logger.grp" />
- <File_Group path="../../../EPTF_Applib_LANL2_CNL113698/src/Transport/EPTF_LANL2_Transport.grp" />
- </File_Groups>
- </File_Group>
- <File_Group name="TCCUsefulFunctions_CNL113472" >
- <File path="../../../TCCUsefulFunctions_CNL113472/src/digcalc.c" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/digcalc.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMessageHandling.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMessageHandling_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCSecurity.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCSecurity_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec_Definitions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCEncoding.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCEncoding_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.c" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCFileIO.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCFileIO_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCDateTime.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCDateTime_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths_GenericTypes.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface_ip.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCConversion.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCConversion_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCTemplate_Functions.ttcn" />
- </File_Group>
- <File_Group name="GTP_v8.1.0_CNL113617">
- <File path="../../../../ProtocolModules/GTP_v8.1.0_CNL113617/src/GTPC_EncDec.cc" />
- <File path="../../../../ProtocolModules/GTP_v8.1.0_CNL113617/src/GTPC_Types.ttcn" />
- <File path="../../../../ProtocolModules/GTP_v8.1.0_CNL113617/src/GTPU_EncDec.cc" />
- <File path="../../../../ProtocolModules/GTP_v8.1.0_CNL113617/src/GTPU_Types.ttcn" />
- </File_Group>
- <File_Group name="GTPP_v7.0.0_CNL113579">
- <File path="../../../../ProtocolModules/GTPP_v7.0.0_CNL113579/src/GTPP_Types.ttcn" />
- </File_Group>
- <File_Group name="UDP_CNL113420">
- <File path="../../../../ProtocolModules/UDP_CNL113420/src/UDP_Types.ttcn" />
- <File path="../../../../ProtocolModules/UDP_CNL113420/src/UDP_EncDec.cc" />
- </File_Group>
- <File_Group name="UDPasp_CNL113346" >
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PortType.ttcn" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PT.cc" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PT.hh" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_Types.ttcn" />
- </File_Group>
- <File_Group name="IPL4asp_CNL113531" >
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_discovery.cc" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_Functions.ttcn" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PortType.ttcn" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_protocol_L234.hh" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PT.cc" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PT.hh" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_Types.ttcn" />
- </File_Group>
- <File_Group name="Abstract_Socket_CNL113384" >
- <File path="../../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.cc" />
- <File path="../../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.hh" />
- </File_Group>
- <File_Group name="IP_CNL113418" >
- <File path="../../../../ProtocolModules/IP_CNL113418/src/IP_EncDec.cc" />
- <File path="../../../../ProtocolModules/IP_CNL113418/src/IP_Types.ttcn" />
- </File_Group>
- <File_Group name="LANL2asp_CNL113519" >
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PortType.ttcn" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.cc" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.hh" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_Types.ttcn" />
- </File_Group>
- <File_Group name="TCP_CNL113675" >
- <File path="../../../../ProtocolModules/TCP_CNL113675/src/TCP_EncDec.cc" />
- <File path="../../../../ProtocolModules/TCP_CNL113675/src/TCP_Types.ttcn" />
- </File_Group>
- <File_Group name="GeneralTypes" >
- <File path="../../../../ProtocolModules/COMMON/src/General_Types.ttcn" />
- </File_Group>
- <File_Group name="EPTF_Core_Library_CNL113512" >
- <File_Groups>
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Base/EPTF_CLL_Base.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Common/EPTF_CLL_Common.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/FreeBusyQueue/EPTF_CLL_FreeBusyQueue.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/HashMap/EPTF_CLL_HashMap.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Logging/EPTF_CLL_Logging.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/RedBlackTree/EPTF_CLL_RBtree_Float.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Scheduler/EPTF_CLL_Scheduler_RBT.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Variable/EPTF_CLL_Variable.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/StatMeasure/EPTF_CLL_StatMeasure.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_Transport.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportCommPortIPL4.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportMessageBufferManager.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportRouting.grp" />
- <File_Group path="../../../../TestPorts/Common_Components/Socket_API_CNL113686/src/Socket_API.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/RandomNArray/EPTF_CLL_RNA.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Semaphore/EPTF_CLL_Semaphore.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/StatHandler/EPTF_CLL_StatHandler.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/LGenBase/EPTF_CLL_LGenBase.grp" />
- </File_Groups>
- </File_Group>
- </File_Groups>
- </File_Group>
-</Project>
diff --git a/demo/ggsn/MBT_Qtronic_Main.ttcn b/demo/ggsn/MBT_Qtronic_Main.ttcn
deleted file mode 100644
index d29e43c..0000000
--- a/demo/ggsn/MBT_Qtronic_Main.ttcn
+++ /dev/null
@@ -1,456 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Main.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-module MBT_Qtronic_Main
-{
-
-import from EPTF_MBT_LGen_Definitions all;
-import from EPTF_MBT_LGen_Functions all;
-
-import from EPTF_CLL_Common_Definitions all;
-import from EPTF_CLL_Base_Definitions all;
-import from EPTF_CLL_Base_Functions all;
-import from EPTF_CLL_LGenBase_Definitions all;
-
-import from EPTF_GTP_LGen_Definitions all;
-import from EPTF_GTP_LGen_Functions all;
-import from EPTF_GTP_Transport_Definitions all;
-import from EPTF_GTP_Transport_Functions all;
-
-import from EPTF_TELNET_Transport_Definitions all;
-import from EPTF_TELNET_Transport_Functions all;
-import from EPTF_TELNET_LGen_Definitions all;
-import from EPTF_TELNET_LGen_Functions all;
-
-import from EPTF_LANL2_Transport_Definitions all;
-import from EPTF_LANL2_Transport_Functions all;
-import from EPTF_LANL2_LGen_Definitions all;
-import from EPTF_LANL2_LGen_Functions all;
-
-import from MBT_Qtronic_Types all;
-import from MBT_Qtronic_TestSystem all;
-
-modulepar
-{
- boolean tsp_Mapper_enableDebug := false;
-}
-
-function f_Mapper_log(in charstring p_log)
-{
- if (tsp_Mapper_enableDebug) { log(p_log); }
-}
-
-type component MBT_Demo_LGen_CT extends EPTF_MBT_LGen_CT,
- EPTF_GTP_LGen_CT, EPTF_GTP_LocalTransport_CT,
- EPTF_TELNET_LGen_CT, EPTF_TELNET_LocalTransport_CT,
- EPTF_LANL2_LGen_CT, EPTF_LANL2_LocalTransport_CT
-{
-}
-
-type component MBT_Demo_Tester_CT extends EPTF_MBT_Tester_CT
-{
- port GnInPort GN_IN_LGEN_PCO;
- port GnOutPort GN_OUT_LGEN_PCO;
- port GiInPort GI_IN_LGEN_PCO;
- port GiOutPort GI_OUT_LGEN_PCO;
-}
-
-type component MBT_Qtronic_Main_CT extends MBT_Demo_Tester_CT, MBT_Demo_LGen_CT
-{
-}
-
-type component MBT_Demo_Main_CT extends EPTF_Base_CT {}
-
-
-///////////////////////////////////////////////////////////////////////////////////
-// Initialization
-///////////////////////////////////////////////////////////////////////////////////
-
-function f_cq_beginTestcase()
-runs on QtronicCT
-{
- f_Mapper_log(log2str(%definitionId, " enter"));
-
- // MBT Applib initialization
- f_EPTF_MBT_Tester_init("MBT_Demo");
- f_EPTF_MBT_init("MBT_Demo",0, "MBT_");
- f_EPTF_MBT_initLGenFsm(refers(f_MBT_Demo_LGen_createUserMessage), null);
-
- // GTP Applib initialization
- f_EPTF_GTP_init(
- pl_selfName:="GTP_LoadGen",
- pl_selfId:=0,
- pl_entityNamePrefix:="GTP_AppLib_",
- pl_numEntities:=0);
- f_EPTF_GTP_LocalTransport_init_CT();
-
- vf_EPTF_GTP_sendMessage:=refers(f_EPTF_GTP_LocalTransport_sendMessage);
- vf_EPTF_GTP_handleMessage:=refers(f_EPTF_GTP_LocalTransport_handleMessage);
- vf_EPTF_GTP_cleanUpTransport:=refers(f_EPTF_GTP_LocalTransport_cleanUpTransport);
- vf_EPTF_GTP_LocalTransport_receive:=refers(f_EPTF_GTP_messageHandler);
-
- // TELNET Applib initialization
- f_EPTF_TELNET_init(
- pl_selfName := "TELNET_AppLib",
- pl_selfId := 0,
- pl_entityNamePrefix := "TELNET_",
- pl_numEntities := 0,
- pl_bind := refers(f_EPTF_TELNET_bindEntity4Behavior)
- );
-
- f_EPTF_TELNET_LocalTransport_init_CT(
- pl_selfName:= "EPTF_TELNET_LocalTransport",
- pl_receiveFunction:= refers(f_EPTF_TELNET_messageReceived),
- pl_eventReceiveFunction:= refers(f_EPTF_TELNET_eventReceived)
- );
-
- vf_EPTF_TELNET_newTransportUser:=refers( f_EPTF_TELNET_LocalTransport_newTransportUser);
- vf_EPTF_TELNET_sendMessage := refers(f_EPTF_TELNET_LocalTransport_sendMessage)
- vf_EPTF_TELNET_playList:=refers(f_EPTF_TELNET_LocalTransport_playListElement)
-
- // LANL2 Applib initialization
- f_EPTF_LANL2_init(
- pl_selfName := "IPL2_AppLib",
- pl_selfId := 0,
- pl_entityNamePrefix := "IPL2_",
- pl_numEntities := 0,
- pl_bind := refers(f_EPTF_LANL2_bindEntity4Behavior)
- );
-
- f_EPTF_LANL2_LocalTransport_init_CT(
- pl_selfName:= c_EPTF_LANL2_Transport_LGenType,
- pl_receiveFunction:= refers(f_EPTF_LANL2_messageReceived),
- pl_eventReceiveFunction:= refers(f_EPTF_LANL2_eventReceived)
- );
-
- f_EPTF_LANL2_setSendMessageFunction(plf_sendMessageFunction := refers(f_EPTF_LANL2_LocalTransport_sendMessage));
- f_EPTF_LANL2_setEchoMessageFunction(plf_echoMessageFunction := refers(f_EPTF_LANL2_LocalTransport_echoMessage));
- f_EPTF_LANL2_setListenFunction(plf_listenFunction := refers(f_EPTF_LANL2_LocalTransport_listen));
- f_EPTF_LANL2_setCloseFunction(plf_closeFunction := refers(f_EPTF_LANL2_LocalTransport_close));
-
- // Connecting the MBT Test Harness with the Tester component
- connect(self:EPTF_MBT_PCO, self:EPTF_MBT_TESTER_PCO);
- connect(self:GN_IN_LGEN_PCO, self:GnIn);
- connect(self:GN_OUT_LGEN_PCO, self:GnOut);
- connect(self:GI_IN_LGEN_PCO, self:GiIn);
- connect(self:GI_OUT_LGEN_PCO, self:GiOut);
-
- // Creating 1 entity with 1 MBT_FSM
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_ConfigRequest:
- {
- entityGroupName := "MBT_EntityType",
- noEntities := 1,
- behaviors := {c_EPTF_MBT_myBName, c_EPTF_GTP_behavior, c_EPTF_TELNET_behavior},
- fsmName := "FSM_MBT"
- }
- );
-
- // TODO: activate default altstep, with timeout handling
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_ConfigResponse:?);
-
- //Activating GTP Echo Handler
- f_MBT_Demo_LGen_activateEchoHandler();
-
- f_Mapper_log(log2str(%definitionId, " finished"));
-}
-
-function f_cq_endTestcase()
-runs on MBT_Qtronic_Main_CT
-{
- f_Mapper_log(log2str(%definitionId, " enter"));
-
- f_EPTF_Base_stopAll(none);
-
- f_Mapper_log(log2str(%definitionId, " finished"));
-}
-
-///////////////////////////////////////////////////////////////////////////////////
-// Mapping Testcase -> Test Harness
-///////////////////////////////////////////////////////////////////////////////////
-
-function f_Model_sendCreatePDPContext(in CreatePDPcontext p_CreatePDPcontext)
-runs on MBT_Qtronic_Main_CT
-{
- f_Mapper_log(log2str(%definitionId, " enter ", p_CreatePDPcontext));
-
- // Creating a GTP session in the test harness
- f_MBT_execute(c_EPTF_GTP_stepName_init, valueof(t_addr(0)));
-
- // Start listening on Gi
- f_MBT_execute(c_EPTF_LANL2_stepName_init, valueof(t_addr(0)), {0});
- f_MBT_execute(c_EPTF_LANL2_stepName_listen, valueof(t_addr(0)));
-
- // Example of setting the parameters for the GTP session
- var EPTF_GTP_FSM_Ctx p_client_ctx;
- f_EPTF_GTP_getContext(f_convert_FsmAddr2TestStepArgs(valueof(t_addr(0))), p_client_ctx);
-
- p_client_ctx.primaryCtx.imsi := f_getIMSI_str2hex(p_CreatePDPcontext.imsi);
- p_client_ctx.primaryCtx.apn := f_getAPN_char2oct(p_CreatePDPcontext.apn);
- p_client_ctx.primaryCtx.msisdn := f_getMSISDN_str2hex(p_CreatePDPcontext.imsi);
- f_EPTF_GTP_setContext(f_convert_FsmAddr2TestStepArgs(valueof(t_addr(0))), p_client_ctx);
- // Example ends
-
- // Generating a PDP context request
- f_MBT_execute(c_EPTF_GTP_stepName_createPDPContextRequest, valueof(t_addr(0)));
-
- // Example of how to update the generated message
- f_EPTF_GTP_getContext(f_convert_FsmAddr2TestStepArgs(valueof(t_addr(0))), p_client_ctx);
- p_client_ctx.gtpcMsgToSend.gtpc_pdu.createPDPContextRequest.charging_char.chargingChar := '0800'O;
- f_EPTF_GTP_setContext(f_convert_FsmAddr2TestStepArgs(valueof(t_addr(0))), p_client_ctx);
- // Example ends
-
- // Sending the message
- f_MBT_execute(c_EPTF_GTP_stepName_sendMessage, valueof(t_addr(0)));
-
- f_Mapper_log(log2str(%definitionId, " finished"));
-}
-
-function f_Model_sendUpdatePDPContext(in UpdatePDPcontext p_UpdatePDPcontext)
-runs on MBT_Qtronic_Main_CT
-{
- f_Mapper_log(log2str(%definitionId, " enter ", p_UpdatePDPcontext));
-
- // Generating an update PDP context message by the test harness
- f_MBT_execute(c_EPTF_GTP_stepName_updatePDPContextRequest, valueof(t_addr(0)));
- // Sending the message
- f_MBT_execute(c_EPTF_GTP_stepName_sendMessage, valueof(t_addr(0)));
-
- f_Mapper_log(log2str(%definitionId, " finished"));
-}
-
-function f_Model_sendDeletePDPContext(in DeletePDPcontext p_DeletePDPcontext)
-runs on MBT_Qtronic_Main_CT
-{
- f_Mapper_log(log2str(%definitionId, " enter ", p_DeletePDPcontext));
-
- f_MBT_execute(c_EPTF_GTP_stepName_deletePDPContextRequest, valueof(t_addr(0)));
- f_MBT_execute(c_EPTF_GTP_stepName_sendMessage, valueof(t_addr(0)));
-
- f_Mapper_log(log2str(%definitionId, " finished"));
-}
-
-function f_Model_sendGPDU(in GPDU p_gpdu)
-runs on MBT_Qtronic_Main_CT
-{
- f_Mapper_log(log2str(%definitionId, " enter ", p_gpdu));
-
- // First we load the Payload we want to send in the GTP tunnel into the GTP Context
- var EPTF_GTP_FSM_Ctx p_client_ctx;
- f_EPTF_GTP_getContext(f_convert_FsmAddr2TestStepArgs(valueof(t_addr(0))), p_client_ctx);
- p_client_ctx.primaryCtx.payload :=
- f_EPTF_GTP_createUDPpacket(
- f_EPTF_GTP_convertIP_oct2str(p_client_ctx.primaryCtx.end_user_address), //"20.46.0.2",
- tsp_EPTF_LANL2_connectionInfoList[0].remPort,
- tsp_EPTF_LANL2_connectionInfoList[0].locHost,
- tsp_EPTF_LANL2_connectionInfoList[0].locPort,
- tsp_EPTF_LANL2_connectionInfoList[0].payload
- );
- f_EPTF_GTP_setContext(f_convert_FsmAddr2TestStepArgs(valueof(t_addr(0))), p_client_ctx);
-
- // Then we generate the GPDU. The previously loaded payload will be in the generated PDU.
- f_MBT_execute(c_EPTF_GTP_stepName_createGTPU, valueof(t_addr(0)));
-
- // It can be now sent out.
- f_MBT_execute(c_EPTF_GTP_stepName_sendGTPU, valueof(t_addr(0)));
-
- f_Mapper_log(log2str(%definitionId, " finished"));
-}
-
-function f_Model_sendUDPpdu(in UDPpdu p_UDPpdu)
-runs on MBT_Qtronic_Main_CT
-{
- f_Mapper_log(log2str(%definitionId, " enter ", p_UDPpdu));
-
- f_MBT_execute(c_EPTF_LANL2_stepName_sendMessage, valueof(t_addr(0)), {0});
-
- f_Mapper_log(log2str(%definitionId, " finished"));
-}
-
-///////////////////////////////////////////////////////////////////////////////////
-// Message handling: Test Harness -> Testcase
-///////////////////////////////////////////////////////////////////////////////////
-
-function f_MBT_Demo_LGen_createUserMessage(in EPTF_LGenBase_TestStepArgs pl_ptr)
-runs on MBT_Qtronic_Main_CT
-return boolean
-{
- // This function catches the events that are generated by the test harness when a message is received.
- // The purpose of this function to create the message structure that is expected by the model (and thus by the generated test case code)
-
- f_Mapper_log(log2str(%definitionId & " creating message for:\n", pl_ptr, "\n", pl_ptr.reportedEvent));
-
- // CreatePDPContextResponse
- if (pl_ptr.reportedEvent.event.bIdx == v_EPTF_GTP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_EPTF_GTP_inputIdx_createPDPContextResponse)
- {
- f_MBT_execute(c_EPTF_GTP_stepName_handleIncomingMessage, valueof(t_addr(0)));
-
- var integer vl_cause :=
- oct2int(v_EPTF_GTP_lastReceived.msg.gtpc.gtpc_pdu.createPDPContextResponse.cause.causevalue);
-
- GN_OUT_LGEN_PCO.send(CreatePDPresponse:{vl_cause});
- }
- // UpdatePDPContextResponse
- else if (pl_ptr.reportedEvent.event.bIdx == v_EPTF_GTP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_EPTF_GTP_inputIdx_updatePDPContextResponse)
- {
- f_MBT_execute(c_EPTF_GTP_stepName_handleIncomingMessage, valueof(t_addr(0)));
-
- var integer vl_cause :=
- oct2int(v_EPTF_GTP_lastReceived.msg.gtpc.gtpc_pdu.updatePDPContextResponse.updatePDPContextResponseSGSN.cause.causevalue);
-
- GN_OUT_LGEN_PCO.send(UpdatePDPresponse:{vl_cause});
- }
- // DeletePDPContextResponse
- else if (pl_ptr.reportedEvent.event.bIdx == v_EPTF_GTP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_EPTF_GTP_inputIdx_deletePDPContextResponse)
- {
- f_MBT_execute(c_EPTF_GTP_stepName_handleIncomingMessage, valueof(t_addr(0)));
-
- var integer vl_cause :=
- oct2int(v_EPTF_GTP_lastReceived.msg.gtpc.gtpc_pdu.deletePDPContextResponse.cause.causevalue);
-
- GN_OUT_LGEN_PCO.send(DeletePDPresponse:{vl_cause});
- f_MBT_execute(c_EPTF_GTP_stepName_cleanUp, valueof(t_addr(0)));
- }
- // Incoming GTPU
- else if (pl_ptr.reportedEvent.event.bIdx == v_EPTF_GTP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_EPTF_GTP_inputIdx_GTPU)
- {
- // Access and convert the payload here
- var octetstring vl_payload := ''O;
- var integer vl_data := 0;
- if (f_EPTF_GTP_getUDPpayload(vl_payload))
- {
- vl_data := oct2int(vl_payload);
- }
- GN_OUT_LGEN_PCO.send(GPDU:{data := vl_data});
- }
- // Incmoing LANL2
- else if (pl_ptr.reportedEvent.event.bIdx == v_EPTF_LANL2_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_EPTF_LANL2_inputIdx_incomingMessage)
- {
- // Access and convert the payload here
- var octetstring vl_payload := ''O;
- var integer vl_data := 0;
- if (f_EPTF_LANL2_getLastUDP(f_convert_FsmAddr2TestStepArgs(valueof(t_addr(0))), vl_payload))
- {
- vl_data := oct2int(vl_payload);
- }
- GI_OUT_LGEN_PCO.send(UDPpdu:{data := vl_data});
- }
- else
- {
- f_Mapper_log(log2str(%definitionId & "(): unhandled incoming message"));
- return false;
- }
- return true;
-}
-
-///////////////////////////////////////////////////////////////////////////////////
-// FSM Activation
-///////////////////////////////////////////////////////////////////////////////////
-
-function f_MBT_Demo_LGen_activateEchoHandler() runs on MBT_Qtronic_Main_CT
-{
- f_EPTF_GTP_declareEchoHandlerFsm();
-
- var EPTF_MBT_LGen_Definitions.FsmAddr vl_addr;
-
- f_MBT_activateFsm("MBT_EntityType", 0, "FSM_GTP_EchoHandler", vl_addr);
-
- f_MBT_dispatch(c_EPTF_LGenBase_behavior, c_EPTF_LGenBase_inputIdx_testMgmt_startTC, vl_addr);
-}
-
-///////////////////////////////////////////////////////////////////////////////////
-// Utility functions
-///////////////////////////////////////////////////////////////////////////////////
-
-function f_EPTF_TELNET_bindEntity4Behavior(
- in integer pl_eIdx)
-runs on QtronicCT
-return EPTF_IntegerList
-{
- return {pl_eIdx};
-}
-
-function f_getAPN_char2oct(in charstring p_apn)
-return octetstring
-{
- var octetstring vl_ret := '04'O & char2oct(p_apn)
- for (var integer i:=0; i<lengthof(vl_ret); i:=i+1){ if (vl_ret[i]=='2E'O) { vl_ret[i] := '03'O } }
- f_Mapper_log(log2str(%definitionId, " in ", p_apn, " -> ", vl_ret));
- return vl_ret;
-}
-
-function f_getIMSI_str2hex(in charstring p_imsi_str)
-return hexstring
-{
- var hexstring vl_ret := f_str2tbcd(p_imsi_str);
- f_Mapper_log(log2str(%definitionId, " in ", p_imsi_str, " -> ", vl_ret));
- return vl_ret;
-}
-
-function f_getMSISDN_str2hex(in charstring p_imsi_str)
-return octetstring
-{
- var octetstring vl_ret := ''O;
- var hexstring vl_imsi := f_str2tbcd(p_imsi_str);
- vl_imsi := substr(vl_imsi, lengthof(vl_imsi)-6, 6);
- vl_ret := '916464'O & f_encodeTBCD_hex2oct(vl_imsi);
-
- f_Mapper_log(log2str(%definitionId, " in ", p_imsi_str, " -> ", vl_ret));
- return vl_ret;
-}
-
-function f_str2tbcd(in charstring p_str)
-return hexstring
-{
- var hexstring vl_ret := ''H;
-
- for (var integer i:=0; i<lengthof(p_str); i:=i+1)
- {
- vl_ret[i] := int2hex(str2int(p_str[i]),1);
- }
-
- return vl_ret;
-}
-
-function f_encodeTBCD_hex2oct( in hexstring pl_hex )
-return octetstring
-{
- var integer vl_size:= lengthof(pl_hex);
- if((vl_size mod 2) == 1)
- {
- pl_hex := pl_hex & 'F'H;
- vl_size := vl_size + 1;
- }
- vl_size := vl_size / 2;
-
- var integer vl_i;
- var octetstring vl_oct := ''O;
-
- for (vl_i := 0; vl_i < vl_size; vl_i := vl_i + 1)
- {
- vl_oct := vl_oct & hex2oct(pl_hex[(2*vl_i) + 1] & pl_hex[2*vl_i]);
- }
-
- return vl_oct;
-}
-
-template EPTF_MBT_LGen_Definitions.FsmAddr t_addr(integer eIdx) :=
-{
- entityGroupName := "MBT_EntityType",
- eIdx := eIdx,
- fIdx := 0
-}
-
-}
diff --git a/demo/ggsn/MBT_Qtronic_TestHarness.ttcn b/demo/ggsn/MBT_Qtronic_TestHarness.ttcn
deleted file mode 100644
index 4fe49b0..0000000
--- a/demo/ggsn/MBT_Qtronic_TestHarness.ttcn
+++ /dev/null
@@ -1,456 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_TestHarness.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-/* -*- ttcn-3 -*- */
-
-/**
-* @file
-* C:\Users\eantwuh\workspace\GGSN_Goteborg\MBT_Qtronic_TestHarness.ttcn
-* @author
-* Conformiq TTCN-3 scripting backend
-* @version
-* Tue Sep 14 14:48:48 CEST 2010
-* @desc
-* This is a template file with TTCN-3 function stubs for the implementation
-* of test harness code for the test suites generated from the Conformiq '
-* GGSN_Goteborg' project.
-* @remark
-* All function definitions must be edited as instructed in their comments in
-* order for the test suite to execute properly.
-*/
-module MBT_Qtronic_TestHarness
-{
- import from MBT_Qtronic_Types all;
- import from MBT_Qtronic_TestSystem all;
- import from MBT_Qtronic_Main all;
- import from EPTF_MBT_LGen_Definitions all;
- import from EPTF_MBT_LGen_Functions all;
- import from EPTF_TELNET_LGen_Definitions all;
-
- modulepar
- {
- boolean tsp_enableLogging := true;
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_Restart
- * via the abstract test interface to the SUT.
- * @param
- * p_Restart Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_Restart_to_CLIin(template Restart p_Restart) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_Restart); }
-
- // Steps that need to be implemented here are:
- // (modify and uncomment example code as needed)
- // 1. transform data from a Restart to the TTCN-3 data value used by the test harness (if needed)
- // var <T3RestartType> v_T3Restart := f_transformRestartCQtoT3(p_Restart);
- // 2. replace symbolic values (if any) with real values in TTCN-3 data value
- // 3. send TTCN-3 data value via TTCN-3 port which corresponds toCLIinmodel port
- // CLIin.send(v_T3Restart);
- //CLIin.send(p_Restart);
- // Remove or comment the following generated code
- log("CQ_INFO: Warning: f_cq_send_Restart_to_CLIin: function is not implemented)");
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_Configure
- * via the abstract test interface to the SUT.
- * @param
- * p_Configure Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_Configure_to_CLIin(template Configure p_Configure) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_Configure); }
- // Steps that need to be implemented here are:
- // (modify and uncomment example code as needed)
- // 1. transform data from a Configure to the TTCN-3 data value used by the test harness (if needed)
- // var <T3ConfigureType> v_T3Configure := f_transformConfigureCQtoT3(p_Configure);
- // 2. replace symbolic values (if any) with real values in TTCN-3 data value
- // 3. send TTCN-3 data value via TTCN-3 port which corresponds toCLIinmodel port
- // CLIin.send(v_T3Configure);
- //CLIin.send(p_Configure);
- // Remove or comment the following generated code
- log("CQ_INFO: Warning: f_cq_send_Configure_to_CLIin: function is not implemented)");
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_OverrideConfiguration
- * via the abstract test interface to the SUT.
- * @param
- * p_OverrideConfiguration Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_OverrideConfiguration_to_CLIin(template OverrideConfiguration p_OverrideConfiguration) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_OverrideConfiguration); }
- // Steps that need to be implemented here are:
- // (modify and uncomment example code as needed)
- // 1. transform data from a OverrideConfiguration to the TTCN-3 data value used by the test harness (if needed)
- // var <T3OverrideConfigurationType> v_T3OverrideConfiguration := f_transformOverrideConfigurationCQtoT3(p_OverrideConfiguration);
- // 2. replace symbolic values (if any) with real values in TTCN-3 data value
- // 3. send TTCN-3 data value via TTCN-3 port which corresponds toCLIinmodel port
- // CLIin.send(v_T3OverrideConfiguration);
- //CLIin.send(p_OverrideConfiguration);
- // Remove or comment the following generated code
- log("CQ_INFO: Warning: f_cq_send_OverrideConfiguration_to_CLIin: function is not implemented)");
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_Prepare
- * via the abstract test interface to the SUT.
- * @param
- * p_Prepare Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_Prepare_to_CLIin(template Prepare p_Prepare) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_Prepare); }
-
- f_MBT_execute(c_EPTF_TELNET_stepName_init, valueof(t_addr(0)), {0});
- f_MBT_execute(c_EPTF_TELNET_stepName_connect, valueof(t_addr(0)), {0});
- f_MBT_waitFor(c_EPTF_TELNET_behavior, c_EPTF_TELNET_inputName_autoLoginFinished, valueof(t_addr(0)));
-
- timer t_wait := 30.0;
-
- f_MBT_execute(c_EPTF_TELNET_stepName_playList, valueof(t_addr(0)));
- t_wait.start;
-
- alt
- {
- [] EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_TestStepResponse:{ bName := c_EPTF_TELNET_behavior, iName := c_EPTF_TELNET_inputName_matchingPlayListResp, addr := valueof(t_addr(0))})
- {
- t_wait.stop;
- action(%definitionId, "Received: matchingPlayListRespReceived");
- f_MBT_execute(c_EPTF_TELNET_stepName_playList, valueof(t_addr(0)));
- t_wait.start;
- repeat;
- }
- [] EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_TestStepResponse:{ bName := c_EPTF_TELNET_behavior, iName := c_EPTF_TELNET_inputName_lastMatchingPlayListResp, addr := valueof(t_addr(0))})
- {
- action(%definitionId, "Received: lastMatchingPlayListRespReceived");
- t_wait.stop;
- }
- [] EPTF_MBT_TESTER_PCO.receive
- {
- log(%definitionId, "Dropping unexpected message!");
- repeat;
- }
- [] t_wait.timeout
- {
- action(%definitionId, "Timeout!");
- }
- }
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_Restore
- * via the abstract test interface to the SUT.
- * @param
- * p_Restore Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_Restore_to_CLIin(template Restore p_Restore) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_Restore); }
- // Steps that need to be implemented here are:
- // (modify and uncomment example code as needed)
- // 1. transform data from a Restore to the TTCN-3 data value used by the test harness (if needed)
- // var <T3RestoreType> v_T3Restore := f_transformRestoreCQtoT3(p_Restore);
- // 2. replace symbolic values (if any) with real values in TTCN-3 data value
- // 3. send TTCN-3 data value via TTCN-3 port which corresponds toCLIinmodel port
- // CLIin.send(v_T3Restore);
- //CLIin.send(p_Restore);
- // Remove or comment the following generated code
- log("CQ_INFO: Warning: f_cq_send_Restore_to_CLIin: function is not implemented)");
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_UDPpdu
- * via the abstract test interface to the SUT.
- * @param
- * p_UDPpdu Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_UDPpdu_to_GiIn(template UDPpdu p_UDPpdu) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_UDPpdu); }
- // Steps that need to be implemented here are:
- // (modify and uncomment example code as needed)
- // 1. transform data from a UDPpdu to the TTCN-3 data value used by the test harness (if needed)
- // var <T3UDPpduType> v_T3UDPpdu := f_transformUDPpduCQtoT3(p_UDPpdu);
- // 2. replace symbolic values (if any) with real values in TTCN-3 data value
- // 3. send TTCN-3 data value via TTCN-3 port which corresponds toGiInmodel port
- // GiIn.send(v_T3UDPpdu);
- //GiIn.send(p_UDPpdu);
- // Remove or comment the following generated code
- //log("CQ_INFO: Warning: f_cq_send_UDPpdu_to_GiIn: function is not implemented)");
- f_Model_sendUDPpdu(valueof(p_UDPpdu));
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_RadiusAccessAccept
- * via the abstract test interface to the SUT.
- * @param
- * p_RadiusAccessAccept Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_RadiusAccessAccept_to_GiRadiusIn(template RadiusAccessAccept p_RadiusAccessAccept) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_RadiusAccessAccept); }
- // Steps that need to be implemented here are:
- // (modify and uncomment example code as needed)
- // 1. transform data from a RadiusAccessAccept to the TTCN-3 data value used by the test harness (if needed)
- // var <T3RadiusAccessAcceptType> v_T3RadiusAccessAccept := f_transformRadiusAccessAcceptCQtoT3(p_RadiusAccessAccept);
- // 2. replace symbolic values (if any) with real values in TTCN-3 data value
- // 3. send TTCN-3 data value via TTCN-3 port which corresponds toGiRadiusInmodel port
- // GiRadiusIn.send(v_T3RadiusAccessAccept);
- //GiRadiusIn.send(p_RadiusAccessAccept);
- // Remove or comment the following generated code
- log("CQ_INFO: Warning: f_cq_send_RadiusAccessAccept_to_GiRadiusIn: function is not implemented)");
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_CreatePDPcontext
- * via the abstract test interface to the SUT.
- * @param
- * p_CreatePDPcontext Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_CreatePDPcontext_to_GnIn(template CreatePDPcontext p_CreatePDPcontext) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_CreatePDPcontext); }
- f_Model_sendCreatePDPContext(valueof(p_CreatePDPcontext));
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_UpdatePDPcontext
- * via the abstract test interface to the SUT.
- * @param
- * p_UpdatePDPcontext Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_UpdatePDPcontext_to_GnIn(template UpdatePDPcontext p_UpdatePDPcontext) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_UpdatePDPcontext); }
- f_Model_sendUpdatePDPContext(valueof(p_UpdatePDPcontext));
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_DeletePDPcontext
- * via the abstract test interface to the SUT.
- * @param
- * p_DeletePDPcontext Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_DeletePDPcontext_to_GnIn(template DeletePDPcontext p_DeletePDPcontext) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_DeletePDPcontext); }
- f_Model_sendDeletePDPContext(valueof(p_DeletePDPcontext));
- }
-
- /**
- * @desc
- * This function performs manipulation needed and sends a p_GPDU
- * via the abstract test interface to the SUT.
- * @param
- * p_GPDU Message data generated by CQ Designerto be sent to the SUT
- */
- function f_cq_send_GPDU_to_GnIn(template GPDU p_GPDU) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_GPDU); }
- // Steps that need to be implemented here are:
- // (modify and uncomment example code as needed)
- // 1. transform data from a GPDU to the TTCN-3 data value used by the test harness (if needed)
- // var <T3GPDUType> v_T3GPDU := f_transformGPDUCQtoT3(p_GPDU);
- // 2. replace symbolic values (if any) with real values in TTCN-3 data value
- // 3. send TTCN-3 data value via TTCN-3 port which corresponds toGnInmodel port
- // GnIn.send(v_T3GPDU);
- //GnIn.send(p_GPDU);
- // Remove or comment the following generated code
- //log("CQ_INFO: Warning: f_cq_send_GPDU_to_GnIn: function is not implemented)");
- f_Model_sendGPDU(valueof(p_GPDU));
- }
-
- /**
- * @desc
- * This function receives a TTCN-3 value corresponding to a UDPpdu
- * via the abstract test system interface from the SUT, performs any
- * manipulation and transformation needed to convert it to a UDPpdu
- * value, and then attempts to match it to the p_expectedUDPpdu generated by CQ Designer
- * @param
- * p_expectedUDPpduExpected data generated by CQ Designer
- */
- function f_cq_receive_UDPpdu_from_GiOut(template UDPpdu p_expectedUDPpdu) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_expectedUDPpdu); }
- //Steps that need to be implemented here are:
- //1. receive and store (any) TTCN-3 data value via TTCN-3 port which corresponds to the GiOut model port
- // var <T3_UDPpduType> v_recvT3UDPpdu;
- // GiOut.receive(<T3_UDPpduType>:?) -> value v_recvT3UDPpdu;
- // 2. replace real with symbolic values (if any) in the received TTCN-3 data value
- // 3. transform data from a TTCN-3 to UDPpdu data value (if needed)
- // varUDPpduv_recvUDPpdu = f_transformUDPpduT3toCQ(v_recvT3UDPpdu);
- // 4. set the verdict to fail if if there is a mismatch of the transformed value and p_expectedUDPpdu
- // if ( !match( v_recvUDPpdu p_expectedUDPpdu) {
- // log(CQ_INFO: f_cq_receive_UDPpdu_from_GiOut: FAIL: Mismatch in received and expected UDPpdu values. Stopping test case.�);
- // setverdict(fail);
- // f_cq_f_MBT_Qtronic_endTestcase();
- // stop; }
- GiOut.receive(p_expectedUDPpdu);
- // Remove or comment the following generated code
- //log("CQ_INFO: Warning: f_cq_receive_UDPpdu_from_GiOut: function is not implemented)");
- }
-
- /**
- * @desc
- * This function receives a TTCN-3 value corresponding to a RadiusAccessRequest
- * via the abstract test system interface from the SUT, performs any
- * manipulation and transformation needed to convert it to a RadiusAccessRequest
- * value, and then attempts to match it to the p_expectedRadiusAccessRequest generated by CQ Designer
- * @param
- * p_expectedRadiusAccessRequestExpected data generated by CQ Designer
- */
- function f_cq_receive_RadiusAccessRequest_from_GiRadiusOut(template RadiusAccessRequest p_expectedRadiusAccessRequest) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_expectedRadiusAccessRequest); }
- //Steps that need to be implemented here are:
- //1. receive and store (any) TTCN-3 data value via TTCN-3 port which corresponds to the GiRadiusOut model port
- // var <T3_RadiusAccessRequestType> v_recvT3RadiusAccessRequest;
- // GiRadiusOut.receive(<T3_RadiusAccessRequestType>:?) -> value v_recvT3RadiusAccessRequest;
- // 2. replace real with symbolic values (if any) in the received TTCN-3 data value
- // 3. transform data from a TTCN-3 to RadiusAccessRequest data value (if needed)
- // varRadiusAccessRequestv_recvRadiusAccessRequest = f_transformRadiusAccessRequestT3toCQ(v_recvT3RadiusAccessRequest);
- // 4. set the verdict to fail if if there is a mismatch of the transformed value and p_expectedRadiusAccessRequest
- // if ( !match( v_recvRadiusAccessRequest p_expectedRadiusAccessRequest) {
- // log(CQ_INFO: f_cq_receive_RadiusAccessRequest_from_GiRadiusOut: FAIL: Mismatch in received and expected RadiusAccessRequest values. Stopping test case.�);
- // setverdict(fail);
- // f_cq_f_MBT_Qtronic_endTestcase();
- // stop; }
- //GiRadiusOut.receive(p_expectedRadiusAccessRequest);
- // Remove or comment the following generated code
- log("CQ_INFO: Warning: f_cq_receive_RadiusAccessRequest_from_GiRadiusOut: function is not implemented)");
- }
-
- /**
- * @desc
- * This function receives a TTCN-3 value corresponding to a CreatePDPresponse
- * via the abstract test system interface from the SUT, performs any
- * manipulation and transformation needed to convert it to a CreatePDPresponse
- * value, and then attempts to match it to the p_expectedCreatePDPresponse generated by CQ Designer
- * @param
- * p_expectedCreatePDPresponseExpected data generated by CQ Designer
- */
- function f_cq_receive_CreatePDPresponse_from_GnOut(template CreatePDPresponse p_expectedCreatePDPresponse) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_expectedCreatePDPresponse); }
- GnOut.receive(p_expectedCreatePDPresponse);
- }
-
- /**
- * @desc
- * This function receives a TTCN-3 value corresponding to a UpdatePDPresponse
- * via the abstract test system interface from the SUT, performs any
- * manipulation and transformation needed to convert it to a UpdatePDPresponse
- * value, and then attempts to match it to the p_expectedUpdatePDPresponse generated by CQ Designer
- * @param
- * p_expectedUpdatePDPresponseExpected data generated by CQ Designer
- */
- function f_cq_receive_UpdatePDPresponse_from_GnOut(template UpdatePDPresponse p_expectedUpdatePDPresponse) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_expectedUpdatePDPresponse); }
- GnOut.receive(p_expectedUpdatePDPresponse);
- }
-
- /**
- * @desc
- * This function receives a TTCN-3 value corresponding to a DeletePDPresponse
- * via the abstract test system interface from the SUT, performs any
- * manipulation and transformation needed to convert it to a DeletePDPresponse
- * value, and then attempts to match it to the p_expectedDeletePDPresponse generated by CQ Designer
- * @param
- * p_expectedDeletePDPresponseExpected data generated by CQ Designer
- */
- function f_cq_receive_DeletePDPresponse_from_GnOut(template DeletePDPresponse p_expectedDeletePDPresponse) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_expectedDeletePDPresponse); }
- GnOut.receive(p_expectedDeletePDPresponse);
- }
-
- /**
- * @desc
- * This function receives a TTCN-3 value corresponding to a GPDU
- * via the abstract test system interface from the SUT, performs any
- * manipulation and transformation needed to convert it to a GPDU
- * value, and then attempts to match it to the p_expectedGPDU generated by CQ Designer
- * @param
- * p_expectedGPDUExpected data generated by CQ Designer
- */
- function f_cq_receive_GPDU_from_GnOut(template GPDU p_expectedGPDU) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_expectedGPDU); }
- //Steps that need to be implemented here are:
- //1. receive and store (any) TTCN-3 data value via TTCN-3 port which corresponds to the GnOut model port
- // var <T3_GPDUType> v_recvT3GPDU;
- // GnOut.receive(<T3_GPDUType>:?) -> value v_recvT3GPDU;
- // 2. replace real with symbolic values (if any) in the received TTCN-3 data value
- // 3. transform data from a TTCN-3 to GPDU data value (if needed)
- // varGPDUv_recvGPDU = f_transformGPDUT3toCQ(v_recvT3GPDU);
- // 4. set the verdict to fail if if there is a mismatch of the transformed value and p_expectedGPDU
- // if ( !match( v_recvGPDU p_expectedGPDU) {
- // log(CQ_INFO: f_cq_receive_GPDU_from_GnOut: FAIL: Mismatch in received and expected GPDU values. Stopping test case.�);
- // setverdict(fail);
- // f_cq_f_MBT_Qtronic_endTestcase();
- // stop; }
-
- GnOut.receive(p_expectedGPDU);
- // Remove or comment the following generated code
- //log("CQ_INFO: Warning: f_cq_receive_GPDU_from_GnOut: function is not implemented)");
- }
-
- /**
- * @desc
- * This function receives a TTCN-3 value corresponding to a CDRinfo
- * via the abstract test system interface from the SUT, performs any
- * manipulation and transformation needed to convert it to a CDRinfo
- * value, and then attempts to match it to the p_expectedCDRinfo generated by CQ Designer
- * @param
- * p_expectedCDRinfoExpected data generated by CQ Designer
- */
- function f_cq_receive_CDRinfo_from_GnOut(template CDRinfo p_expectedCDRinfo) runs on QtronicCT
- {
- if (tsp_enableLogging) { log(%definitionId, " enter: ", p_expectedCDRinfo); }
- //Steps that need to be implemented here are:
- //1. receive and store (any) TTCN-3 data value via TTCN-3 port which corresponds to the GnOut model port
- // var <T3_CDRinfoType> v_recvT3CDRinfo;
- // GnOut.receive(<T3_CDRinfoType>:?) -> value v_recvT3CDRinfo;
- // 2. replace real with symbolic values (if any) in the received TTCN-3 data value
- // 3. transform data from a TTCN-3 to CDRinfo data value (if needed)
- // varCDRinfov_recvCDRinfo = f_transformCDRinfoT3toCQ(v_recvT3CDRinfo);
- // 4. set the verdict to fail if if there is a mismatch of the transformed value and p_expectedCDRinfo
- // if ( !match( v_recvCDRinfo p_expectedCDRinfo) {
- // log(CQ_INFO: f_cq_receive_CDRinfo_from_GnOut: FAIL: Mismatch in received and expected CDRinfo values. Stopping test case.�);
- // setverdict(fail);
- // f_cq_f_MBT_Qtronic_endTestcase();
- // stop; }
- //GnOut.receive(p_expectedCDRinfo);
- // Remove or comment the following generated code
- log("CQ_INFO: Warning: f_cq_receive_CDRinfo_from_GnOut: function is not implemented)");
- }
-}
diff --git a/demo/ggsn/MBT_Qtronic_TestSystem.ttcn b/demo/ggsn/MBT_Qtronic_TestSystem.ttcn
deleted file mode 100644
index f64069f..0000000
--- a/demo/ggsn/MBT_Qtronic_TestSystem.ttcn
+++ /dev/null
@@ -1,92 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_TestSystem.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-/* -*- ttcn-3 -*- */
-
-/**
-* @file
-* C:\Users\eantwuh\workspace\GGSN_Goteborg\MBT_Qtronic_Types.ttcn
-* @author
-* Conformiq TTCN-3 scripting backend
-* @version
-* Wed Sep 29 11:27:25 CEST 2010
-* @desc
-* This file contains port type definitions and test component generated by Conformiq
-* with 'DC 1' design configuration for 'GGSN_Goteborg' project.
-* @remark
-* WARNING! This file has been automatically generated using the
-* Conformiq TTCN-3 scripting backend. DO NOT EDIT.
-*/
-module MBT_Qtronic_TestSystem
-{
- import from MBT_Qtronic_Types all; import from MBT_Qtronic_Main all;
-
- type port CLIinPort message
- {
- inout Restart;
- inout Configure;
- inout OverrideConfiguration;
- inout Prepare;
- inout Restore;
- } with {extension "internal"}
- type port GiInPort message
- {
- inout UDPpdu;
- } with {extension "internal"}
- type port GiRadiusInPort message
- {
- inout RadiusAccessAccept;
- } with {extension "internal"}
- type port GnInPort message
- {
- inout CreatePDPcontext;
- inout UpdatePDPcontext;
- inout DeletePDPcontext;
- inout GPDU;
- } with {extension "internal"}
- type port GiOutPort message
- {
- inout UDPpdu;
- } with {extension "internal"}
- type port GiRadiusOutPort message
- {
- inout RadiusAccessRequest;
- } with {extension "internal"}
- type port GnOutPort message
- {
- inout CreatePDPresponse;
- inout UpdatePDPresponse;
- inout DeletePDPresponse;
- inout GPDU;
- inout CDRinfo;
- } with {extension "internal"}
-
- /**
- * @desc
- * The test component (MTC) on which all generated test cases run on
- */
- type component QtronicCT extends MBT_Qtronic_Main_CT
- {
- port CLIinPort CLIin;
- port GiInPort GiIn;
- port GiRadiusInPort GiRadiusIn;
- port GnInPort GnIn;
- port GiOutPort GiOut;
- port GiRadiusOutPort GiRadiusOut;
- port GnOutPort GnOut;
- timer t_cq_timer := 0.0;
- }
-}
diff --git a/demo/ggsn/MBT_Qtronic_Testcases.ttcn b/demo/ggsn/MBT_Qtronic_Testcases.ttcn
deleted file mode 100644
index 9c79fd1..0000000
--- a/demo/ggsn/MBT_Qtronic_Testcases.ttcn
+++ /dev/null
@@ -1,1282 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Testcases.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-/* -*- ttcn-3 -*- */
-
-/**
-* @file
-* C:\Users\eantwuh\workspace\GGSN_Goteborg\MBT_Qtronic_Testcases.ttcn
-* @author
-* Conformiq TTCN-3 scripting backend
-* @version
-* Wed Sep 29 11:27:25 CEST 2010
-* @desc
-* This file contains all test cases generated from the Conformiq 'GGSN_Goteborg' project
-* with 'DC 1' design configuration.
-* @remark
-* WARNING! This file has been automatically generated using the
-* Conformiq TTCN-3 scripting backend. DO NOT EDIT.
-*/
-module MBT_Qtronic_Testcases
-{
- import from MBT_Qtronic_TestSystem all;
- import from MBT_Qtronic_Types all;
- /* Customized imports begin */
- import from MBT_Qtronic_TestHarness all; import from MBT_Qtronic_Main all; import from EPTF_MBT_LGen_Definitions all;
- /* Customized imports end */
-
- modulepar float mp_max_response_time := 10.0;
-
- /***** Logging verbosity flags *****/
- /**
- * @desc
- * When this module parameter value is set to true all requirements
- * targeted in each test case will be logged.
- * The default value of this module parameter is true.
- */
- modulepar boolean mp_log_targeted_requirements := true;
-
- /**
- * @desc
- * Generated test case #1
- */
- testcase tc_Test_Case_1()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_1'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_1: Step 1");
- f_cq_send_Prepare_to_CLIin(m_PrepareTemplate1);
- f_cq_log_target("Covered requirement: PrepareRestore/Prepare", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_1");
- }
- /***** Template definitions generated for tc_Test_Case_1*****/
- template Prepare m_PrepareTemplate1 :=
- {
- cmds := {
- "f_TELNET_Init",
- "f_sr_TELNET_OverrideConfiguration"
- }
- }
-
- /**
- * @desc
- * Generated test case #2
- */
- testcase tc_Test_Case_2()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_2'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_2: Step 1");
- f_cq_send_Restore_to_CLIin(m_RestoreTemplate2);
- f_cq_log_target("Covered requirement: PrepareRestore/Restore", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_2");
- }
- /***** Template definitions generated for tc_Test_Case_2*****/
- template Restore m_RestoreTemplate2 :=
- {
- cmds := {
- "f_TELNET_Init",
- "f_sr_TELNET_OverrideConfiguration"
- }
- }
-
- /**
- * @desc
- * Generated test case #3
- */
- testcase tc_Test_Case_3()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_3'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_3: Step 1");
- f_cq_send_Configure_to_CLIin(m_ConfigureTemplate3);
-
- /***** Step 2; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_3: Step 2");
- f_cq_send_CreatePDPcontext_to_GnIn(m_CreatePDPcontextTemplate4);
-
- /***** Step 3; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_3: Step 3");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CreatePDPresponse_from_GnOut(m_expectedCreatePDPresponseTemplate5);
- t_cq_timer.stop;
-
- /***** Step 4; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_3: Step 4");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful creation", e_requirement);
- f_cq_send_UDPpdu_to_GiIn(m_UDPpduTemplate6);
-
- /***** Step 5; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_3: Step 5");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_GPDU_from_GnOut(m_expectedGPDUTemplate7);
- t_cq_timer.stop;
-
- /***** Step 6; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_3: Step 6");
- f_cq_log_target("Covered requirement: Payload/Forward downlink", e_requirement);
- f_cq_send_DeletePDPcontext_to_GnIn(m_DeletePDPcontextTemplate8);
-
- /***** Step 7; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_3: Step 7");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_DeletePDPresponse_from_GnOut(m_expectedDeletePDPresponseTemplate9);
- t_cq_timer.stop;
- f_cq_log_target("Covered requirement: PDP context/Confirm successful deletion", e_requirement);
- f_cq_log_target("Covered requirement: Configuration/Groups/Default - no options", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_3");
- }
- /***** Template definitions generated for tc_Test_Case_3*****/
- template Configure m_ConfigureTemplate3 :=
- {
- cmds := {
- "DEFAULT_CONFIG"
- },
- enableCharging := false,
- enableRadiusAuth := false
- }
-
- template CreatePDPcontext m_CreatePDPcontextTemplate4 :=
- {
- imsi := "240001111231411",
- nsapi := 5,
- apn := "apn1.com"
- }
-
- template CreatePDPresponse m_expectedCreatePDPresponseTemplate5 :=
- {
- causevalue := 128
- }
-
- template UDPpdu m_UDPpduTemplate6 :=
- {
- data := 0
- }
-
- template GPDU m_expectedGPDUTemplate7 :=
- {
- data := 0
- }
-
- template DeletePDPcontext m_DeletePDPcontextTemplate8 :=
- {
- nsapi := 5
- }
-
- template DeletePDPresponse m_expectedDeletePDPresponseTemplate9 :=
- {
- causevalue := 128
- }
-
- /**
- * @desc
- * Generated test case #4
- */
- testcase tc_Test_Case_4()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_4'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 1");
- f_cq_send_Configure_to_CLIin(m_ConfigureTemplate10);
-
- /***** Step 2; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 2");
- f_cq_send_CreatePDPcontext_to_GnIn(m_CreatePDPcontextTemplate11);
-
- /***** Step 3; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 3");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CreatePDPresponse_from_GnOut(m_expectedCreatePDPresponseTemplate12);
- t_cq_timer.stop;
-
- /***** Step 4; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 4");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful creation", e_requirement);
- f_cq_send_GPDU_to_GnIn(m_GPDUTemplate13);
-
- /***** Step 5; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 5");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UDPpdu_from_GiOut(m_expectedUDPpduTemplate14);
- t_cq_timer.stop;
-
- /***** Step 6; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 6");
- f_cq_log_target("Covered requirement: Payload/Forward uplink", e_requirement);
- f_cq_send_UDPpdu_to_GiIn(m_UDPpduTemplate15);
-
- /***** Step 7; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 7");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_GPDU_from_GnOut(m_expectedGPDUTemplate16);
- t_cq_timer.stop;
-
- /***** Step 8; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 8");
- f_cq_log_target("Covered requirement: Payload/Forward downlink", e_requirement);
- f_cq_send_DeletePDPcontext_to_GnIn(m_DeletePDPcontextTemplate17);
-
- /***** Step 9; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_4: Step 9");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_DeletePDPresponse_from_GnOut(m_expectedDeletePDPresponseTemplate18);
- t_cq_timer.stop;
- f_cq_log_target("Covered requirement: PDP context/Confirm successful deletion", e_requirement);
- f_cq_log_target("Covered requirement: Payload/Bidirectional payload", e_requirement);
- f_cq_log_target("Covered requirement: Configuration/Groups/Default - no options", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_4");
- }
- /***** Template definitions generated for tc_Test_Case_4*****/
- template Configure m_ConfigureTemplate10 :=
- {
- cmds := {
- "DEFAULT_CONFIG"
- },
- enableCharging := false,
- enableRadiusAuth := false
- }
-
- template CreatePDPcontext m_CreatePDPcontextTemplate11 :=
- {
- imsi := "240001111231411",
- nsapi := 5,
- apn := "apn1.com"
- }
-
- template CreatePDPresponse m_expectedCreatePDPresponseTemplate12 :=
- {
- causevalue := 128
- }
-
- template GPDU m_GPDUTemplate13 :=
- {
- data := 0
- }
-
- template UDPpdu m_expectedUDPpduTemplate14 :=
- {
- data := 0
- }
-
- template UDPpdu m_UDPpduTemplate15 :=
- {
- data := 0
- }
-
- template GPDU m_expectedGPDUTemplate16 :=
- {
- data := 0
- }
-
- template DeletePDPcontext m_DeletePDPcontextTemplate17 :=
- {
- nsapi := 5
- }
-
- template DeletePDPresponse m_expectedDeletePDPresponseTemplate18 :=
- {
- causevalue := 128
- }
-
- /**
- * @desc
- * Generated test case #5
- */
- testcase tc_Test_Case_5()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_5'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 1");
- f_cq_send_Configure_to_CLIin(m_ConfigureTemplate19);
-
- /***** Step 2; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 2");
- f_cq_send_CreatePDPcontext_to_GnIn(m_CreatePDPcontextTemplate20);
-
- /***** Step 3; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 3");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CreatePDPresponse_from_GnOut(m_expectedCreatePDPresponseTemplate21);
- t_cq_timer.stop;
-
- /***** Step 4; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 4");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful creation", e_requirement);
- f_cq_send_GPDU_to_GnIn(m_GPDUTemplate22);
-
- /***** Step 5; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 5");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UDPpdu_from_GiOut(m_expectedUDPpduTemplate23);
- t_cq_timer.stop;
-
- /***** Step 6; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 6");
- f_cq_log_target("Covered requirement: Payload/Forward uplink", e_requirement);
- f_cq_send_UpdatePDPcontext_to_GnIn(m_UpdatePDPcontextTemplate24);
-
- /***** Step 7; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 7");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UpdatePDPresponse_from_GnOut(m_expectedUpdatePDPresponseTemplate25);
- t_cq_timer.stop;
-
- /***** Step 8; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 8");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful update", e_requirement);
- f_cq_log_target("Covered requirement: PDP context/Update/After data transfer", e_requirement);
- f_cq_send_DeletePDPcontext_to_GnIn(m_DeletePDPcontextTemplate26);
-
- /***** Step 9; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_5: Step 9");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_DeletePDPresponse_from_GnOut(m_expectedDeletePDPresponseTemplate27);
- t_cq_timer.stop;
- f_cq_log_target("Covered requirement: PDP context/Confirm successful deletion", e_requirement);
- f_cq_log_target("Covered requirement: Configuration/Groups/Default - no options", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_5");
- }
- /***** Template definitions generated for tc_Test_Case_5*****/
- template Configure m_ConfigureTemplate19 :=
- {
- cmds := {
- "DEFAULT_CONFIG"
- },
- enableCharging := false,
- enableRadiusAuth := false
- }
-
- template CreatePDPcontext m_CreatePDPcontextTemplate20 :=
- {
- imsi := "240001111231411",
- nsapi := 5,
- apn := "apn1.com"
- }
-
- template CreatePDPresponse m_expectedCreatePDPresponseTemplate21 :=
- {
- causevalue := 128
- }
-
- template GPDU m_GPDUTemplate22 :=
- {
- data := 0
- }
-
- template UDPpdu m_expectedUDPpduTemplate23 :=
- {
- data := 0
- }
-
- template UpdatePDPcontext m_UpdatePDPcontextTemplate24 :=
- {
- nsapi := 5
- }
-
- template UpdatePDPresponse m_expectedUpdatePDPresponseTemplate25 :=
- {
- causevalue := 128
- }
-
- template DeletePDPcontext m_DeletePDPcontextTemplate26 :=
- {
- nsapi := 5
- }
-
- template DeletePDPresponse m_expectedDeletePDPresponseTemplate27 :=
- {
- causevalue := 128
- }
-
- /**
- * @desc
- * Generated test case #6
- */
- testcase tc_Test_Case_6()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_6'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 1");
- f_cq_send_Configure_to_CLIin(m_ConfigureTemplate28);
-
- /***** Step 2; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 2");
- f_cq_send_CreatePDPcontext_to_GnIn(m_CreatePDPcontextTemplate29);
-
- /***** Step 3; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 3");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CreatePDPresponse_from_GnOut(m_expectedCreatePDPresponseTemplate30);
- t_cq_timer.stop;
-
- /***** Step 4; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 4");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful creation", e_requirement);
- f_cq_send_UpdatePDPcontext_to_GnIn(m_UpdatePDPcontextTemplate31);
-
- /***** Step 5; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 5");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UpdatePDPresponse_from_GnOut(m_expectedUpdatePDPresponseTemplate32);
- t_cq_timer.stop;
-
- /***** Step 6; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 6");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful update", e_requirement);
- f_cq_log_target("Covered requirement: PDP context/Update/Before data transfer", e_requirement);
- f_cq_send_GPDU_to_GnIn(m_GPDUTemplate33);
-
- /***** Step 7; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 7");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UDPpdu_from_GiOut(m_expectedUDPpduTemplate34);
- t_cq_timer.stop;
-
- /***** Step 8; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 8");
- f_cq_log_target("Covered requirement: Payload/Forward uplink", e_requirement);
- f_cq_send_DeletePDPcontext_to_GnIn(m_DeletePDPcontextTemplate35);
-
- /***** Step 9; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_6: Step 9");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_DeletePDPresponse_from_GnOut(m_expectedDeletePDPresponseTemplate36);
- t_cq_timer.stop;
- f_cq_log_target("Covered requirement: PDP context/Confirm successful deletion", e_requirement);
- f_cq_log_target("Covered requirement: Configuration/Groups/Default - no options", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_6");
- }
- /***** Template definitions generated for tc_Test_Case_6*****/
- template Configure m_ConfigureTemplate28 :=
- {
- cmds := {
- "DEFAULT_CONFIG"
- },
- enableCharging := false,
- enableRadiusAuth := false
- }
-
- template CreatePDPcontext m_CreatePDPcontextTemplate29 :=
- {
- imsi := "240001111231411",
- nsapi := 5,
- apn := "apn1.com"
- }
-
- template CreatePDPresponse m_expectedCreatePDPresponseTemplate30 :=
- {
- causevalue := 128
- }
-
- template UpdatePDPcontext m_UpdatePDPcontextTemplate31 :=
- {
- nsapi := 5
- }
-
- template UpdatePDPresponse m_expectedUpdatePDPresponseTemplate32 :=
- {
- causevalue := 128
- }
-
- template GPDU m_GPDUTemplate33 :=
- {
- data := 0
- }
-
- template UDPpdu m_expectedUDPpduTemplate34 :=
- {
- data := 0
- }
-
- template DeletePDPcontext m_DeletePDPcontextTemplate35 :=
- {
- nsapi := 5
- }
-
- template DeletePDPresponse m_expectedDeletePDPresponseTemplate36 :=
- {
- causevalue := 128
- }
-
- /**
- * @desc
- * Generated test case #7
- */
- testcase tc_Test_Case_7()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_7'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 1");
- f_cq_send_Configure_to_CLIin(m_ConfigureTemplate37);
-
- /***** Step 2; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 2");
- f_cq_send_CreatePDPcontext_to_GnIn(m_CreatePDPcontextTemplate38);
-
- /***** Step 3; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 3");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CreatePDPresponse_from_GnOut(m_expectedCreatePDPresponseTemplate39);
- t_cq_timer.stop;
-
- /***** Step 4; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 4");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful creation", e_requirement);
- f_cq_send_GPDU_to_GnIn(m_GPDUTemplate40);
-
- /***** Step 5; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 5");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UDPpdu_from_GiOut(m_expectedUDPpduTemplate41);
- t_cq_timer.stop;
-
- /***** Step 6; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 6");
- f_cq_log_target("Covered requirement: Payload/Forward uplink", e_requirement);
- f_cq_send_DeletePDPcontext_to_GnIn(m_DeletePDPcontextTemplate42);
-
- /***** Step 7; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 7");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_DeletePDPresponse_from_GnOut(m_expectedDeletePDPresponseTemplate43);
- t_cq_timer.stop;
-
- /***** Step 8; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 8");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful deletion", e_requirement);
- f_cq_log_target("Covered requirement: Charging/Single data", e_requirement);
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CDRinfo_from_GnOut(m_expectedCDRinfoTemplate44);
- t_cq_timer.stop;
-
- /***** Step 9; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_7: Step 9");
- f_cq_log_target("Covered requirement: Configuration/Groups/Only Charging", e_requirement);
- f_cq_send_OverrideConfiguration_to_CLIin(m_OverrideConfigurationTemplate45);
- f_cq_log_target("Covered requirement: Configuration/Clean up if configuration changed", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_7");
- }
- /***** Template definitions generated for tc_Test_Case_7*****/
- template Configure m_ConfigureTemplate37 :=
- {
- cmds := {
- "DEFAULT_CONFIG"
- },
- enableCharging := true,
- enableRadiusAuth := false
- }
-
- template CreatePDPcontext m_CreatePDPcontextTemplate38 :=
- {
- imsi := "240001111231411",
- nsapi := 5,
- apn := "apn1.com"
- }
-
- template CreatePDPresponse m_expectedCreatePDPresponseTemplate39 :=
- {
- causevalue := 128
- }
-
- template GPDU m_GPDUTemplate40 :=
- {
- data := 0
- }
-
- template UDPpdu m_expectedUDPpduTemplate41 :=
- {
- data := 0
- }
-
- template DeletePDPcontext m_DeletePDPcontextTemplate42 :=
- {
- nsapi := 5
- }
-
- template DeletePDPresponse m_expectedDeletePDPresponseTemplate43 :=
- {
- causevalue := 128
- }
-
- template CDRinfo m_expectedCDRinfoTemplate44 :=
- {
- data := 1
- }
-
- template OverrideConfiguration m_OverrideConfigurationTemplate45 :=
- {
- overrideCharging := true,
- overrideRadiusAuth := false
- }
-
- /**
- * @desc
- * Generated test case #8
- */
- testcase tc_Test_Case_8()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_8'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 1");
- f_cq_send_Configure_to_CLIin(m_ConfigureTemplate46);
-
- /***** Step 2; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 2");
- f_cq_send_CreatePDPcontext_to_GnIn(m_CreatePDPcontextTemplate47);
-
- /***** Step 3; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 3");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_RadiusAccessRequest_from_GiRadiusOut(m_expectedRadiusAccessRequestTemplate48);
- t_cq_timer.stop;
-
- /***** Step 4; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 4");
- f_cq_log_target("Covered requirement: Radius/Authentication/Send Access Request", e_requirement);
- f_cq_send_RadiusAccessAccept_to_GiRadiusIn(m_RadiusAccessAcceptTemplate49);
-
- /***** Step 5; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 5");
- f_cq_log_target("Covered requirement: Radius/Authentication/Wait for Access Accept", e_requirement);
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CreatePDPresponse_from_GnOut(m_expectedCreatePDPresponseTemplate50);
- t_cq_timer.stop;
-
- /***** Step 6; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 6");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful creation", e_requirement);
- f_cq_send_GPDU_to_GnIn(m_GPDUTemplate51);
-
- /***** Step 7; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 7");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UDPpdu_from_GiOut(m_expectedUDPpduTemplate52);
- t_cq_timer.stop;
-
- /***** Step 8; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 8");
- f_cq_log_target("Covered requirement: Payload/Forward uplink", e_requirement);
- f_cq_send_DeletePDPcontext_to_GnIn(m_DeletePDPcontextTemplate53);
-
- /***** Step 9; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 9");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_DeletePDPresponse_from_GnOut(m_expectedDeletePDPresponseTemplate54);
- t_cq_timer.stop;
-
- /***** Step 10; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_8: Step 10");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful deletion", e_requirement);
- f_cq_log_target("Covered requirement: Configuration/Groups/Only Radius Auth", e_requirement);
- f_cq_send_OverrideConfiguration_to_CLIin(m_OverrideConfigurationTemplate55);
- f_cq_log_target("Covered requirement: Configuration/Clean up if configuration changed", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_8");
- }
- /***** Template definitions generated for tc_Test_Case_8*****/
- template Configure m_ConfigureTemplate46 :=
- {
- cmds := {
- "DEFAULT_CONFIG"
- },
- enableCharging := false,
- enableRadiusAuth := true
- }
-
- template CreatePDPcontext m_CreatePDPcontextTemplate47 :=
- {
- imsi := "240001111231411",
- nsapi := 5,
- apn := "apn1.com"
- }
-
- template RadiusAccessRequest m_expectedRadiusAccessRequestTemplate48 :=
- {
-
- }
-
- template RadiusAccessAccept m_RadiusAccessAcceptTemplate49 :=
- {
-
- }
-
- template CreatePDPresponse m_expectedCreatePDPresponseTemplate50 :=
- {
- causevalue := 128
- }
-
- template GPDU m_GPDUTemplate51 :=
- {
- data := 0
- }
-
- template UDPpdu m_expectedUDPpduTemplate52 :=
- {
- data := 0
- }
-
- template DeletePDPcontext m_DeletePDPcontextTemplate53 :=
- {
- nsapi := 5
- }
-
- template DeletePDPresponse m_expectedDeletePDPresponseTemplate54 :=
- {
- causevalue := 128
- }
-
- template OverrideConfiguration m_OverrideConfigurationTemplate55 :=
- {
- overrideCharging := false,
- overrideRadiusAuth := true
- }
-
- /**
- * @desc
- * Generated test case #9
- */
- testcase tc_Test_Case_9()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_9'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 1");
- f_cq_send_Configure_to_CLIin(m_ConfigureTemplate56);
-
- /***** Step 2; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 2");
- f_cq_send_CreatePDPcontext_to_GnIn(m_CreatePDPcontextTemplate57);
-
- /***** Step 3; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 3");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_RadiusAccessRequest_from_GiRadiusOut(m_expectedRadiusAccessRequestTemplate58);
- t_cq_timer.stop;
-
- /***** Step 4; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 4");
- f_cq_log_target("Covered requirement: Radius/Authentication/Send Access Request", e_requirement);
- f_cq_send_RadiusAccessAccept_to_GiRadiusIn(m_RadiusAccessAcceptTemplate59);
-
- /***** Step 5; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 5");
- f_cq_log_target("Covered requirement: Radius/Authentication/Wait for Access Accept", e_requirement);
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CreatePDPresponse_from_GnOut(m_expectedCreatePDPresponseTemplate60);
- t_cq_timer.stop;
-
- /***** Step 6; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 6");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful creation", e_requirement);
- f_cq_send_GPDU_to_GnIn(m_GPDUTemplate61);
-
- /***** Step 7; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 7");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UDPpdu_from_GiOut(m_expectedUDPpduTemplate62);
- t_cq_timer.stop;
-
- /***** Step 8; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 8");
- f_cq_log_target("Covered requirement: Payload/Forward uplink", e_requirement);
- f_cq_send_DeletePDPcontext_to_GnIn(m_DeletePDPcontextTemplate63);
-
- /***** Step 9; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 9");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_DeletePDPresponse_from_GnOut(m_expectedDeletePDPresponseTemplate64);
- t_cq_timer.stop;
-
- /***** Step 10; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 10");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful deletion", e_requirement);
- f_cq_log_target("Covered requirement: Charging/Single data", e_requirement);
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CDRinfo_from_GnOut(m_expectedCDRinfoTemplate65);
- t_cq_timer.stop;
-
- /***** Step 11; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_9: Step 11");
- f_cq_log_target("Covered requirement: Configuration/Groups/Both Charging and Radius Auth", e_requirement);
- f_cq_send_OverrideConfiguration_to_CLIin(m_OverrideConfigurationTemplate66);
- f_cq_log_target("Covered requirement: Configuration/Clean up if configuration changed", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_9");
- }
- /***** Template definitions generated for tc_Test_Case_9*****/
- template Configure m_ConfigureTemplate56 :=
- {
- cmds := {
- "DEFAULT_CONFIG"
- },
- enableCharging := true,
- enableRadiusAuth := true
- }
-
- template CreatePDPcontext m_CreatePDPcontextTemplate57 :=
- {
- imsi := "240001111231411",
- nsapi := 5,
- apn := "apn1.com"
- }
-
- template RadiusAccessRequest m_expectedRadiusAccessRequestTemplate58 :=
- {
-
- }
-
- template RadiusAccessAccept m_RadiusAccessAcceptTemplate59 :=
- {
-
- }
-
- template CreatePDPresponse m_expectedCreatePDPresponseTemplate60 :=
- {
- causevalue := 128
- }
-
- template GPDU m_GPDUTemplate61 :=
- {
- data := 0
- }
-
- template UDPpdu m_expectedUDPpduTemplate62 :=
- {
- data := 0
- }
-
- template DeletePDPcontext m_DeletePDPcontextTemplate63 :=
- {
- nsapi := 5
- }
-
- template DeletePDPresponse m_expectedDeletePDPresponseTemplate64 :=
- {
- causevalue := 128
- }
-
- template CDRinfo m_expectedCDRinfoTemplate65 :=
- {
- data := 1
- }
-
- template OverrideConfiguration m_OverrideConfigurationTemplate66 :=
- {
- overrideCharging := true,
- overrideRadiusAuth := true
- }
-
- /**
- * @desc
- * Generated test case #10
- */
- testcase tc_Test_Case_10()
- runs on QtronicCT
- {
- log("CQ_DEBUG: Starting execution of test case: 'tc_Test_Case_10'");
- var float v_last_wait_timeout := 0.0;
- var default v_cq_default;
-
- /***** set up test configuration, TTCN-3 harness, and adapter *****/
- f_cq_beginTestcase();
- // default handles waiting beyond maximum response time and reception of any
- // other than the expected message with setting a fail verdict and stopping the test
- v_cq_default := activate(a_cq_default());
-
- /***** Step 1; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 1");
- f_cq_send_Configure_to_CLIin(m_ConfigureTemplate67);
-
- /***** Step 2; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 2");
- f_cq_send_CreatePDPcontext_to_GnIn(m_CreatePDPcontextTemplate68);
-
- /***** Step 3; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 3");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CreatePDPresponse_from_GnOut(m_expectedCreatePDPresponseTemplate69);
- t_cq_timer.stop;
-
- /***** Step 4; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 4");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful creation", e_requirement);
- f_cq_send_GPDU_to_GnIn(m_GPDUTemplate70);
-
- /***** Step 5; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 5");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UDPpdu_from_GiOut(m_expectedUDPpduTemplate71);
- t_cq_timer.stop;
-
- /***** Step 6; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 6");
- f_cq_log_target("Covered requirement: Payload/Forward uplink", e_requirement);
- f_cq_send_GPDU_to_GnIn(m_GPDUTemplate72);
-
- /***** Step 7; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 7");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_UDPpdu_from_GiOut(m_expectedUDPpduTemplate73);
- t_cq_timer.stop;
-
- /***** Step 8; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 8");
- f_cq_log_target("Covered requirement: Payload/Forward uplink", e_requirement);
- f_cq_send_DeletePDPcontext_to_GnIn(m_DeletePDPcontextTemplate74);
-
- /***** Step 9; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 9");
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_DeletePDPresponse_from_GnOut(m_expectedDeletePDPresponseTemplate75);
- t_cq_timer.stop;
-
- /***** Step 10; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 10");
- f_cq_log_target("Covered requirement: PDP context/Confirm successful deletion", e_requirement);
- f_cq_log_target("Covered requirement: Charging/Multiple data", e_requirement);
- t_cq_timer.start(mp_max_response_time);
- // Note: In below receive v_cq_default() is active!
- f_cq_receive_CDRinfo_from_GnOut(m_expectedCDRinfoTemplate76);
- t_cq_timer.stop;
-
- /***** Step 11; t = 0.0 *****/
- log("CQ_DEBUG: tc_Test_Case_10: Step 11");
- f_cq_log_target("Covered requirement: Configuration/Groups/Only Charging", e_requirement);
- f_cq_send_OverrideConfiguration_to_CLIin(m_OverrideConfigurationTemplate77);
- f_cq_log_target("Covered requirement: Configuration/Clean up if configuration changed", e_requirement);
-
- setverdict(pass);
- deactivate(v_cq_default);
-
- /***** tear down test configuration, TTCN-3 harness, and adapter *****/
- f_cq_endTestcase();
-
- log("CQ_DEBUG: Ending execution of tc_Test_Case_10");
- }
- /***** Template definitions generated for tc_Test_Case_10*****/
- template Configure m_ConfigureTemplate67 :=
- {
- cmds := {
- "DEFAULT_CONFIG"
- },
- enableCharging := true,
- enableRadiusAuth := false
- }
-
- template CreatePDPcontext m_CreatePDPcontextTemplate68 :=
- {
- imsi := "240001111231411",
- nsapi := 5,
- apn := "apn1.com"
- }
-
- template CreatePDPresponse m_expectedCreatePDPresponseTemplate69 :=
- {
- causevalue := 128
- }
-
- template GPDU m_GPDUTemplate70 :=
- {
- data := 0
- }
-
- template UDPpdu m_expectedUDPpduTemplate71 :=
- {
- data := 0
- }
-
- template GPDU m_GPDUTemplate72 :=
- {
- data := 0
- }
-
- template UDPpdu m_expectedUDPpduTemplate73 :=
- {
- data := 0
- }
-
- template DeletePDPcontext m_DeletePDPcontextTemplate74 :=
- {
- nsapi := 5
- }
-
- template DeletePDPresponse m_expectedDeletePDPresponseTemplate75 :=
- {
- causevalue := 128
- }
-
- template CDRinfo m_expectedCDRinfoTemplate76 :=
- {
- data := 2
- }
-
- template OverrideConfiguration m_OverrideConfigurationTemplate77 :=
- {
- overrideCharging := true,
- overrideRadiusAuth := false
- }
-
-
- /**
- * @desc
- * This altstep handles terminating after waiting up to
- * the maximum response time and receiving any other
- * than the expected message with setting a fail
- * verdict and stopping the test
- */
- altstep a_cq_default() runs on QtronicCT
- {
- [] t_cq_timer.timeout
- {
- setverdict(fail);
- log("CQ_DEBUG: a_cq_default(): FAIL: Stopping test case after time out of timer: t_cq_timer!");
- f_cq_endTestcase();
- stop;
- }
- }
- /**
- * @desc
- * This function blocks the execution for the specified time
- * @param
- * p_duration The specified time in seconds
- */
- function f_cq_sleep(float p_duration)
- {
- timer t;
- t.start(p_duration);
- t.timeout; // Note that any active default behavior may interrupt this waiting!
- }
-
- type enumerated target_type
- {
- e_requirement
- }
-
- /**
- * @desc
- * This function logs target description if the module parameter
- * related to the target type is set to true.
- * Module parameters and target type dependencies are as follows:
- * mp_log_targeted_requirements controls logging of targets type e_requirement
- * @param
- * p_description The textual target description to be logged
- * @param
- * p_target_type The type of target covered by a test
- */
- function f_cq_log_target (charstring p_description, target_type p_target_type) runs on QtronicCT
- {
- if ((p_target_type == e_requirement) and mp_log_targeted_requirements)
- {
- log("CQ_INFO: " & p_description);
- }
- }
- control
- {
- execute(tc_Test_Case_1());
- execute(tc_Test_Case_2());
- execute(tc_Test_Case_3());
- execute(tc_Test_Case_4());
- execute(tc_Test_Case_5());
- execute(tc_Test_Case_6());
- execute(tc_Test_Case_7());
- execute(tc_Test_Case_8());
- execute(tc_Test_Case_9());
- execute(tc_Test_Case_10());
- }
-
-}
diff --git a/demo/ggsn/MBT_Qtronic_Types.ttcn b/demo/ggsn/MBT_Qtronic_Types.ttcn
deleted file mode 100644
index 2ec8b61..0000000
--- a/demo/ggsn/MBT_Qtronic_Types.ttcn
+++ /dev/null
@@ -1,105 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Types.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-/* -*- ttcn-3 -*- */
-
-/**
-* @file
-* C:\Users\eantwuh\workspace\GGSN_Goteborg\MBT_Qtronic_Types.ttcn
-* @author
-* Conformiq TTCN-3 scripting backend
-* @version
-* Wed Sep 29 11:27:25 CEST 2010
-* @desc
-* This file contains all data type definitions exported from the Conformiq GGSN_Goteborg' project.
-* with 'DC 1' design configuration.'
-* @remark
-* WARNING! This file has been automatically generated using the
-* Conformiq TTCN-3 scripting backend. DO NOT EDIT.
-*/
-module MBT_Qtronic_Types
-{
- type record Restart
- {
-
- }
- type record Configure
- {
- charstringArray cmds,
- boolean enableCharging,
- boolean enableRadiusAuth
- }
- type record OverrideConfiguration
- {
- boolean overrideCharging,
- boolean overrideRadiusAuth
- }
- type record Prepare
- {
- charstringArray cmds
- }
- type record Restore
- {
- charstringArray cmds
- }
- type record UDPpdu
- {
- integer data
- }
- type record RadiusAccessAccept
- {
-
- }
- type record CreatePDPcontext
- {
- charstring imsi,
- integer nsapi,
- charstring apn
- }
- type record UpdatePDPcontext
- {
- integer nsapi
- }
- type record DeletePDPcontext
- {
- integer nsapi
- }
- type record GPDU
- {
- integer data
- }
- type record RadiusAccessRequest
- {
-
- }
- type record CreatePDPresponse
- {
- integer causevalue
- }
- type record UpdatePDPresponse
- {
- integer causevalue
- }
- type record DeletePDPresponse
- {
- integer causevalue
- }
- type record CDRinfo
- {
- integer data
- }
- type record of charstring charstringArray;
-}
diff --git a/demo/ggsn/makefile_patch.sh b/demo/ggsn/makefile_patch.sh
deleted file mode 100755
index 51e24e4..0000000
--- a/demo/ggsn/makefile_patch.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-sed -e '
-s/OPENSSL_DIR =/#OPENSSL_DIR =/g
-
-s/CPPFLAGS = .*/CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)\/include -I$(OPENSSL_DIR)\/include -DNO_IPV6/g
-
-s/SOLARIS8_LIBS = -lsocket -lnsl/SOLARIS8_LIBS = -lpcap -lsocket -lnsl -lresolv/g
-
-s/LINUX_LIBS = -lxml2/LINUX_LIBS = -lxml2 -lpcap/g
-
-s/COMPILER_FLAGS = -L/COMPILER_FLAGS = -L -w/g
-' <$1 >$2
-
-
diff --git a/demo/ggsn/model/CDRrecords.java b/demo/ggsn/model/CDRrecords.java
deleted file mode 100644
index 61094c1..0000000
--- a/demo/ggsn/model/CDRrecords.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * CDRrecords.java
- *
- * CDR (charging date) related records
- */
-
-record CDRinfo {
- int data;
-}
diff --git a/demo/ggsn/model/CLIrecords.java b/demo/ggsn/model/CLIrecords.java
deleted file mode 100644
index 35c157f..0000000
--- a/demo/ggsn/model/CLIrecords.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * CLIrecords.java
- *
- * Ericsson CLI interface records/messages
- */
-
-// Restart - restart node, for instance after changing
-// the node configuraion
-record Restart { }
-
-record Prepare {
- String[] cmds;
-}
-
-record Restore {
- String[] cmds;
-}
-
-/**
- * Configuration
- *
- * Sample GGSN configuration from test_basic.ttcn :
- *
- f_sr_TELNET_Configuration(
- { "set services ggsn charging charging-format 6",
- "set services ggsn charging cdr-attribute record-extension",
- "set services ggsn charging characteristics profile8 transfer-type gtp-prime",
- "set services ggsn charging characteristics profile8 gtp-prime gateway " & tsp_CGF_IpAddr,
- "set services ggsn charging characteristics profile8 change-limit 1",
- "set services ggsn charging characteristics default profile8"
- });
- *
- * 4th command above relies on an IP address taken from TTCN configuration item "tsp_CGF_IpAddr"
- * For the pilot we define all configuration commands at the harness level.
- * Only use "configuration identifiers" at model level, for instance "DEFAULT_CONFIG"??
- *
- * It would be possible to define (alternative) configuration at the model level,
- * and still apply variable substitution on the TTCN level.
-**/
-
-record Configure {
- String[] cmds;
-
- // 100222: Feature based configuration
- // On the model level we only take care that certain things assume the
- // node is configured in a certain way. For instance, the part of the
- // model describing how a CDR is sent out can only be done if the node
- // has been set up with charging enabled;
-
- boolean enableCharging;
- boolean enableRadiusAuth;
-}
-
-record OverrideConfiguration {
- // If we want to tailor the cleanup we can add data items
- // here to control the cleanup.
- boolean overrideCharging;
- boolean overrideRadiusAuth;
-}
diff --git a/demo/ggsn/model/GGSN.java b/demo/ggsn/model/GGSN.java
deleted file mode 100644
index ac20fd4..0000000
--- a/demo/ggsn/model/GGSN.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
- * GGSN.java
- *
- * Core logic of GGSN
- **/
-
-class PDPcontext {
- public int nsapi;
- public String imsi;
- //public int uplinkDataTeid;
- //public int downlinkDataTeid;
-}
-
-class GGSN extends StateMachine
-{
- private Charging charging;
- private CLI cli;
- private NodeConfiguration nodeConfiguration;
- private int uplinkData;
- private int downlinkData;
- private PDPcontext pdpContext;
-
- public GGSN(Charging charging, CLI cli, NodeConfiguration nodeConfiguration)
- {
- this.charging = charging;
- this.cli = cli;
- this.nodeConfiguration = nodeConfiguration;
- uplinkData = 0;
- downlinkData = 0;
-
- // NB: In our simplified view (for now) we only handle a single context,
- // but the model can be easily enhanced to handle multiple contexts.
- pdpContext = new PDPcontext();
- }
-
- private void createPDPcontext(CreatePDPcontext request)
- {
- // Control incoming data values - Qtronic specific to
- // control test data generated for test suite.
-
- /**
- * Snippet of how it may look with a more or less
- * one-to-one mapping between model and GTPC data:
- require request.imsi_digits != null;
- require request.imsi_digits.length == IMSI_OCTETS;
- for (int i = 0; i < request.imsi_digits.length; i++)
- require request.imsi_digits[i] == imsi1[i];
-
- require request.teidDataI != null;
- require request.teidDataI.length == TEID_OCTETS;
- for (int i = 0; i < request.teidDataI.length; i++)
- require request.teidDataI[i] == teid1[i];
- **/
-
- // Our simplified view on data
- require request.imsi == "240001111231411";
- //require request.downlinkDataTeid == 1;
- require request.nsapi == 5;
- require request.apn == "apn1.com";
-
- // Handle request - in our simplified view we handle
- // only one single PDP context. The state machine is
- // laid out so that a createPDPcontext will always be
- // done before any update, delete, or sending of payload.
- pdpContext.imsi = request.imsi;
- pdpContext.nsapi = request.nsapi;
- //pdpContext.downlinkDataTeid = request.downlinkDataTeid;
-
- //pdpContext.uplinkDataTeid = 3;
- }
-
- private void sendRadiusAuthRequest()
- {
- RadiusAccessRequest request;
- GiRadiusOut.send(request);
- requirement "Radius/Authentication/Send Access Request";
- }
-
- private void confirmCreatePDPcontext()
- {
- // Send response back
- CreatePDPresponse response;
- response.causevalue = REQUEST_ACCEPTED;
- //response.uplinkDataTeid = pdpContext.uplinkDataTeid;
- GnOut.send(response);
- requirement "PDP context/Confirm successful creation";
- }
-
- private void updatePDPcontext(UpdatePDPcontext request)
- {
- // TODO: what to do with update??
- // Currently it seems TTCN libraries take care of both update
- // details and receiving the correct response, as well as doing
- // the pass/fail verdict.
- // We can have an "empty" update request in the model to just
- // trigger a call to the existing library update function, or
- // we can add more detail to the model and NOT use the existing
- // library update function.
-
- // 100114: we can handle the response to the update on the
- // model level for understanding, but regard it as a NOP on
- // the QtronicHarness level.
-
-
- require request.nsapi == pdpContext.nsapi;
- //require request.downlinkDataTeid == pdpContext.downlinkDataTeid;
-
- // Send response
- UpdatePDPresponse response;
-
- response.causevalue = REQUEST_ACCEPTED;
- GnOut.send(response);
- requirement "PDP context/Confirm successful update";
- }
-
- private void deletePDPcontext(DeletePDPcontext request)
- {
- // Take care of request parameters
- require request.nsapi == pdpContext.nsapi;
-
- // Send response back
- DeletePDPresponse response;
- response.causevalue = REQUEST_ACCEPTED;
- GnOut.send(response);
- requirement "PDP context/Confirm successful deletion";
- }
-
- // forwardGPDUtoGi() - when a GPDU is recieved on the Gn interface
- // the payload should be forwarded to the Gi interface
- private void forwardGPDUtoGi(GPDU pdu)
- {
- //require pdu.header.teid == pdpContext.uplinkDataTeid;
-
- // TODO: how much detail on model level?
- uplinkData++;
- charging.payload(pdu);
-
- // Forward payload
- UDPpdu udpPdu;
- udpPdu.data = pdu.data;
- GiOut.send(udpPdu);
- }
-
- // forwardUdpPduToGn() - when a UDP pdu is recieved on the Gi interface
- // it should be forwarded/tunneled to the Gn interface
- private void forwardUdpPduToGn(UDPpdu udpPdu)
- {
- // Forward/tunnel payload
- GPDU pdu;
-
- //pdu.header.teid = pdpContext.downlinkDataTeid;
- pdu.data = udpPdu.data;
- GnOut.send(pdu);
-
- // TODO: how much detail on model level?
- downlinkData++;
- charging.payload(pdu);
- }
-}
-
-void main()
-{
- NodeConfiguration nodeConfiguration = new NodeConfiguration();
- Charging charging = new Charging();
- CLI cli = new CLI(nodeConfiguration);
-
- GGSN ggsn = new GGSN(charging, cli, nodeConfiguration);
- ggsn.start("GGSN");
-}
diff --git a/demo/ggsn/model/GGSN.xmi b/demo/ggsn/model/GGSN.xmi
deleted file mode 100644
index 0745df4..0000000
--- a/demo/ggsn/model/GGSN.xmi
+++ /dev/null
@@ -1,230 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<n1:Project xmlns:n1="http://www.conformiq.com/EMF/SimpleStatechart" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
- <statemachine name="GGSN">
- <transitions body="" from="//@statemachine.0/@states.0" to="//@statemachine.0/@states.1"/>
- <transitions body="CLIin:Configure[]/&#xA;cli.configure(msg);" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.2"/>
- <transitions body="GnIn:CreatePDPcontext[]/&#xA;createPDPcontext(msg);" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.4"/>
- <transitions body="GnIn:DeletePDPcontext[]/&#xA;deletePDPcontext(msg);&#xA;require ((uplinkData > 0) || (downlinkData > 0));&#xA;if ((uplinkData > 0) &amp;&amp; (downlinkData > 0))&#xA; requirement &quot;Payload/Bidirectional payload&quot;;" from="//@statemachine.0/@states.5" to="//@statemachine.0/@states.3"/>
- <transitions body="[nodeConfiguration.chargingEnabled]/&#xA;charging.sendInfo(GnOut);" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.10"/>
- <transitions body="" from="//@statemachine.0/@states.4" to="//@statemachine.0/@states.5"/>
- <transitions body="GnIn:UpdatePDPcontext[]/&#xA;{&#xA; updatePDPcontext(msg);&#xA; if ((uplinkData > 0) || (downlinkData > 0))&#xA; requirement &quot;PDP context/Update/After data transfer&quot;;&#xA; else&#xA; requirement &quot;PDP context/Update/Before data transfer&quot;;&#xA;}" from="//@statemachine.0/@states.5" to="//@statemachine.0/@states.5"/>
- <transitions body="[else]/" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.10"/>
- <transitions body="[else]/" from="//@statemachine.0/@states.9" to="//@statemachine.0/@states.6"/>
- <transitions body="[nodeConfiguration.configurationChanged()]/" from="//@statemachine.0/@states.9" to="//@statemachine.0/@states.7"/>
- <transitions body="CLIin:Prepare[]/&#xA;handlePrepare(msg);&#xA;requirement &quot;PrepareRestore/Prepare&quot;;" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.8"/>
- <transitions body="CLIin:Restore[]/&#xA;handleRestore(msg);&#xA;requirement &quot;PrepareRestore/Restore&quot;;" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.8"/>
- <transitions body="[]/nodeConfiguration.checkConfiguration();" from="//@statemachine.0/@states.10" to="//@statemachine.0/@states.9"/>
- <transitions body="CLIin: OverrideConfiguration[]/&#xA;require ((msg.overrideCharging == nodeConfiguration.chargingEnabled)&#xA; &amp;&amp; (msg.overrideRadiusAuth == nodeConfiguration.radiusAuthEnabled));&#xA;requirement &quot;Configuration/Clean up if configuration changed&quot;;" from="//@statemachine.0/@states.7" to="//@statemachine.0/@states.6"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="&#xA;" name="Init" xsi:type="n1:BasicState"/>
- <states internal="&#xA;" name="Operational" xsi:type="n1:BasicState"/>
- <states internal="&#xA;" name="ContextDeleted" xsi:type="n1:BasicState"/>
- <states internal="" name="CreateContext" xsi:type="n1:BasicState">
- <transitions body="[]/" from="//@statemachine.0/@states.4/@states.0" to="//@statemachine.0/@states.4/@states.3"/>
- <transitions body="GiRadiusIn:RadiusAccessAccept []/&#xA;requirement &quot;Radius/Authentication/Wait for Access Accept&quot;;" from="//@statemachine.0/@states.4/@states.1" to="//@statemachine.0/@states.4/@states.4"/>
- <transitions body="[nodeConfiguration.radiusAuthEnabled]/&#xA;sendRadiusAuthRequest();" from="//@statemachine.0/@states.4/@states.3" to="//@statemachine.0/@states.4/@states.1"/>
- <transitions body="[]/&#xA;confirmCreatePDPcontext();" from="//@statemachine.0/@states.4/@states.4" to="//@statemachine.0/@states.4/@states.2"/>
- <transitions body="[else]/" from="//@statemachine.0/@states.4/@states.3" to="//@statemachine.0/@states.4/@states.4"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="" name="Wait For Radius Accept" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:Junction"/>
- <states xsi:type="n1:Junction"/>
- </states>
- <states internal="GnIn:GPDU[]/&#xA;{ forwardGPDUtoGi(msg);&#xA; requirement &quot;Payload/Forward uplink&quot;; }&#xA;&#xA;GiIn:UDPpdu[]/&#xA;{ forwardUdpPduToGn(msg);&#xA; requirement &quot;Payload/Forward downlink&quot;; }" name="DataForwarding" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:FinalState"/>
- <states internal="" name="Cleanup" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:Junction"/>
- <states xsi:type="n1:Junction"/>
- </statemachine>
-
- <diagrams statemachine="//@statemachine.0">
- <items state="//@statemachine.0/@states.0" xsi:type="n1:DiagramInitialState">
- <location x="400" y="40"/>
- </items>
- <items height="70" state="//@statemachine.0/@states.1" width="199" xsi:type="n1:DiagramBasicState">
- <location x="300" y="176"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="410" y="118"/>
- <route x="400" y="60"/>
- <route x="400" y="176"/>
- </items>
- <items height="114" note="Interfaces/ports:&#xA;&#xA;CLIin&#x9;&#x9;CLI commands&#xA;GnIn/GnOut&#x9;i/f to SGSN&#xA;GiIn/GiOut&#x9;&#x9;i/f to internet" width="288" xsi:type="n1:DiagramNote">
- <location x="263" y="-117"/>
- </items>
- <items height="70" state="//@statemachine.0/@states.2" width="199" xsi:type="n1:DiagramBasicState">
- <location x="278" y="363"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.3" width="200" xsi:type="n1:DiagramBasicState">
- <location x="800" y="700"/>
- </items>
- <items height="89" state="//@statemachine.0/@states.4" width="202" xsi:type="n1:DiagramBasicState">
- <location x="798" y="158"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="409.5" y="304.5"/>
- <route x="399.5" y="246"/>
- <route x="399.5" y="363"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="910" y="113.5"/>
- <route x="477" y="400"/>
- <route x="600" xsi:type="n1:DiagramLayoutMarker" y="400"/>
- <route x="600" xsi:type="n1:DiagramLayoutMarker" y="42"/>
- <route x="900" y="42"/>
- <route x="900" xsi:type="n1:DiagramLayoutMarker" y="69"/>
- <route x="900" y="158"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.3" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="915.5" y="631.5"/>
- <route x="905.5" y="563"/>
- <route x="905.5" y="700"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.4" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="843" constraintLeft="1020" valign="0" x="1194.5" y="760"/>
- <route x="1000" y="750"/>
- <route x="1389" y="750"/>
- <route x="1389" xsi:type="n1:DiagramLayoutMarker" y="863"/>
- <route x="900" y="863"/>
- <route x="900" y="890"/>
- </items>
- <items height="108" note="GGSN Rule No. 1 – Payload &#xA;Payload shall always be transmitted in a test case whenever a successful PDP Context Activation has been performed.&#xA;" width="374" xsi:type="n1:DiagramNote">
- <location x="1297" y="552"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.5" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="909" y="288"/>
- <route x="899" y="247"/>
- <route x="899" y="329"/>
- </items>
- <items height="234" state="//@statemachine.0/@states.5" width="307" xsi:type="n1:DiagramBasicState">
- <location x="752" y="329"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.6" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintLeft="1207" constraintTop="268" valign="1" x="1364.5" y="453"/>
- <route x="1059" y="463"/>
- <route x="1187" xsi:type="n1:DiagramLayoutMarker" y="463"/>
- <route x="1544" y="463"/>
- <route x="1544" xsi:type="n1:DiagramLayoutMarker" y="248"/>
- <route x="1032" y="248"/>
- <route x="1032" y="329"/>
- </items>
- <items state="//@statemachine.0/@states.6" xsi:type="n1:DiagramFinalState">
- <location x="1209" y="1234"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.7" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="599.5" y="744"/>
- <route x="800" y="754"/>
- <route x="399" xsi:type="n1:DiagramLayoutMarker" y="754"/>
- <route x="402" y="754"/>
- <route x="402" xsi:type="n1:DiagramLayoutMarker" y="862"/>
- <route x="900" y="862"/>
- <route x="900" y="890"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.7" width="200" xsi:type="n1:DiagramBasicState">
- <location x="1561" y="1017"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.8" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="910" y="1122"/>
- <route x="900" y="1010"/>
- <route x="900" xsi:type="n1:DiagramLayoutMarker" y="1234"/>
- <route x="1189" y="1234"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.9" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="1006" constraintLeft="930" valign="0" x="1214" y="1010"/>
- <route x="910" y="1000"/>
- <route x="1661" y="1000"/>
- <route x="1661" y="1017"/>
- </items>
- <items height="53" note="Restore default configuration only if needed" width="236" xsi:type="n1:DiagramNote">
- <location x="1485" y="1152"/>
- </items>
- <items state="//@statemachine.0/@states.8" xsi:type="n1:DiagramFinalState">
- <location x="-100" y="200"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.10" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-90" y="140"/>
- <route x="300" y="200"/>
- <route x="246" xsi:type="n1:DiagramLayoutMarker" y="200"/>
- <route x="246" xsi:type="n1:DiagramLayoutMarker" y="100"/>
- <route x="-100" xsi:type="n1:DiagramLayoutMarker" y="100"/>
- <route x="-100" y="180"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.11" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="73.5" y="290"/>
- <route x="300" y="223"/>
- <route x="246" xsi:type="n1:DiagramLayoutMarker" y="223"/>
- <route x="247" y="223"/>
- <route x="247" xsi:type="n1:DiagramLayoutMarker" y="300"/>
- <route x="-100" xsi:type="n1:DiagramLayoutMarker" y="300"/>
- <route x="-100" y="220"/>
- </items>
- <items state="//@statemachine.0/@states.9" xsi:type="n1:DiagramJunction">
- <location x="900" y="1000"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.12" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="910" y="950"/>
- <route x="900" y="910"/>
- <route x="900" y="990"/>
- </items>
- <items state="//@statemachine.0/@states.10" xsi:type="n1:DiagramJunction">
- <location x="900" y="900"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.13" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="1194" constraintRight="1541" valign="0" x="1385" y="1077"/>
- <route x="1561" y="1067"/>
- <route x="1209" y="1067"/>
- <route x="1209" y="1214"/>
- </items>
- </diagrams>
-
- <diagrams substate="//@statemachine.0/@states.4">
- <items state="//@statemachine.0/@states.4/@states.0" xsi:type="n1:DiagramInitialState">
- <location x="198" y="68"/>
- </items>
- <items height="80" state="//@statemachine.0/@states.4/@states.1" width="223" xsi:type="n1:DiagramBasicState">
- <location x="387" y="284"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.4/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="138" constraintLeft="238" valign="0" x="359.5" y="78"/>
- <route x="218" y="68"/>
- <route x="501" y="68"/>
- <route x="501" y="158"/>
- </items>
- <items state="//@statemachine.0/@states.4/@states.2" xsi:type="n1:DiagramFinalState">
- <location x="500" y="600"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.4/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="510" y="417"/>
- <route x="500" y="364"/>
- <route x="500" y="470"/>
- </items>
- <items state="//@statemachine.0/@states.4/@states.3" xsi:type="n1:DiagramJunction">
- <location x="501" y="168"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.4/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="511" y="231"/>
- <route x="501" y="178"/>
- <route x="501" y="284"/>
- </items>
- <items state="//@statemachine.0/@states.4/@states.4" xsi:type="n1:DiagramJunction">
- <location x="500" y="480"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.4/@transitions.3" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="510" y="535"/>
- <route x="500" y="490"/>
- <route x="500" y="580"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.4/@transitions.4" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="458" constraintRight="281" valign="0" x="300.5" y="177"/>
- <route x="501" y="167"/>
- <route x="301" xsi:type="n1:DiagramLayoutMarker" y="167"/>
- <route x="300" y="167"/>
- <route x="300" xsi:type="n1:DiagramLayoutMarker" y="478"/>
- <route x="500" y="478"/>
- </items>
- </diagrams>
-
-</n1:Project>
diff --git a/demo/ggsn/model/GTPrecords.java b/demo/ggsn/model/GTPrecords.java
deleted file mode 100644
index 5518a16..0000000
--- a/demo/ggsn/model/GTPrecords.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**
- * GTPrecords.java
- *
- * GTP and GTP-U records/messages
-**/
-
-// References to 3GPP TS 29.060 V8.7.0
-
-// IMSI 7.7.2
-record IMSI_gtpc
-{
- int type_gtpc; // type = 2 (Decimal)
- int[] imsi_digits; // 8 octets (15 BCD digits + padding)
-}
-
-//TEI Data I - 7.7.13
-// Tunnel Endpoint Identifier Data
-// Returned by a successful Create PDP Context request,
-// shall be used for all subsequent uplink G-PDUs related
-// to the PDP context.
-record TeidDataI
-{
- int type_gtpc; // type = 16 (Decimal)
- int[] teidDataI; // 4 octets
-}
-
-//NSAPI - 7.7.17
-// Only used if/when multiple contexts are created for a PDP and APN ??
-record NSAPI_GTPC {
- int type_gtpc; // type = 20 (Decimal)
- int nsapi; // 4 bits [xxxx : NSAPI]
-}
-
-//Charging ID - 7.7.26
-record ChargingID {
- int type_gtpc; // type = 127 (Decimal)
- int[] chargingID; // 4 octets
-}
-
-
-// Response cause values
-
-const int REQUEST_ACCEPTED = 128;
-const int SYSTEM_FAILURE = 204;
-
-
-// ===================================================
-// Requests and responses
-
-
-// ---- Create PDP context ----
-
-// a) request
-record CreatePDPcontext
-{
-// int[] imsi_digits;
-// int[] teidDataI;
-// 100114: use a more abstract representation at model level and
-// reuse functions in existing TTCN support libraries. For a single
-// context imsi/teid/nsapi can be handled entirely at TTCN level...
-
- String imsi;
- //int downlinkDataTeid;
- int nsapi;
- String apn;
-}
-
-const int IMSI_OCTETS = 8;
-const int TEID_OCTETS = 4;
-
-// b) response
-record CreatePDPresponse
-{
- int causevalue;
- //int uplinkDataTeid; // Only applicable if SUCCESS
-}
-
-
-// ---- Delete PDU context ----
-
-// a) request
-record DeletePDPcontext
-{
- int nsapi;
-}
-
-// b) response
-record DeletePDPresponse
-{
- int causevalue;
-}
-
-
-
-record UpdatePDPcontext
-{
- int nsapi;
- //int downlinkDataTeid;
-}
-
-
-record UpdatePDPresponse
-{
- int causevalue;
-}
-
-// G-PDU
-record GTPUheader
-{
- int teid; // Date teid of receiving side
-}
-
-record GPDU
-{
- int data; // TODO: representation of payload on model level?
-}
diff --git a/demo/ggsn/model/RadiusRecords.java b/demo/ggsn/model/RadiusRecords.java
deleted file mode 100644
index 73ff02a..0000000
--- a/demo/ggsn/model/RadiusRecords.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Radius.java
- *
- * Radius records/messages
-**/
-
-record RadiusAccessRequest { }
-
-record RadiusAccessAccept { }
diff --git a/demo/ggsn/model/UDPrecords.java b/demo/ggsn/model/UDPrecords.java
deleted file mode 100644
index 4cdf3b0..0000000
--- a/demo/ggsn/model/UDPrecords.java
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * UDPrecords.java
- *
- * UDP records/messages
-**/
-
-record UDPpdu
-{
- int data; // TODO: representation of payload on model level?
-}
diff --git a/demo/ggsn/model/charging.java b/demo/ggsn/model/charging.java
deleted file mode 100644
index 9c157bb..0000000
--- a/demo/ggsn/model/charging.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * charging.java
- *
- * Charging related functions
- **/
-
-
-class Charging
-{
- private int dataCounter;
-
- public Charging()
- {
- dataCounter = 0;
- }
-
- public void payload(GPDU pdu)
- {
- dataCounter++;
- }
-
- public void sendInfo(CQPort port)
- {
- CDRinfo info;
-
- if (dataCounter == 0)
- assert false; // Design rule 1: Payload shall always be transmitted
- else if (dataCounter == 1)
- requirement "Charging/Single data";
- else
- requirement "Charging/Multiple data";
- info.data = dataCounter;
- port.send(info);
- }
-}
diff --git a/demo/ggsn/model/cli.java b/demo/ggsn/model/cli.java
deleted file mode 100644
index fc8188f..0000000
--- a/demo/ggsn/model/cli.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * cli.java
- *
- * GGSN CLI
- **/
-
-class CLI {
- NodeConfiguration nodeConfiguration;
-
- public CLI(NodeConfiguration nodeConfiguration)
- {
- this.nodeConfiguration = nodeConfiguration;
- }
-
- public void configure(Configure cmd)
- {
- require cmd.cmds != null;
- require cmd.cmds.length == configurationCmds1.length;
- for (int i = 0; i < configurationCmds1.length; i++)
- require cmd.cmds[i] == configurationCmds1[i];
-
- // 100222 : feature based configuration
- /**
- if ((cmd.enableCharging) && (cmd.enableRadiusAuth))
- requirement "Configuration/Both Charging and Radius Auth";
- else if (cmd.enableCharging)
- requirement "Configuration/Only Charging";
- else if (cmd.enableRadiusAuth)
- requirement "Configuration/Only Radius Auth";
- else
- requirement "Configuration/Default - no options";
- **/
- nodeConfiguration.chargingEnabled = cmd.enableCharging;
- nodeConfiguration.radiusAuthEnabled = cmd.enableRadiusAuth;
-
-
- }
-}
diff --git a/demo/ggsn/model/configuration.java b/demo/ggsn/model/configuration.java
deleted file mode 100644
index d627787..0000000
--- a/demo/ggsn/model/configuration.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * configuration.java
- *
- * GGSN node configuration
- */
-
-class NodeConfiguration {
- public boolean chargingEnabled;
- public boolean radiusAuthEnabled;
-
- public NodeConfiguration()
- {
- chargingEnabled = false;
- radiusAuthEnabled = false;
- }
-
- public boolean configurationChanged()
- {
- return ((chargingEnabled == true) ||
- (radiusAuthEnabled == true));
- }
-
- public void checkConfiguration()
- {
- if ((chargingEnabled) && (radiusAuthEnabled))
- requirement "Configuration/Groups/Both Charging and Radius Auth";
- else if (chargingEnabled)
- requirement "Configuration/Groups/Only Charging";
- else if (radiusAuthEnabled)
- requirement "Configuration/Groups/Only Radius Auth";
- else
- requirement "Configuration/Groups/Default - no options";
- }
-}
diff --git a/demo/ggsn/model/globals.java b/demo/ggsn/model/globals.java
deleted file mode 100644
index 28f983f..0000000
--- a/demo/ggsn/model/globals.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * globals.java
- *
- * Misc global definitions/constants
- **/
-
-
-
-const String[] configurationCmds1 =
- { "DEFAULT_CONFIG"
- };
-
-
-// GTP message data
-// TODO: which imsi and teid should be used?
-
-const int[] imsi1 = {1,2,3,4,5,6,7,8};
-const int[] teid1 = {1,2,3,4};
diff --git a/demo/ggsn/model/prepareRestore.java b/demo/ggsn/model/prepareRestore.java
deleted file mode 100644
index c2296a8..0000000
--- a/demo/ggsn/model/prepareRestore.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * prepareRestore.java
- *
- * GGSN node configuration
- */
-
-/* Prepare/Restore commands supported by test harness
- *
- * f_TELNET_Init
- * f_sr_TELNET_OverrideConfiguration
- * ...more TBD...
- */
-
-/* ----------------------------------------------------------- */
-
-/* prepareCmds []
- * Put your prepare commands here.
- * Pick from the list above.
- */
-const String[] prepareCmds =
- { "f_TELNET_Init",
- "f_sr_TELNET_OverrideConfiguration"
- };
-
-/* restoreCmds []
- * Put your restore commands here.
- * Pick from the list above.
- */
-const String[] restoreCmds =
- { "f_TELNET_Init",
- "f_sr_TELNET_OverrideConfiguration"
- };
-
-/* ----------------------------------------------------------- */
-
-void handlePrepare(Prepare msg)
-{
- require msg.cmds != null;
- require msg.cmds.length == prepareCmds.length;
- for (int i = 0; i < prepareCmds.length; i++)
- require msg.cmds[i] == prepareCmds[i];
-}
-
-void handleRestore(Restore msg)
-{
- require msg.cmds != null;
- require msg.cmds.length == restoreCmds.length;
- for (int i = 0; i < restoreCmds.length; i++)
- require msg.cmds[i] == restoreCmds[i];
-}
diff --git a/demo/ggsn/model/system.java b/demo/ggsn/model/system.java
deleted file mode 100644
index d88d0d6..0000000
--- a/demo/ggsn/model/system.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * system.java
- *
- * Interfaces/ports:
- * CLIin/CLIout proprietary CLI commands/responses
- * GnIn/GnOut i/f to SGSN
- * GiIn/GiOut i/f to internet
-**/
-
-system {
- Inbound CLIin : Restart, Configure, OverrideConfiguration, Prepare, Restore;
-
- Inbound GnIn : CreatePDPcontext, UpdatePDPcontext, DeletePDPcontext, GPDU;
- Outbound GnOut : CreatePDPresponse, UpdatePDPresponse, DeletePDPresponse,
- GPDU, CDRinfo;
-
- Inbound GiIn : UDPpdu;
- Outbound GiOut : UDPpdu;
-
- Inbound GiRadiusIn : RadiusAccessAccept;
- Outbound GiRadiusOut : RadiusAccessRequest;
-}
diff --git a/demo/makefile_patch.sh b/demo/makefile_patch.sh
deleted file mode 100755
index 51e24e4..0000000
--- a/demo/makefile_patch.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-sed -e '
-s/OPENSSL_DIR =/#OPENSSL_DIR =/g
-
-s/CPPFLAGS = .*/CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)\/include -I$(OPENSSL_DIR)\/include -DNO_IPV6/g
-
-s/SOLARIS8_LIBS = -lsocket -lnsl/SOLARIS8_LIBS = -lpcap -lsocket -lnsl -lresolv/g
-
-s/LINUX_LIBS = -lxml2/LINUX_LIBS = -lxml2 -lpcap/g
-
-s/COMPILER_FLAGS = -L/COMPILER_FLAGS = -L -w/g
-' <$1 >$2
-
-
diff --git a/demo/mapped/MBT_Qtronic_Demo.cfg b/demo/mapped/MBT_Qtronic_Demo.cfg
deleted file mode 100644
index 94fd3e1..0000000
--- a/demo/mapped/MBT_Qtronic_Demo.cfg
+++ /dev/null
@@ -1,55 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// //
-// Copyright Test Competence Center (TCC) ETH 2009 //
-// //
-// The copyright to the computer program(s) herein is the property of TCC. //
-// The program(s) may be used and/or copied only with the written permission //
-// of TCC or in accordance with the terms and conditions stipulated in the //
-// agreement/contract under which the program(s) have been supplied //
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Demo.cfg
-// Rev: <RnXnn>
-// Prodnr: CNL 113 522
-// Updated: 2009-04-20
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-[LOGGING]
-ConsoleMask := ERROR | STATISTICS | ACTION | TESTCASE
-FileMask := LOG_ALL | DEBUG
-#FileMask := ERROR | STATISTICS | PARALLEL | ACTION | WARNING
-#LogFile := "%l/%e.%h-%t%r.%s"
-LogEntityName := Yes
-LogEventTypes := Yes//Subcategories;
-SourceInfoFormat := Stack
-
-[MODULE_PARAMETERS]
-
-tsp_debug_EPTF_SchedulerFunctions := false
-tsp_debugVerbose_EPTF_SchedulerFunctions := false
-tsp_EPTF_LGenBaseDebugTraffic := false
-tsp_EPTF_LGenBaseDebug := false
-
-tsp_SIP_TransactionTimerValues :=
-{
- 0.5,//T1
- 0.0,//no max
- 8.0,//64*T1
- 8.0,//Timer D, >= 32.0
- 0.5,//T1
- 4.0,//T2
- 8.0,//64*T1
- 5.0,//T4
- 0.5,//T1
- 4.0,//T2,
- 8.0,//64*T1
- 5.0,//T4
- 8.0//64*T1
-};
-
-[EXECUTE]
-MBT_Qtronic_Testcases.control
-
-[TESTPORT_PARAMETERS]
-*.IPL4_PCO.debug := "NO"
diff --git a/demo/mapped/MBT_Qtronic_Demo.prj b/demo/mapped/MBT_Qtronic_Demo.prj
deleted file mode 100644
index 94d0b64..0000000
--- a/demo/mapped/MBT_Qtronic_Demo.prj
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE TITAN_GUI_project_file>
-<Project TITAN_version="1.8.pl1" >
- <General>
- <Project_Name>MBT_Qtronic_Demo</Project_Name>
- <Executable_Path>bin/demo</Executable_Path>
- <Working_Dir>bin</Working_Dir>
- <Build_Host>alpha</Build_Host>
- <Execution_Mode>Parallel</Execution_Mode>
- <ScriptFile_AfterMake>../makefile_patch.sh</ScriptFile_AfterMake>
- <Log_Format>yes</Log_Format>
- <Update_Symlinks>yes</Update_Symlinks>
- <Create_Absolute_Symlinks>no</Create_Absolute_Symlinks>
- <Update_Makefile>yes</Update_Makefile>
- <Localhost_Execute>yes</Localhost_Execute>
- <Execute_Command>rsh %host &quot;cd %project_working_dir ; &quot;%executable&quot; %localhost %mctr_port&quot;</Execute_Command>
- <Execute_Hosts>alfa, beta, gamma</Execute_Hosts>
- <UnUsed_List></UnUsed_List>
- </General>
- <Modules>
- <Module>../sut/MBT_SUT_SIP_Phone.ttcn</Module>
- <Module>MBT_Qtronic_Demo.ttcn</Module>
- <Module>MBT_Qtronic_TestHarness.ttcn</Module>
- <Module>MBT_Qtronic_Testcases.ttcn</Module>
- <Module>MBT_Qtronic_Types.ttcn</Module>
- </Modules>
- <Configs>
- <Config>MBT_Qtronic_Demo.cfg</Config>
- </Configs>
- <Test_Cases>
- <Test_Case>MBT_Qtronic_Testcases.control</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_1</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_2</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_3</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_4</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_5</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_6</Test_Case>
- <Test_Case>MBT_Qtronic_Testcases.Test_Case_7</Test_Case>
- </Test_Cases>
- <File_Group name="MainFileGroup" >
- <File_Groups>
- <File_Group name="EPTF_Applib_MBT_CNL113659" >
- <File path="../../src/LoadGen/EPTF_MBT_LGen_Definitions.ttcn" />
- <File path="../../src/LoadGen/EPTF_MBT_LGen_Functions.ttcn" />
- </File_Group>
- <File_Group name="EPTF_Applib_SIP_CNL113522" >
- <File_Groups>
- <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/LoadGen/EPTF_SIP_LoadGen.grp" />
- <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/Logger/EPTF_SIP_Logger.grp" />
- <File_Group path="../../../EPTF_Applib_SIP_CNL113522/src/Transport/EPTF_SIP_Transport.grp" />
- </File_Groups>
- </File_Group>
- <File_Group name="TCCUsefulFunctions_CNL113472" >
- <File path="../../../TCCUsefulFunctions_CNL113472/src/digcalc.c" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/digcalc.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMessageHandling.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMessageHandling_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCSecurity.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCSecurity_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec_Definitions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCIPsec_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCEncoding.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCEncoding_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.c" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/aka_algorythm_set.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCFileIO.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCFileIO_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCDateTime.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCDateTime_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths_GenericTypes.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCInterface_ip.h" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCConversion.cc" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCConversion_Functions.ttcn" />
- <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCTemplate_Functions.ttcn" />
- </File_Group>
- <File_Group name="SIPmsg_CNL113319" >
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/lex.SIP_parse_.c" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse.h" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse_.tab.c" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIP_parse_.tab.h" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PortType.ttcn" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PT.cc" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_PT.hh" />
- <File path="../../../../TestPorts/SIPmsg_CNL113319/src/SIPmsg_Types.ttcn" />
- </File_Group>
- <File_Group name="UDPasp_CNL113346" >
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PortType.ttcn" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PT.cc" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_PT.hh" />
- <File path="../../../../TestPorts/UDPasp_CNL113346/src/UDPasp_Types.ttcn" />
- </File_Group>
- <File_Group name="IPL4asp_CNL113531" >
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_discovery.cc" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_Functions.ttcn" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PortType.ttcn" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_protocol_L234.hh" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PT.cc" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_PT.hh" />
- <File path="../../../../TestPorts/IPL4asp_CNL113531/src/IPL4asp_Types.ttcn" />
- </File_Group>
- <File_Group name="Abstract_Socket_CNL113384" >
- <File path="../../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.cc" />
- <File path="../../../../TestPorts/Common_Components/Abstract_Socket_CNL113384/src/Abstract_Socket.hh" />
- </File_Group>
- <File_Group name="IP_CNL113418" >
- <File path="../../../../ProtocolModules/IP_CNL113418/src/IP_EncDec.cc" />
- <File path="../../../../ProtocolModules/IP_CNL113418/src/IP_Types.ttcn" />
- </File_Group>
- <File_Group name="LANL2asp_CNL113519" >
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PortType.ttcn" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.cc" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_PT.hh" />
- <File path="../../../../TestPorts/LANL2asp_CNL113519/src/LANL2asp_Types.ttcn" />
- </File_Group>
- <File_Group name="TCP_CNL113675" >
- <File path="../../../../ProtocolModules/TCP_CNL113675/src/TCP_EncDec.cc" />
- <File path="../../../../ProtocolModules/TCP_CNL113675/src/TCP_Types.ttcn" />
- </File_Group>
- <File_Group name="GeneralTypes" >
- <File path="../../../../ProtocolModules/COMMON/src/General_Types.ttcn" />
- </File_Group>
- <File_Group name="EPTF_Core_Library_CNL113512" >
- <File_Groups>
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Base/EPTF_CLL_Base.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Common/EPTF_CLL_Common.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/FreeBusyQueue/EPTF_CLL_FreeBusyQueue.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/HashMap/EPTF_CLL_HashMap.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Logging/EPTF_CLL_Logging.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/RedBlackTree/EPTF_CLL_RBtree_Float.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Scheduler/EPTF_CLL_Scheduler_RBT.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Variable/EPTF_CLL_Variable.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/StatMeasure/EPTF_CLL_StatMeasure.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_Transport.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportCommPortIPL4.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportMessageBufferManager.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Transport/EPTF_CLL_TransportRouting.grp" />
- <File_Group path="../../../../TestPorts/Common_Components/Socket_API_CNL113686/src/Socket_API.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/RandomNArray/EPTF_CLL_RNA.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/Semaphore/EPTF_CLL_Semaphore.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/StatHandler/EPTF_CLL_StatHandler.grp" />
- <File_Group path="../../../EPTF_Core_Library_CNL113512/src/LGenBase/EPTF_CLL_LGenBase.grp" />
- </File_Groups>
- </File_Group>
- </File_Groups>
- </File_Group>
-</Project>
diff --git a/demo/mapped/MBT_Qtronic_Demo.ttcn b/demo/mapped/MBT_Qtronic_Demo.ttcn
deleted file mode 100644
index 0e8e33d..0000000
--- a/demo/mapped/MBT_Qtronic_Demo.ttcn
+++ /dev/null
@@ -1,338 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Demo.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2009-12-14
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-module MBT_Qtronic_Demo
-{
-
-import from MBT_Qtronic_Testcases all;
-import from MBT_Qtronic_Types all;
-import from MBT_Qtronic_TestHarness all;
-
-import from MBT_SUT_SIP_Phone all;
-
-import from EPTF_CLL_Common_Definitions all;
-import from EPTF_CLL_Base_Definitions all;
-import from EPTF_CLL_Base_Functions all;
-import from EPTF_CLL_RBTScheduler_Functions all;
-import from EPTF_CLL_LGenBase_Definitions all;
-import from EPTF_CLL_LGenBase_ConfigFunctions all;
-import from EPTF_CLL_LGenBase_EventHandlingFunctions all;
-
-import from EPTF_MBT_LGen_Definitions all;
-import from EPTF_MBT_LGen_Functions all;
-
-import from EPTF_SIP_LGen_Definitions all;
-import from EPTF_SIP_LGen_Functions all;
-import from EPTF_SIP_Common_Functions all;
-import from EPTF_SIP_UserDatabase_Functions all;
-import from EPTF_SIP_Transport_Definitions all;
-import from EPTF_SIP_Transport_Functions all;
-import from EPTF_SIP_MessageHandler_Functions all;
-
-import from EPTF_SIP_TestSteps all;
-import from EPTF_SIP_Templates all;
-import from EPTF_SIP_Events all;
-import from EPTF_SIP_Transaction_Definitions all;
-
-import from TCCFileIO_Functions all;
-import from TCCDateTime_Functions all;
-
-modulepar
-{
- charstring tsp_MBT_Tester_LocalIP := "159.107.193.33";
- integer tsp_MBT_Tester_LocalPort := 15000;
- charstring tsp_MBT_Tester_RemoteIP := "159.107.193.33";
- integer tsp_MBT_Tester_RemotePort := 20000;
-
- charstring tsp_MBT_SIP_Transport := "udp";
-}
-
-type component MBT_Qtronic_Demo_Main_CT
- extends
- EPTF_Base_CT,
- EPTF_MBT_Tester_CT
-{}
-
-function f_MBT_Qtronic_Demo_beginTestCase() runs on Qtronic_CT
-{
- log(%definitionId, " started");
-
- f_EPTF_Base_init_CT("mtc");
-
- log(%definitionId, " Creating SUT");
- var MBT_Qtronic_Demo_SUT_CT vc_sut := MBT_Qtronic_Demo_SUT_CT.create;
- connect(self:userIn, vc_sut:userIn);
- connect(self:userOut, vc_sut:userOut);
- connect(self:EPTF_MBT_TESTER_PCO,vc_sut:EPTF_MBT_PCO);
- vc_sut.start(f_MBT_Qtronic_Demo_SUT_behavior());
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_CommandResponse:?) from vc_sut;
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_ConfigRequest:
- {
- entityGroupName := "SUT_EntityType",
- noEntities := 1,
- behaviors := {"MBT_behavior", "Behavior_SIP", "SUT_Behavior"},
- fsmName := "MBT_Qtronic_Demo_SUT_FSM"
- }
- ) to vc_sut;
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_ConfigResponse:?) from vc_sut;
- log(%definitionId, " SUT ready");
-
- log(%definitionId, " Creating LGen");
- var MBT_Qtronic_Demo_LGen_CT vc_lgen := MBT_Qtronic_Demo_LGen_CT.create;
- connect(self:netIn, vc_lgen:netOut);
- connect(self:netOut, vc_lgen:netIn);
- connect(self:EPTF_MBT_TESTER_PCO,vc_lgen:EPTF_MBT_PCO);
- vc_lgen.start(f_MBT_Qtronic_Demo_LGen_behavior());
-
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_CommandResponse:?) from vc_lgen;
-
- EPTF_MBT_TESTER_PCO.send(EPTF_MBT_ConfigRequest:
- {
- entityGroupName := "MBT_EntityType",
- noEntities := 1,
- behaviors := {"MBT_behavior", "Behavior_SIP"},
- fsmName := "FSM_MBT"
- }
- ) to vc_lgen;
- EPTF_MBT_TESTER_PCO.receive(EPTF_MBT_ConfigResponse:?) from vc_lgen;
-
- log(%definitionId, " LGen ready");
-
- log(%definitionId, " finished");
-}
-
-
-function f_MBT_Qtronic_Demo_endTestCase() runs on Qtronic_CT
-{
- log("### MAIN: END TESTCASE started");
-
- f_EPTF_Base_stopAll(none, true);
-
- log("### MAIN: END TESTCASE finished");
-}
-
-/////////////////////////////////////////////////////////////////////////
-//
-// M B T Applib
-//
-/////////////////////////////////////////////////////////////////////////
-
-type component MBT_Qtronic_Demo_LGen_CT
- extends
- EPTF_MBT_LGen_CT,
- EPTF_SIP_LGen_CT, EPTF_SIP_LocalTransport_CT
-{
- port netInPort netIn;
- port netOutPort netOut;
-}
-
-function f_MBT_Qtronic_Demo_LGen_behavior() runs on MBT_Qtronic_Demo_LGen_CT
-{
- //map(self:IPL4_PCO, system:IPL4_PCO);
-
- activate(as_MBT_Qtronic_Demo_LGen_userMessageHandler());
-
- f_EPTF_MBT_init("MBT_Demo_LGen",0, "MBT_")
-
- f_SIP_applibInit("MBT_Demo_LGen");
-
- f_EPTF_SIP_LocalTransport_init(tsp_MBT_SIP_Transport);
- vf_EPTF_SIP_LocalTransport_receive := refers(f_EPTF_SIP_Message_MsgHandler); //receive callback function on LocalTransport
- vf_EPTF_SIP_LGen_msgSender := refers(f_EPTF_SIP_LocalTransport_sendSIPMessage); //send callback function on LGen
- v_removeUAS := refers(fcb_EPTF_SIP_LocalTransport_removeUAS);
-
- f_EPTF_MBT_initLGenFsm
- (
- refers(f_MBT_Qtronic_Demo_LGen_createUserMessage),
- refers(f_MBT_Qtronic_Demo_LGen_fillInDB)
- );
-
- EPTF_MBT_PCO.send(EPTF_MBT_CommandResponse:{ ready := {}}) to mtc;
-
- f_EPTF_Base_wait4Shutdown();
-}
-
-altstep as_MBT_Qtronic_Demo_LGen_userMessageHandler()
-runs on MBT_Qtronic_Demo_LGen_CT
-{
- var SIPResp vl_SIPResp;
- var SIPReq vl_SIPReq;
-
- var EPTF_LGenBase_TestStepArgs vl_stepArgs :=
- { eIdx := 0, refContext := { fCtxIdx := 0, fRefArgs := { } }, stepArgs := { } };
-
- [] netOut.receive(SIPResp:?) -> value vl_SIPResp
- {
- f_EPTF_SchedulerComp_refreshSnapshotTime();
- log(%definitionId & "(): incoming ", vl_SIPResp);
-
- if (vl_SIPResp.status == 180)
- {
- vl_stepArgs.refContext.fRefArgs := {c_status_180Ringing_idx};
- f_SIP_step_createResponse(vl_stepArgs);
- }
- else if (vl_SIPResp.status == 200)
- {
- if (vl_SIPResp.cseq == "INVITE")
- {
- vl_stepArgs.refContext.fRefArgs := {c_status_200OK_idx, c_SIP_Method_INVITE};
- f_SIP_step_createResponse(vl_stepArgs);
- }
- else if (vl_SIPResp.cseq == "CANCEL")
- {
- vl_stepArgs.refContext.fRefArgs := {c_status_200OK_idx, c_SIP_Method_CANCEL};
- f_SIP_step_createResponse(vl_stepArgs);
- }
- }
- else if (vl_SIPResp.status == 486)
- {
- vl_stepArgs.refContext.fRefArgs := {c_status_486BusyHere_idx};
- f_SIP_step_createResponse(vl_stepArgs);
- }
- else if (vl_SIPResp.status == 487)
- {
- vl_stepArgs.refContext.fRefArgs := {c_status_487RequestTerminated_idx, c_SIP_Method_INVITE};
- f_SIP_step_createResponse(vl_stepArgs);
- }
- else
- {
- log(%definitionId & "(): unhandled SIPResp");
- }
-
- repeat;
- }
- [] netOut.receive(SIPReq:?) -> value vl_SIPReq
- {
- f_EPTF_SchedulerComp_refreshSnapshotTime();
- log(%definitionId & "(): incoming ", vl_SIPReq);
-
- if (vl_SIPReq.op == "BYE")
- {
- f_SIP_step_createBYE(vl_stepArgs);
- }
- else
- {
- log(%definitionId & "(): unhandled SIPResp");
- }
- repeat;
- }
-}
-
-function f_MBT_Qtronic_Demo_LGen_createUserMessage(in EPTF_LGenBase_TestStepArgs pl_ptr)
-runs on MBT_Qtronic_Demo_LGen_CT
-return boolean
-{
- log(%definitionId & " creating message for:\n", pl_ptr, "\n", pl_ptr.reportedEvent);
-
- var charstring vl_param := "sip:127.0.0.1:5061";
-
- if (pl_ptr.reportedEvent.event.bIdx == v_SIP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_SIP_eventIdx_INVITE)
- {
- var integer vl_FSMIdx := -1;
- pl_ptr.refContext.fCtxIdx := 0;
-
- if (not f_EPTF_SIP_FSMInitialized(pl_ptr.eIdx, pl_ptr.refContext.fCtxIdx, vl_FSMIdx))
- {
- f_SIP_step_init(pl_ptr);
- f_SIP_step_handleINVITE(pl_ptr);
- }
- netIn.send(SIPReq:{"INVITE", vl_param});
- }
- else if (pl_ptr.reportedEvent.event.bIdx == v_SIP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_SIP_eventIdx_ACK)
- {
- netIn.send(SIPReq:{"ACK", vl_param});
- }
- else if (pl_ptr.reportedEvent.event.bIdx == v_SIP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_SIP_eventIdx_BYE)
- {
- netIn.send(SIPReq:{"BYE", vl_param});
- }
- else if (pl_ptr.reportedEvent.event.bIdx == v_SIP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_SIP_eventIdx_CANCEL)
- {
- netIn.send(SIPReq:{"CANCEL", vl_param});
- }
- else if (pl_ptr.reportedEvent.event.bIdx == v_SIP_myBIdx and pl_ptr.reportedEvent.event.iIdx == 200)
- {
- netIn.send(SIPResp:{200, v_msgToProcess.response.msgHeader.cSeq.method});
- }
- else if (pl_ptr.reportedEvent.event.bIdx == v_SIP_myBIdx and pl_ptr.reportedEvent.event.iIdx == c_SIP_eventIdx_retransmittedRequest)
- {
- netIn.send(SIPReq:{v_msgToProcess.request.msgHeader.cSeq.method, vl_param});
- }
- else
- {
- log(%definitionId & "(): unhandled incoming message");
- return false;
- }
- return true;
-}
-
-function f_MBT_Qtronic_Demo_LGen_fillInDB(in EPTF_MBT_ConfigRequest p_req) runs on MBT_Qtronic_Demo_LGen_CT
-{
- var integer vl_grpIdx := f_EPTF_LGenBase_entityGrpNameIndex(p_req.entityGroupName);
- var integer vl_entityIdx := f_EPTF_LGenBase_getEGrpBaseOffset(vl_grpIdx);
-
- for (var integer i:=0; i<p_req.noEntities; i:=i+1)
- {
- var EPTF_IntegerList vl_bCtx := f_EPTF_LGenBase_getBehaviorCtx(i + vl_entityIdx, v_SIP_myBIdx);
- f_EPTF_SIP_IPL4asp_SetUserData
- (
- vl_bCtx[0],
- tsp_MBT_Tester_LocalIP, // local IP
- {tsp_MBT_Tester_LocalPort, tsp_MBT_Tester_LocalPort+1},
- tsp_MBT_SIP_Transport,
- tsp_MBT_Tester_RemoteIP, // proxy ip
- tsp_MBT_Tester_RemotePort // proxy port
- );
-
- f_EPTF_SIP_User_SetUserData(
- vl_bCtx[0],
- {
- {
- addr := {
- nameAddr := {
- displayName := "titansim_user_7465000",
- addrSpec := {
- scheme := "sip",
- userInfo := {
- userOrTelephoneSubscriber := "titansim_user_7465000",
- password := omit
- },
- hostPort := {
- host := "tcj.ics.se",
- portField := tsp_MBT_Tester_LocalPort
- },
- urlParameters := omit,
- headers := omit
- }
- }
- },
- password := "pass2ICS"
- }
- },
- tsp_MBT_Tester_LocalIP,
- {tsp_MBT_Tester_LocalPort, tsp_MBT_Tester_LocalPort+1},
- i + vl_entityIdx //entity index
- );
-
- f_EPTF_SIP_Session_AddData(vl_bCtx[0], f_EPTF_SIP_getTransport(tsp_MBT_SIP_Transport),345600);
-
- f_EPTF_SIP_IPL4asp_startListening(vl_bCtx[0], true); // Both UDP and TCP
- }
-}
-
-}
diff --git a/demo/mapped/MBT_Qtronic_TestHarness.ttcn b/demo/mapped/MBT_Qtronic_TestHarness.ttcn
deleted file mode 100644
index e85bb42..0000000
--- a/demo/mapped/MBT_Qtronic_TestHarness.ttcn
+++ /dev/null
@@ -1,101 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_TestHarness.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-04-14
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-/* -*- ttcn3 -*- */
-
-/** @file C:\Users\eantwuh\workspace\SIPeval\MBT_Qtronic_TestHarness.ttcn
- *
- * @author Conformiq TTCN3 Script Backend
- * @date Wed Apr 14 13:17:47 CEST 2010
- *
- * WARNING! This file has been automatically generated using
- * Ericsson Qtronic TTCN3 Script Backend (based on the original Conformiq Backend).DO NOT EDIT.
- */
-
-module MBT_Qtronic_TestHarness
-{
- import from MBT_Qtronic_Types all;
-/* User provided imports begin */
-import from MBT_Qtronic_Demo all; import from EPTF_MBT_LGen_Definitions all;
-/* User provided imports end */
- altstep QtronicHarnessAlt() runs on Qtronic_CT
- {
- [] any port.receive
- {
- harnessTimer.stop;
- setverdict(fail);
- f_MBT_Qtronic_Demo_endTestCase();
- stop;
- }
- [] harnessTimer.timeout
- {
- setverdict(fail);
- f_MBT_Qtronic_Demo_endTestCase();
- stop;
- }
- }
- function qtronic_send_SIPResp_to_netIn(template SIPResp msgToSend) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'msgToSend'
- // before it is delivered to the SUT through the real test interface.
- // This can include addition of fields not present in the model or
- // manipulation of unique identifiers in the messages that Qtronic
- // cannot possible know at the time of test generation.
- netIn.send(msgToSend);
- }
- function qtronic_send_SIPReq_to_netIn(template SIPReq msgToSend) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'msgToSend'
- // before it is delivered to the SUT through the real test interface.
- // This can include addition of fields not present in the model or
- // manipulation of unique identifiers in the messages that Qtronic
- // cannot possible know at the time of test generation.
- netIn.send(msgToSend);
- }
- function qtronic_send_UserInput_to_userIn(template UserInput msgToSend) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'msgToSend'
- // before it is delivered to the SUT through the real test interface.
- // This can include addition of fields not present in the model or
- // manipulation of unique identifiers in the messages that Qtronic
- // cannot possible know at the time of test generation.
- userIn.send(msgToSend);
- }
- function qtronic_receive_SIPResp_from_netOut(template SIPResp tmplToMatch) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'tmplToMatch'
- // before matching it against the expected value template.
- // This manipulation typically means removing fields not present
- // in the abstract model system interface.
- netOut.receive(tmplToMatch);
- }
- function qtronic_receive_SIPReq_from_netOut(template SIPReq tmplToMatch) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'tmplToMatch'
- // before matching it against the expected value template.
- // This manipulation typically means removing fields not present
- // in the abstract model system interface.
- netOut.receive(tmplToMatch);
- }
- function qtronic_receive_TimeOutIndication_from_userOut(template TimeOutIndication tmplToMatch) runs on Qtronic_CT
- {
- // Do whatever manipulation is needed to 'tmplToMatch'
- // before matching it against the expected value template.
- // This manipulation typically means removing fields not present
- // in the abstract model system interface.
- userOut.receive(tmplToMatch);
- }
-}
diff --git a/demo/mapped/MBT_Qtronic_Testcases.ttcn b/demo/mapped/MBT_Qtronic_Testcases.ttcn
deleted file mode 100644
index b9c1272..0000000
--- a/demo/mapped/MBT_Qtronic_Testcases.ttcn
+++ /dev/null
@@ -1,606 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Testcases.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-04-14
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-/* -*- ttcn3 -*- */
-
-/** @file C:\Users\eantwuh\workspace\SIPeval\MBT_Qtronic_Testcases.ttcn
- *
- * @author Conformiq TTCN3 Script Backend
- * @date Wed Apr 14 13:17:47 CEST 2010
- *
- * WARNING! This file has been automatically generated using
- * Ericsson Qtronic TTCN3 Script Backend (based on the original Conformiq Backend).DO NOT EDIT.
- */
-
-module MBT_Qtronic_Testcases
-{
- import from MBT_Qtronic_Types all;
- import from MBT_Qtronic_TestHarness all;
- /* User provided imports begin */
- import from MBT_Qtronic_Demo all; import from EPTF_MBT_LGen_Definitions all;
- /* User provided imports end */
- /* Qtronic generated alt step */
- altstep QtronicDefaultAlt() runs on Qtronic_CT
- {
- [] any port.receive
- {
- harnessTimer.stop;
- setverdict(fail);
- f_MBT_Qtronic_Demo_endTestCase();
- stop;
- }
- [] harnessTimer.timeout
- {
- setverdict(fail);
- f_MBT_Qtronic_Demo_endTestCase();
- stop;
- }
- }
- /* Generated test case #1 */
- testcase Test_Case_1() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicHarnessAlt());
- qtronic_send_UserInput_to_userIn(UserInputTemplate1);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate2);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate3);
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate4);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate5);
- harnessTimer.stop;
- oldtimer := 0.0;
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate1 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate2 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPResp SIPRespTemplate3 :=
- {
- status := 180,
- cseq := ""
- }
- template SIPResp SIPRespTemplate4 :=
- {
- status := 486,
- cseq := "INVITE"
- }
- template SIPReq SIPReqTemplate5 :=
- {
- op := "ACK",
- param_ := "sip:127.0.0.1:5061"
- }
- /* Generated test case #2 */
- testcase Test_Case_2() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicHarnessAlt());
- qtronic_send_UserInput_to_userIn(UserInputTemplate6);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate7);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate8);
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate9);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate10);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPReq_to_netIn(SIPReqTemplate11);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPResp_from_netOut(SIPRespTemplate12);
- harnessTimer.stop;
- oldtimer := 0.0;
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate6 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate7 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPResp SIPRespTemplate8 :=
- {
- status := 180,
- cseq := ""
- }
- template SIPResp SIPRespTemplate9 :=
- {
- status := 200,
- cseq := "INVITE"
- }
- template SIPReq SIPReqTemplate10 :=
- {
- op := "ACK",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate11 :=
- {
- op := "BYE",
- param_ := "sip:127.0.0.1"
- }
- template SIPResp SIPRespTemplate12 :=
- {
- status := 200,
- cseq := "BYE"
- }
- /* Generated test case #3 */
- testcase Test_Case_3() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicHarnessAlt());
- qtronic_send_UserInput_to_userIn(UserInputTemplate13);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate14);
- harnessTimer.stop;
- oldtimer := 0.0;
- harnessTimer.start((0.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate15);
- harnessTimer.stop;
- oldtimer := 0.500000000;
- harnessTimer.start((1.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate16);
- harnessTimer.stop;
- oldtimer := 1.500000000;
- harnessTimer.start((3.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate17);
- harnessTimer.stop;
- oldtimer := 3.500000000;
- harnessTimer.start((7.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate18);
- harnessTimer.stop;
- oldtimer := 7.500000000;
- harnessTimer.start((8.0 - oldtimer) + SLACK);
- qtronic_receive_TimeOutIndication_from_userOut(TimeOutIndicationTemplate19);
- harnessTimer.stop;
- oldtimer := 8.0;
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate13 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate14 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate15 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate16 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate17 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate18 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template TimeOutIndication TimeOutIndicationTemplate19 :=
- {
-
- }
- /* Generated test case #4 */
- testcase Test_Case_4() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicHarnessAlt());
- qtronic_send_UserInput_to_userIn(UserInputTemplate20);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate21);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate22);
- oldtimer := 0.0;
- qtronic_send_UserInput_to_userIn(UserInputTemplate23);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate24);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate25);
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate26);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate27);
- harnessTimer.stop;
- oldtimer := 0.0;
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate20 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate21 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPResp SIPRespTemplate22 :=
- {
- status := 180,
- cseq := ""
- }
- template UserInput UserInputTemplate23 :=
- {
- input1 := "cancel",
- input2 := ""
- }
- template SIPReq SIPReqTemplate24 :=
- {
- op := "CANCEL",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPResp SIPRespTemplate25 :=
- {
- status := 200,
- cseq := "CANCEL"
- }
- template SIPResp SIPRespTemplate26 :=
- {
- status := 487,
- cseq := "INVITE"
- }
- template SIPReq SIPReqTemplate27 :=
- {
- op := "ACK",
- param_ := "sip:127.0.0.1:5061"
- }
- /* Generated test case #5 */
- testcase Test_Case_5() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicHarnessAlt());
- qtronic_send_UserInput_to_userIn(UserInputTemplate28);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate29);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate30);
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate31);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate32);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_UserInput_to_userIn(UserInputTemplate33);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate34);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate35);
- oldtimer := 0.0;
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate28 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate29 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPResp SIPRespTemplate30 :=
- {
- status := 180,
- cseq := ""
- }
- template SIPResp SIPRespTemplate31 :=
- {
- status := 200,
- cseq := "INVITE"
- }
- template SIPReq SIPReqTemplate32 :=
- {
- op := "ACK",
- param_ := "sip:127.0.0.1:5061"
- }
- template UserInput UserInputTemplate33 :=
- {
- input1 := "bye",
- input2 := ""
- }
- template SIPReq SIPReqTemplate34 :=
- {
- op := "BYE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPResp SIPRespTemplate35 :=
- {
- status := 200,
- cseq := ""
- }
- /* Generated test case #6 */
- testcase Test_Case_6() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicHarnessAlt());
- qtronic_send_UserInput_to_userIn(UserInputTemplate36);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate37);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate38);
- oldtimer := 0.0;
- qtronic_send_UserInput_to_userIn(UserInputTemplate39);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate40);
- harnessTimer.stop;
- oldtimer := 0.0;
- harnessTimer.start((0.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate41);
- harnessTimer.stop;
- oldtimer := 0.500000000;
- harnessTimer.start((1.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate42);
- harnessTimer.stop;
- oldtimer := 1.500000000;
- harnessTimer.start((3.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate43);
- harnessTimer.stop;
- oldtimer := 3.500000000;
- harnessTimer.start((7.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate44);
- harnessTimer.stop;
- oldtimer := 7.500000000;
- harnessTimer.start((8.0 - oldtimer) + SLACK);
- qtronic_receive_TimeOutIndication_from_userOut(TimeOutIndicationTemplate45);
- harnessTimer.stop;
- oldtimer := 8.0;
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate36 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate37 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPResp SIPRespTemplate38 :=
- {
- status := 180,
- cseq := ""
- }
- template UserInput UserInputTemplate39 :=
- {
- input1 := "cancel",
- input2 := ""
- }
- template SIPReq SIPReqTemplate40 :=
- {
- op := "CANCEL",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate41 :=
- {
- op := "CANCEL",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate42 :=
- {
- op := "CANCEL",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate43 :=
- {
- op := "CANCEL",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate44 :=
- {
- op := "CANCEL",
- param_ := "sip:127.0.0.1:5061"
- }
- template TimeOutIndication TimeOutIndicationTemplate45 :=
- {
-
- }
- /* Generated test case #7 */
- testcase Test_Case_7() runs on Qtronic_CT
- {
- var float oldtimer := 0.0;
- var float SLACK := 10.0;
- var default default_behaviour_ref;
- f_MBT_Qtronic_Demo_beginTestCase();
- default_behaviour_ref := activate(QtronicHarnessAlt());
- qtronic_send_UserInput_to_userIn(UserInputTemplate46);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate47);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate48);
- oldtimer := 0.0;
- qtronic_send_SIPResp_to_netIn(SIPRespTemplate49);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate50);
- harnessTimer.stop;
- oldtimer := 0.0;
- qtronic_send_UserInput_to_userIn(UserInputTemplate51);
- oldtimer := 0.0;
- harnessTimer.start((0.0 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate52);
- harnessTimer.stop;
- oldtimer := 0.0;
- harnessTimer.start((0.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate53);
- harnessTimer.stop;
- oldtimer := 0.500000000;
- harnessTimer.start((1.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate54);
- harnessTimer.stop;
- oldtimer := 1.500000000;
- harnessTimer.start((3.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate55);
- harnessTimer.stop;
- oldtimer := 3.500000000;
- harnessTimer.start((7.500000000 - oldtimer) + SLACK);
- qtronic_receive_SIPReq_from_netOut(SIPReqTemplate56);
- harnessTimer.stop;
- oldtimer := 7.500000000;
- harnessTimer.start((8.0 - oldtimer) + SLACK);
- qtronic_receive_TimeOutIndication_from_userOut(TimeOutIndicationTemplate57);
- harnessTimer.stop;
- oldtimer := 8.0;
- setverdict(pass);
- deactivate(default_behaviour_ref);
- f_MBT_Qtronic_Demo_endTestCase();
- }
- template UserInput UserInputTemplate46 :=
- {
- input1 := "invite",
- input2 := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate47 :=
- {
- op := "INVITE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPResp SIPRespTemplate48 :=
- {
- status := 180,
- cseq := ""
- }
- template SIPResp SIPRespTemplate49 :=
- {
- status := 200,
- cseq := "INVITE"
- }
- template SIPReq SIPReqTemplate50 :=
- {
- op := "ACK",
- param_ := "sip:127.0.0.1:5061"
- }
- template UserInput UserInputTemplate51 :=
- {
- input1 := "bye",
- input2 := ""
- }
- template SIPReq SIPReqTemplate52 :=
- {
- op := "BYE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate53 :=
- {
- op := "BYE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate54 :=
- {
- op := "BYE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate55 :=
- {
- op := "BYE",
- param_ := "sip:127.0.0.1:5061"
- }
- template SIPReq SIPReqTemplate56 :=
- {
- op := "BYE",
- param_ := "sip:127.0.0.1:5061"
- }
- template TimeOutIndication TimeOutIndicationTemplate57 :=
- {
-
- }
- control
- {
- execute(Test_Case_1());
- execute(Test_Case_2());
- execute(Test_Case_3());
- execute(Test_Case_4());
- execute(Test_Case_5());
- execute(Test_Case_6());
- execute(Test_Case_7());
- }
-}
diff --git a/demo/mapped/MBT_Qtronic_Types.ttcn b/demo/mapped/MBT_Qtronic_Types.ttcn
deleted file mode 100644
index 3ebc47f..0000000
--- a/demo/mapped/MBT_Qtronic_Types.ttcn
+++ /dev/null
@@ -1,78 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_Qtronic_Types.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2010-04-14
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-/* -*- ttcn3 -*- */
-
-/** @file C:\Users\eantwuh\workspace\SIPeval\MBT_Qtronic_Types.ttcn
- *
- * @author Conformiq TTCN3 Script Backend
- * @date Wed Apr 14 13:17:47 CEST 2010
- *
- * WARNING! This file has been automatically generated using
- * Ericsson Qtronic TTCN3 Script Backend (based on the original Conformiq Backend).DO NOT EDIT.
- */
-
-module MBT_Qtronic_Types
-{
- /* User provided imports begin */
- import from MBT_Qtronic_Demo all; import from EPTF_MBT_LGen_Definitions all;
- /* User provided imports end */
- type port netInPort message
- {
- inout SIPResp;
- inout SIPReq;
- } with {extension "internal"}
- type port userInPort message
- {
- inout UserInput;
- } with {extension "internal"}
- type port netOutPort message
- {
- inout SIPResp;
- inout SIPReq;
- } with {extension "internal"}
- type port userOutPort message
- {
- inout TimeOutIndication;
- } with {extension "internal"}
- type record SIPResp
- {
- integer status,
- charstring cseq
- }
- type record UserInput
- {
- charstring input1,
- charstring input2
- }
- type record TimeOutIndication
- {
-
- }
- type record SIPReq
- {
- charstring op,
- charstring param_
- }
- type component Qtronic_CT extends MBT_Qtronic_Demo_Main_CT
- {
- port netInPort netIn;
- port userInPort userIn;
- port netOutPort netOut;
- port userOutPort userOut;
- timer harnessTimer := 0.0;
- }
-}
diff --git a/demo/mapped/model/SIPClient.java b/demo/mapped/model/SIPClient.java
deleted file mode 100644
index 36c7abd..0000000
--- a/demo/mapped/model/SIPClient.java
+++ /dev/null
@@ -1,124 +0,0 @@
-// -*- cqa -*-
-
-
-/* System Description
- * Defines input/output ports,
- * and valid messages per port.
- */
-system
-{
- Inbound userIn : UserInput;
- Inbound netIn : SIPResp, SIPReq;
- Outbound netOut : SIPResp, SIPReq;
- Outbound userOut : TimeOutIndication;
-}
-
-
-/* ====================================================
- * Message Definitions
- */
-record TimeOutIndication { }
-
-record UserInput
-{
- public String input1;
- public String input2;
-}
-
-record SIPResp
-{
- public int status;
- public String cseq;
-}
-
-record SIPReq
-{
- public String op;
- public String param;
-}
-
-
-/* ====================================================
- * SIPClient
- */
-
-class SIPClient extends StateMachine {
-
- const float T1 = 0.5; // For UDP transport
-
- public float timeoutA = T1; // 17.1.1.2
- public float timeoutB = 16 * T1; // 17.1.1.2
- public float timeoutE = T1; // 17.1.2.2
- public float timeoutF = 16 * T1; // 17.1.2.2
-
-
- /* -----------------------------------------
- * SIP addresses
- * src = caller, dst = callee
- */
-
- public String src = "sip:127.0.0.1";
- public String dst = "sip:127.0.0.1:5061";
-
-
- /* -----------------------------------------
- * Methods to send SIP messages to network.
- */
- public void Invite() {
- SIPReq r;
- r.op = "INVITE";
- r.param = dst;
- netOut.send(r, 1.0);
- }
-
- protected void Cancel() {
- SIPReq r;
- r.op = "CANCEL";
- r.param = dst;
- netOut.send(r, 1.0);
- }
-
- protected void Ack() {
- SIPReq r;
- r.op = "ACK";
- r.param = dst;
- netOut.send(r, 1.0);
- }
-
- protected void Bye() {
- SIPReq r;
- r.op = "BYE";
- r.param = dst;
- netOut.send(r, 1.0);
- }
-
- protected void SendOK(String cseq) {
- SIPResp r;
- r.status = 200;
- r.cseq = cseq;
- netOut.send(r, 1.0);
- }
-
-
- /* -----------------------------------------
- * Methods to provide indications to the
- * user interface.
- */
- private void TimeOut()
- {
- // Indicate timeout
- TimeOutIndication timeout;
- userOut.send(timeout);
- }
-}
-
-
-/* ====================================================
- * main() - Starting Point
- */
-
-void main()
-{
- var a = new SIPClient();
- a.start();
-}
diff --git a/demo/mapped/model/SIPClient.xmi b/demo/mapped/model/SIPClient.xmi
deleted file mode 100644
index 86e3ceb..0000000
--- a/demo/mapped/model/SIPClient.xmi
+++ /dev/null
@@ -1,326 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<n1:Project xmlns:n1="http://www.conformiq.com/EMF/SimpleStatechart" xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
- <statemachine name="SIPClient">
- <transitions body="userIn:UserInput&#xA;[msg.input1==&quot;invite&quot; &amp;&amp; msg.input2==dst]&#xA;/&#xA;Invite();" from="//@statemachine.0/@states.0" to="//@statemachine.0/@states.1"/>
- <transitions body="netIn:SIPResp[msg.status==180]/&#xA;require true;" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.12"/>
- <transitions body="netIn:SIPResp&#xA;[msg.status==200 &amp;&amp;&#xA; msg.cseq == &quot;INVITE&quot;]&#xA;/Ack();&#xA;requirement &quot;Acknowledge established call with ACK&quot;;" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.2"/>
- <transitions body="after(timeoutB)/&#xA;requirement &quot;17.1.1.2 INVITE timers/Terminates INVITE cycle after B timeout&quot;;&#xA;TimeOut();" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.5"/>
- <transitions body="userIn:UserInput&#xA;[msg.input1==&quot;bye&quot;]/" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.3"/>
- <transitions body="netIn:SIPResp&#xA;[msg.status==200]/&#xA;requirement &quot;Terminating/Wait for OK in response to BYE&quot;;" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.10"/>
- <transitions body="netIn:SIPReq&#xA;[msg.op==&quot;BYE&quot; &amp;&amp;&#xA; msg.param==src]&#xA;/SendOK(&quot;BYE&quot;);&#xA;requirement &quot;Terminating/Send OK in response to BYE&quot;;" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.8"/>
- <transitions body="netIn:SIPResp&#xA;[msg.status==486 &amp;&amp;&#xA; msg.cseq == &quot;INVITE&quot;]&#xA;/Ack();" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.11"/>
- <transitions body="netIn:SIPResp&#xA;[msg.status==487 &amp;&amp;&#xA;msg.cseq==&quot;INVITE&quot;]/&#xA;Ack();" from="//@statemachine.0/@states.13" to="//@statemachine.0/@states.9"/>
- <transitions body="/ setThreadName(&quot;SIP UAC&quot;);" from="//@statemachine.0/@states.4" to="//@statemachine.0/@states.0"/>
- <transitions body="netIn:SIPResp&#xA;[msg.status==200 &amp;&amp;&#xA;msg.cseq==&quot;CANCEL&quot;]/" from="//@statemachine.0/@states.6" to="//@statemachine.0/@states.13"/>
- <transitions body="after(timeoutF)/&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Terminates BYE cycle after F timeout&quot;;&#xA;TimeOut();" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.5"/>
- <transitions body="userIn:UserInput&#xA;[msg.input1==&quot;cancel&quot;]/" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.6"/>
- <transitions body="after(timeoutF)/&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Terminates CANCEL cycle after F timeout&quot;;&#xA;TimeOut();" from="//@statemachine.0/@states.6" to="//@statemachine.0/@states.7"/>
- <states internal="" name="Init" xsi:type="n1:BasicState"/>
- <states internal="" name="Calling" xsi:type="n1:BasicState">
- <transitions body="after(timeoutA)/&#xA;Invite();&#xA;timeoutA = timeoutA * 2.0;&#xA;requirement &quot;17.1.1.2 INVITE timers/Resends INVITE after A timeout&quot;;" from="//@statemachine.0/@states.1/@states.1" to="//@statemachine.0/@states.1/@states.2"/>
- <transitions body="" from="//@statemachine.0/@states.1/@states.2" to="//@statemachine.0/@states.1/@states.1"/>
- <transitions body="/timeoutA = T1;" from="//@statemachine.0/@states.1/@states.0" to="//@statemachine.0/@states.1/@states.1"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="" name="Wait" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:Junction"/>
- </states>
- <states internal="" name="Ready" xsi:type="n1:BasicState"/>
- <states internal="" name="Terminating" xsi:type="n1:BasicState">
- <transitions body="/Bye();&#xA;timeoutE = T1;" from="//@statemachine.0/@states.3/@states.0" to="//@statemachine.0/@states.3/@states.1"/>
- <transitions body="after(timeoutE)/&#xA;Bye();&#xA;timeoutE = timeoutE * 2.0;&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Resends BYE after E timeout&quot;;" from="//@statemachine.0/@states.3/@states.1" to="//@statemachine.0/@states.3/@states.2"/>
- <transitions body="" from="//@statemachine.0/@states.3/@states.2" to="//@statemachine.0/@states.3/@states.1"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="" name="Wait" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:Junction"/>
- </states>
- <states xsi:type="n1:InitialState"/>
- <states xsi:type="n1:FinalState"/>
- <states internal="" name="Canceling" xsi:type="n1:BasicState">
- <transitions body="/Cancel();&#xA;timeoutE = T1;" from="//@statemachine.0/@states.6/@states.0" to="//@statemachine.0/@states.6/@states.1"/>
- <transitions body="after(timeoutE)/&#xA;Cancel();&#xA;timeoutE = timeoutE * 2.0;&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Resends CANCEL after E timeout&quot;;" from="//@statemachine.0/@states.6/@states.1" to="//@statemachine.0/@states.6/@states.2"/>
- <transitions body="" from="//@statemachine.0/@states.6/@states.2" to="//@statemachine.0/@states.6/@states.1"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="" name="Wait" xsi:type="n1:BasicState"/>
- <states xsi:type="n1:Junction"/>
- </states>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:FinalState"/>
- <states xsi:type="n1:FinalState"/>
- <states internal="" name="Ringing" xsi:type="n1:BasicState"/>
- <states internal="" name="Waiting Response" xsi:type="n1:BasicState"/>
- </statemachine>
-
- <diagrams statemachine="//@statemachine.0">
- <items height="50" state="//@statemachine.0/@states.0" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-600" y="-300"/>
- </items>
- <items height="50" state="//@statemachine.0/@states.1" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-600" y="-100"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.2" width="200" xsi:type="n1:DiagramBasicState">
- <location x="100" y="150"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.3" width="150" xsi:type="n1:DiagramBasicState">
- <location x="-250" y="250"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-540" y="-175"/>
- <route x="-550" y="-250"/>
- <route x="-550" y="-100"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-300" y="-85"/>
- <route x="-500" y="-75"/>
- <route x="-100" y="-75"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="0" x="417.917" y="3.888"/>
- <route x="0" y="0"/>
- <route x="200" y="0"/>
- <route x="200" y="150"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.3" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-540" y="113.953"/>
- <route x="-550" y="-50"/>
- <route x="-550" y="277.906"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.4" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="230" constraintRight="80" valign="0" x="-37.5" y="210"/>
- <route x="100" y="200"/>
- <route x="-175" y="200"/>
- <route x="-175" y="250"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.5" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-172" y="416"/>
- <route x="-182" y="350"/>
- <route x="-182" y="482"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.6" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="210" y="315"/>
- <route x="200" y="250"/>
- <route x="200" y="380"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.7" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-215" y="40"/>
- <route x="-100" y="50"/>
- <route x="-330" y="50"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.8" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="685" y="202.5"/>
- <route x="675" y="150"/>
- <route x="675" y="255"/>
- </items>
- <items state="//@statemachine.0/@states.4" xsi:type="n1:DiagramInitialState">
- <location x="-550" y="-350"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.9" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="-540" y="-315"/>
- <route x="-550" y="-330"/>
- <route x="-550" y="-300"/>
- </items>
- <items state="//@statemachine.0/@states.5" xsi:type="n1:DiagramFinalState">
- <location x="-550" y="297.906"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.10" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="685" y="25"/>
- <route x="675" y="-50"/>
- <route x="675" y="100"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.11" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-425.57" y="400.906"/>
- <route x="-250" y="298.763"/>
- <route x="-530" y="297.963"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.6" width="150" xsi:type="n1:DiagramBasicState">
- <location x="600" y="-150"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@transitions.12" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="300" y="-87.5"/>
- <route x="0" y="-77.5"/>
- <route x="600" y="-77.5"/>
- </items>
- <items state="//@statemachine.0/@states.7" xsi:type="n1:DiagramFinalState">
- <location x="675" y="-275.13"/>
- </items>
- <items autolayout="false" transition="//@statemachine.0/@transitions.13" xsi:type="n1:DiagramTransition">
- <bodylocation align="0" valign="0.5" x="536.844" y="-195.261"/>
- <route x="675" y="-150"/>
- <route x="675" y="-255.13"/>
- </items>
- <items state="//@statemachine.0/@states.8" xsi:type="n1:DiagramFinalState">
- <location x="200" y="400"/>
- </items>
- <items state="//@statemachine.0/@states.9" xsi:type="n1:DiagramFinalState">
- <location x="675" y="275"/>
- </items>
- <items state="//@statemachine.0/@states.10" xsi:type="n1:DiagramFinalState">
- <location x="-182" y="502"/>
- </items>
- <items state="//@statemachine.0/@states.11" xsi:type="n1:DiagramFinalState">
- <location x="-350" y="50"/>
- </items>
- <items height="250" state="//@statemachine.0/@states.12" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-100" y="-150"/>
- </items>
- <items height="50" state="//@statemachine.0/@states.13" width="150" xsi:type="n1:DiagramBasicState">
- <location x="600" y="100"/>
- </items>
- <items height="120" note="Triggered by user action, send INVITE request. (We are initiating a new call.)" width="161" xsi:type="n1:DiagramNote">
- <location x="-838" y="-142"/>
- </items>
- <items autolayout="false" item="//@diagrams.0/@items.1" note="//@diagrams.0/@items.28" xsi:type="n1:DiagramNoteConnector">
- <route x="-677" y="-75"/>
- <route x="-600" y="-75"/>
- </items>
- <items height="76" note="21.1.2 180 Ringing&#xA;waiting for other end to answer" width="174" xsi:type="n1:DiagramNote">
- <location x="-100" y="-300"/>
- </items>
- <items autolayout="false" item="//@diagrams.0/@items.26" note="//@diagrams.0/@items.30" xsi:type="n1:DiagramNoteConnector">
- <route x="-50" y="-224"/>
- <route x="-50" y="-150"/>
- </items>
- <items height="131" note="It is ringing, but we want to cancel (hang-up) before other end answers" width="169" xsi:type="n1:DiagramNote">
- <location x="250" y="-321"/>
- </items>
- <items autolayout="false" note="//@diagrams.0/@items.32" xsi:type="n1:DiagramNoteConnector">
- <route x="327" y="-190"/>
- <route x="327" y="-80"/>
- </items>
- <items height="84" note="Now we can speak with other end" width="143" xsi:type="n1:DiagramNote">
- <location x="-35" y="275"/>
- </items>
- <items autolayout="false" item="//@diagrams.0/@items.2" note="//@diagrams.0/@items.34" xsi:type="n1:DiagramNoteConnector">
- <route x="88" y="275"/>
- <route x="120" y="250"/>
- </items>
- <items height="66" note="21.4.24 486 Busy Here&#xA;Callee rejects call" width="179" xsi:type="n1:DiagramNote">
- <location x="-494" y="-57"/>
- </items>
- <items autolayout="false" item="//@diagrams.0/@items.25" note="//@diagrams.0/@items.36" xsi:type="n1:DiagramNoteConnector">
- <route x="-350" y="9"/>
- <route x="-350" y="30"/>
- </items>
- <items height="52" note="2.1.4.25 487 Request Terminated&#xA;call is now terminated" width="257" xsi:type="n1:DiagramNote">
- <location x="370" y="168"/>
- </items>
- <items autolayout="false" note="//@diagrams.0/@items.38" xsi:type="n1:DiagramNoteConnector">
- <route x="627" y="200"/>
- <route x="675" y="202"/>
- </items>
- <items height="69" note="Paragraph numbers in comments and requiremnts refer to RFC 3261 SIP: Session Initiation Protocol" width="307" xsi:type="n1:DiagramNote">
- <location x="-238" y="-433"/>
- </items>
- </diagrams>
-
- <diagrams cursorItem="after(timeoutE)/&#xA;Bye();&#xA;timeoutE = timeoutE * 2.0;&#xA;requirement &quot;17.1.2.2 Non-INVITE timers/Resends BYE after E timeout&quot;;" cursorOffset="14" selected="//@diagrams.1/@items.4" substate="//@statemachine.0/@states.3">
- <items state="//@statemachine.0/@states.3/@states.0" xsi:type="n1:DiagramInitialState">
- <location x="-1200" y="-200"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.3/@states.1" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-1000" y="-250"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.3/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-1090" y="-210"/>
- <route x="-1180" y="-200"/>
- <route x="-1000" y="-200"/>
- </items>
- <items state="//@statemachine.0/@states.3/@states.2" xsi:type="n1:DiagramJunction">
- <location x="-600" y="-100"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.3/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="-130" constraintLeft="-880" valign="0" x="-750" y="-190"/>
- <route x="-900" y="-200"/>
- <route x="-600" y="-200"/>
- <route x="-600" y="-110"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.3/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintRight="-630" constraintTop="-130" valign="1" x="-780" y="-110"/>
- <route x="-610" y="-100"/>
- <route x="-950" y="-100"/>
- <route x="-950" y="-150"/>
- </items>
- <items height="150" note="Re-send BYE message after time-out and increase value of timer E according to RFC 3261 17.1.2 Non-INVITE Client Transaction." width="350" xsi:type="n1:DiagramNote">
- <location x="-1100" y="-50"/>
- </items>
- <items autolayout="false" item="//@diagrams.1/@items.3" note="//@diagrams.1/@items.6" xsi:type="n1:DiagramNoteConnector">
- <route x="-750" y="-30"/>
- <route x="-609.062" y="-95.7711"/>
- </items>
- </diagrams>
-
- <diagrams cursorItem="after(timeoutA)/&#xA;Invite();&#xA;timeoutA = timeoutA * 2.0;&#xA;requirement &quot;17.1.1.2 INVITE timers/Resends INVITE after A timeout&quot;;" cursorOffset="46" selected="//@diagrams.2/@items.3" substate="//@statemachine.0/@states.1">
- <items state="//@statemachine.0/@states.1/@states.0" xsi:type="n1:DiagramInitialState">
- <location x="-1200" y="-300"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.1/@states.1" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-1000" y="-350"/>
- </items>
- <items state="//@statemachine.0/@states.1/@states.2" xsi:type="n1:DiagramJunction">
- <location x="-600" y="-200"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.1/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="-230" constraintLeft="-880" valign="0" x="-750" y="-290"/>
- <route x="-900" y="-300"/>
- <route x="-600" y="-300"/>
- <route x="-600" y="-210"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.1/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintRight="-630" constraintTop="-230" valign="1" x="-780" y="-210"/>
- <route x="-610" y="-200"/>
- <route x="-950" y="-200"/>
- <route x="-950" y="-250"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.1/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-1090" y="-310"/>
- <route x="-1180" y="-300"/>
- <route x="-1000" y="-300"/>
- </items>
- <items height="150" note="Re-send INVITE message after time-out and increase value of timer A according to RFC 3261 17.1.1 INVITE Client Transaction." width="350" xsi:type="n1:DiagramNote">
- <location x="-1100" y="-150"/>
- </items>
- <items autolayout="false" item="//@diagrams.2/@items.2" note="//@diagrams.2/@items.6" xsi:type="n1:DiagramNoteConnector">
- <route x="-750" y="-130"/>
- <route x="-609.062" y="-195.771"/>
- </items>
- </diagrams>
-
- <diagrams substate="//@statemachine.0/@states.6">
- <items state="//@statemachine.0/@states.6/@states.0" xsi:type="n1:DiagramInitialState">
- <location x="-1300" y="-300"/>
- </items>
- <items height="100" state="//@statemachine.0/@states.6/@states.1" width="100" xsi:type="n1:DiagramBasicState">
- <location x="-1100" y="-350"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.6/@transitions.0" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" valign="1" x="-1190" y="-310"/>
- <route x="-1280" y="-300"/>
- <route x="-1100" y="-300"/>
- </items>
- <items state="//@statemachine.0/@states.6/@states.2" xsi:type="n1:DiagramJunction">
- <location x="-700" y="-200"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.6/@transitions.1" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintBottom="-230" constraintLeft="-980" valign="0" x="-850" y="-290"/>
- <route x="-1000" y="-300"/>
- <route x="-700" y="-300"/>
- <route x="-700" y="-210"/>
- </items>
- <items autolayout="true" transition="//@statemachine.0/@states.6/@transitions.2" xsi:type="n1:DiagramTransition">
- <bodylocation align="0.5" constraintRight="-730" constraintTop="-230" valign="1" x="-880" y="-210"/>
- <route x="-710" y="-200"/>
- <route x="-1050" y="-200"/>
- <route x="-1050" y="-250"/>
- </items>
- <items height="150" note="Re-send CANCEL message after time-out and increase value of timer E according to RFC 3261 17.1.2 Non-INVITE Client Transaction." width="350" xsi:type="n1:DiagramNote">
- <location x="-1200" y="-150"/>
- </items>
- <items autolayout="false" item="//@diagrams.3/@items.3" note="//@diagrams.3/@items.6" xsi:type="n1:DiagramNoteConnector">
- <route x="-850" y="-130"/>
- <route x="-709.062" y="-195.771"/>
- </items>
- </diagrams>
-
-</n1:Project>
diff --git a/demo/sut/MBT_SUT_SIP_Phone.ttcn b/demo/sut/MBT_SUT_SIP_Phone.ttcn
deleted file mode 100644
index 504c2e6..0000000
--- a/demo/sut/MBT_SUT_SIP_Phone.ttcn
+++ /dev/null
@@ -1,403 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (c) 2000-2018 Ericsson Telecom AB
-//
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// which accompanies this distribution, and is available at
-// http://www.eclipse.org/legal/epl-v10.html
-///////////////////////////////////////////////////////////////////////////////
-//
-// File: MBT_SUT_SIP_Phone.ttcn
-// Rev: <RnXnn>
-// Prodnr: CNL 113 659
-// Updated: 2009-10-01
-// Contact: http://ttcn.ericsson.se
-///////////////////////////////////////////////////////////////////////////////
-
-module MBT_SUT_SIP_Phone
-{
-import from MBT_Qtronic_Types all;
-
-import from EPTF_CLL_Common_Definitions all;
-import from EPTF_CLL_Base_Functions all;
-import from EPTF_CLL_RBTScheduler_Functions all;
-import from EPTF_CLL_LGenBase_Definitions all;
-import from EPTF_CLL_LGenBase_ConfigFunctions all;
-import from EPTF_CLL_LGenBase_EventHandlingFunctions all;
-
-import from EPTF_MBT_LGen_Definitions all;
-import from EPTF_MBT_LGen_Functions all;
-
-import from EPTF_SIP_LGen_Definitions all;
-import from EPTF_SIP_LGen_Functions all;
-import from EPTF_SIP_Common_Functions all;
-import from EPTF_SIP_UserDatabase_Functions all;
-import from EPTF_SIP_Transport_Definitions all;
-import from EPTF_SIP_Transport_Functions all;
-import from EPTF_SIP_MessageHandler_Functions all;
-
-import from EPTF_SIP_TestSteps all;
-import from EPTF_SIP_Templates all;
-import from EPTF_SIP_Events all;
-
-modulepar
-{
- charstring tsp_MBT_SUT_LocalIP := "159.107.193.33";
- integer tsp_MBT_SUT_LocalPort := 20000;
- charstring tsp_MBT_SUT_RemoteIP := "159.107.193.33";
- integer tsp_MBT_SUT_RemotePort := 15000;
-
- charstring tsp_MBT_SUT_SIP_Transport := "udp";
-}
-
-type component MBT_Qtronic_Demo_SUT_CT
- extends
- EPTF_MBT_LGen_CT,
- EPTF_SIP_LGen_CT, EPTF_SIP_LocalTransport_CT
-{
- port userInPort userIn;
- port userOutPort userOut;
-
- var integer v_SUT_myBIdx := -1;
-}
-
-function f_MBT_Qtronic_Demo_SUT_behavior() runs on MBT_Qtronic_Demo_SUT_CT
-{
- // map(self:IPL4_PCO, system:IPL4_PCO);
-
- activate(as_MBT_Qtronic_Demo_SUT_userMessageHandler());
-
- f_EPTF_MBT_init("MBT_Demo_SUT",0, "MBT_")
-
- f_SIP_applibInit("MBT_Demo_SUT");
-
- f_EPTF_SIP_LocalTransport_init(tsp_MBT_SUT_SIP_Transport);
- vf_EPTF_SIP_LocalTransport_receive := refers(f_EPTF_SIP_Message_MsgHandler); //receive callback function on LocalTransport
- vf_EPTF_SIP_LGen_msgSender := refers(f_EPTF_SIP_LocalTransport_sendSIPMessage); //send callback function on LGen
- v_removeUAS := refers(fcb_EPTF_SIP_LocalTransport_removeUAS);
-
- v_SUT_myBIdx := f_EPTF_LGenBase_declareBehaviorType("SUT_Behavior", -1, null, null, null);
-
- var integer vl_temp := -1;
- vl_temp := f_EPTF_LGenBase_declareFsmEvent("SUT_Behavior", "SUT_INVITE");
- f_EPTF_Base_assert(%definitionId&": Error during registration of SUT_INVITE", vl_temp == c_MBT_Qtronic_Demo_SUT_Event_invite);
- vl_temp := f_EPTF_LGenBase_declareFsmEvent("SUT_Behavior", "SUT_CANCEL");
- f_EPTF_Base_assert(%definitionId&": Error during registration of SUT_CANCEL", vl_temp == c_MBT_Qtronic_Demo_SUT_Event_cancel);
- vl_temp := f_EPTF_LGenBase_declareFsmEvent("SUT_Behavior", "SUT_BYE");
- f_EPTF_Base_assert(%definitionId&": Error during registration of SUT_BYE", vl_temp == c_MBT_Qtronic_Demo_SUT_Event_bye);
-
-
- f_EPTF_LGenBase_declareCompactFsmTable(f_IMBT_Qtronic_Demo_SUT_getFSM());
-
- f_EPTF_MBT_initLGenFsm
- (
- refers(f_MBT_Qtronic_Demo_SUT_createUserMessage),
- refers(f_MBT_Qtronic_Demo_SUT_fillInDB)
- );
-
- EPTF_MBT_PCO.send(EPTF_MBT_CommandResponse:{ ready := {}}) to mtc;
-
- f_EPTF_Base_wait4Shutdown();
-}
-
-altstep as_MBT_Qtronic_Demo_SUT_userMessageHandler()
-runs on MBT_Qtronic_Demo_SUT_CT
-{
- var UserInput vl_UserInput;
-
- [] userIn.receive(UserInput:?) -> value vl_UserInput
- {
- f_EPTF_SchedulerComp_refreshSnapshotTime();
- action(%definitionId, " incoming: ", vl_UserInput);
-
- if (vl_UserInput.input1 == "invite")
- {
- f_EPTF_LGenBase_dispatchEvent({{v_SUT_myBIdx, c_MBT_Qtronic_Demo_SUT_Event_invite,{ 0, 0}, omit},{}});
- }
- else if (vl_UserInput.input1 == "cancel")
- {
- f_EPTF_LGenBase_dispatchEvent({{v_SUT_myBIdx, c_MBT_Qtronic_Demo_SUT_Event_cancel,{ 0, 0}, omit},{}});
- }
- else if (vl_UserInput.input1 == "bye")
- {
- f_EPTF_LGenBase_dispatchEvent({{v_SUT_myBIdx, c_MBT_Qtronic_Demo_SUT_Event_bye,{ 0, 0}, omit},{}});
- }
- else
- {
- action(%definitionId & "(): UserInput not recognized: ", vl_UserInput);
- }
-
- repeat;
- }
-}
-
-function f_MBT_Qtronic_Demo_SUT_createUserMessage(in EPTF_LGenBase_TestStepArgs pl_ptr)
-runs on MBT_Qtronic_Demo_SUT_CT
-return boolean
-{
- action(%definitionId & "(): creating message for: ", pl_ptr, "\n", pl_ptr.reportedEvent);
- return true;
-}
-
-function f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication(in EPTF_LGenBase_TestStepArgs pl_ptr)
-runs on MBT_Qtronic_Demo_SUT_CT
-{
- userOut.send(TimeOutIndication:{});
-}
-
-function f_MBT_Qtronic_Demo_SUT_fillInDB(in EPTF_MBT_ConfigRequest p_req) runs on MBT_Qtronic_Demo_SUT_CT
-{
- var integer vl_grpIdx := f_EPTF_LGenBase_entityGrpNameIndex(p_req.entityGroupName);
- var integer vl_entityIdx := f_EPTF_LGenBase_getEGrpBaseOffset(vl_grpIdx);
-
- for (var integer i:=0; i<p_req.noEntities; i:=i+1)
- {
- var EPTF_IntegerList vl_bCtx := f_EPTF_LGenBase_getBehaviorCtx(i + vl_entityIdx, v_SIP_myBIdx);
- f_EPTF_SIP_IPL4asp_SetUserData
- (
- vl_bCtx[0],
- tsp_MBT_SUT_LocalIP, // local IP
- {tsp_MBT_SUT_LocalPort, tsp_MBT_SUT_LocalPort+1},
- tsp_MBT_SUT_SIP_Transport,
- tsp_MBT_SUT_RemoteIP, // proxy ip
- tsp_MBT_SUT_RemotePort // proxy port
- );
-
- f_EPTF_SIP_User_SetUserData(
- vl_bCtx[0],
- {
- {
- addr := {
- nameAddr := {
- displayName := "titansim_user_7465001",
- addrSpec := {
- scheme := "sip",
- userInfo := {
- userOrTelephoneSubscriber := "titansim_user_7465001",
- password := omit
- },
- hostPort := {
- host := "tcj.ics.se",
- portField := tsp_MBT_SUT_LocalPort
- },
- urlParameters := omit,
- headers := omit
- }
- }
- },
- password := "pass2ICS"
- }
- },
- tsp_MBT_SUT_LocalIP,
- {tsp_MBT_SUT_LocalPort, tsp_MBT_SUT_LocalPort+1},
- i + vl_entityIdx //entity index
- );
-
- f_EPTF_SIP_Session_AddData(vl_bCtx[0], f_EPTF_SIP_getTransport(tsp_MBT_SUT_SIP_Transport),345600);
-
- f_EPTF_SIP_Session_addCalledUser(
- i,
- {
- nameAddr := {
- displayName := "titansim_user_7465000",
- addrSpec := {
- scheme := "sip",
- userInfo := {
- userOrTelephoneSubscriber := "titansim_user_7465000",
- password := omit
- },
- hostPort := {
- host := "tcj.ics.se",
- portField := tsp_MBT_SUT_RemotePort
- },
- urlParameters := omit,
- headers := omit
- }
- }
- }
- );
-
- f_EPTF_SIP_IPL4asp_startListening(vl_bCtx[0], true); // Both UDP and TCP
- }
-}
-
-const integer c_MBT_Qtronic_Demo_SUT_Event_invite := 0;
-const integer c_MBT_Qtronic_Demo_SUT_Event_cancel := 1;
-const integer c_MBT_Qtronic_Demo_SUT_Event_bye := 2;
-
-const integer c_MBT_Qtronic_Demo_SUT_State_idle := 0;
-const integer c_MBT_Qtronic_Demo_SUT_State_initiated := 1;
-const integer c_MBT_Qtronic_Demo_SUT_State_canceling := 2;
-const integer c_MBT_Qtronic_Demo_SUT_State_established := 3;
-const integer c_MBT_Qtronic_Demo_SUT_State_closing := 4;
-
-function f_IMBT_Qtronic_Demo_SUT_getFSM()
- runs on MBT_Qtronic_Demo_SUT_CT
- return EPTF_LGenBase_CompactFsmTable
-{
- return
- {
- //DOT: digraph c_MBT_Qtronic_Demo_SUT_FSM {
- name := "MBT_Qtronic_Demo_SUT_FSM",
- stateList := {"idle", "initiated", "canceling", "established", "closing"},
- timerList := {},
- table :=
- {
- {eventToListen := {v_SUT_myBIdx, c_MBT_Qtronic_Demo_SUT_Event_invite, entity},
- cellRow := {
- //state=idle
- { {
- //DOT: idle -> initiated [label="i:invite\n o:INVITE"]
- {refers(f_SIP_step_init), {}},
- {refers(f_SIP_step_createINVITE),{0,0}}
- },omit, c_MBT_Qtronic_Demo_SUT_State_initiated},
- //state=initiated
- { omit, omit, omit },
- //state=canceling
- { omit, omit, omit },
- //state=established
- { omit, omit, omit },
- //state=closing
- { omit, omit, omit }
- }
- },
- {eventToListen := {v_SUT_myBIdx, c_MBT_Qtronic_Demo_SUT_Event_cancel, entity},
- cellRow := {
- //state=idle
- { omit, omit, omit },
- //state=initiated
- { {
- //DOT: initiated -> canceling [label="i:cancel\n o:CANCEL"]
- {refers(f_SIP_step_createCANCEL),{}}
- },omit, c_MBT_Qtronic_Demo_SUT_State_canceling},
- //state=canceling
- { omit, omit, omit },
- //state=established
- { omit, omit, omit },
- //state=closing
- { omit, omit, omit }
- }
- },
- {eventToListen := {v_SUT_myBIdx, c_MBT_Qtronic_Demo_SUT_Event_bye, entity},
- cellRow := {
- //state=idle
- { omit, omit, omit },
- //state=initiated
- { omit, omit, omit },
- //state=canceling
- { omit, omit, omit },
- //state=established
- { {
- //DOT: established -> closing [label="i:bye\n o:BYE"]
- {refers(f_SIP_step_createBYE),{}}
- },omit, c_MBT_Qtronic_Demo_SUT_State_closing},
- //state=closing
- { omit, omit, omit }
- }
- },
- {eventToListen := {v_SIP_myBIdx, 200, fsm},
- cellRow := {
- //state=idle
- { omit, omit, omit },
- //state=initiated
- { {
- //DOT: initiated -> established [label="i:200\n o:ACK"]
- {refers(f_SIP_step_createACK),{}}
- },omit, c_MBT_Qtronic_Demo_SUT_State_established},
- //state=canceling
- { omit, omit, omit },
- //state=established
- { omit, omit, omit },
- //state=closing
- { {
- //DOT: closing -> idle [label="i:200"]
- },omit, c_MBT_Qtronic_Demo_SUT_State_idle }
- }
- },
- {eventToListen := {v_SIP_myBIdx, 486, fsm},
- cellRow := {
- //state=idle
- { omit, omit, omit },
- //state=initiated
- { {
- //DOT: initiated -> idle [label="i:486\n o:ACK"]
- {refers(f_SIP_step_createACK),{}}
- },omit, c_MBT_Qtronic_Demo_SUT_State_idle},
- //state=canceling
- { omit, omit, omit },
- //state=established
- { omit, omit, omit },
- //state=closing
- { omit, omit, omit }
- }
- },
- {eventToListen := {v_SIP_myBIdx, 487, fsm},
- cellRow := {
- //state=idle
- { omit, omit, omit },
- //state=initiated
- { omit, omit, omit },
- //state=canceling
- { {
- //DOT: canceling -> idle [label="i:487\n o:ACK"]
- {refers(f_SIP_step_createACK),{}}
- },omit, c_MBT_Qtronic_Demo_SUT_State_idle},
- //state=established
- { omit, omit, omit },
- //state=closing
- { omit, omit, omit }
- }
- },
- {eventToListen := {v_SIP_myBIdx, c_SIP_eventIdx_BYE, fsm},
- cellRow := {
- //state=idle
- { omit, omit, omit },
- //state=initiated
- { omit, omit, omit },
- //state=canceling
- { omit, omit, omit },
- //state=established
- { {
- //DOT: canceling -> idle [label="i:487\n o:ACK"]
- {refers(f_SIP_step_handleBYE), {}},
- {refers(f_SIP_step_createResponse),{c_status_200OK_idx}}
- },omit, c_MBT_Qtronic_Demo_SUT_State_idle},
- //state=closing
- { omit, omit, omit }
- }
- },
- {eventToListen := {v_SIP_myBIdx, c_SIP_eventIdx_UACTransactionTimeout, fsm},
- cellRow := {
- //state=idle
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit },
- //state=initiated
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit },
- //state=canceling
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit },
- //state=established
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit },
- //state=closing
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit }
- }
- },
- {eventToListen := {v_SIP_myBIdx, c_SIP_eventIdx_UASTransactionTimeout, fsm},
- cellRow := {
- //state=idle
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit },
- //state=initiated
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit },
- //state=canceling
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit },
- //state=established
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit },
- //state=closing
- { { {refers(f_MBT_Qtronic_Demo_SUT_stepSendTimeoutIndication), {}} }, omit, omit }
- }
- }//row
- }//table
- }//fsm
- //DOT: }
-}
-
-}

Back to the top