diff options
author | Eszter Susanszky | 2018-02-26 08:48:27 +0000 |
---|---|---|
committer | Eszter Susanszky | 2018-02-26 08:48:27 +0000 |
commit | 78268e1580f7034bbd1b06550edf8ddf67b52f1f (patch) | |
tree | de330eff9deea50e4fc1883b894286652ee5fee7 | |
parent | 6431dccd853a9163eee314fd4ee2fdba18b454ec (diff) | |
download | titan.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>
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 "cd %project_working_dir ; "%executable" %localhost %mctr_port"</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 "cd %project_working_dir ; "%executable" %localhost %mctr_port"</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
[msg.input1=="invite" && msg.input2==dst]
/
Invite();" from="//@statemachine.0/@states.0" to="//@statemachine.0/@states.1"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest
[msg==incomingResponse(180)]/
require true;" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.12"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest
[msg == incomingResponse(200)]
/Ack();
requirement "Acknowledge established call with ACK";" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.2"/>
- <transitions body="after(timeoutB)/
requirement "17.1.1.2 INVITE timers/Terminates INVITE cycle after B timeout";
TimeOut();" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.5"/>
- <transitions body="userIn:UserInput
[msg.input1=="bye"]/" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.3"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest
[msg==incomingResponse(200)]/
requirement "Terminating/Wait for OK in response to BYE";" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.10"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest
[msg==incomingRequest(c_SIP_stepFunction_createBYE)]
/SendOK("BYE");
requirement "Terminating/Send OK in response to BYE";" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.8"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest
[msg==incomingResponse(486)]
/Ack();" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.11"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest
[msg==incomingResponse(487, c_SIP_Method_INVITE)]
/
Ack();" from="//@statemachine.0/@states.13" to="//@statemachine.0/@states.9"/>
- <transitions body="/ setThreadName("SIP UAC");" from="//@statemachine.0/@states.4" to="//@statemachine.0/@states.0"/>
- <transitions body="fwIn:EPTF_MBT_TestStepRequest
[msg==incomingResponse(200, c_SIP_Method_CANCEL)]
/" from="//@statemachine.0/@states.6" to="//@statemachine.0/@states.13"/>
- <transitions body="after(timeoutF)/
requirement "17.1.2.2 Non-INVITE timers/Terminates BYE cycle after F timeout";
TimeOut();" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.5"/>
- <transitions body="userIn:UserInput
[msg.input1=="cancel"]/" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.6"/>
- <transitions body="after(timeoutF)/
requirement "17.1.2.2 Non-INVITE timers/Terminates CANCEL cycle after F timeout";
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)/
//Invite();
RetransmittedRequest();
timeoutA = timeoutA * 2.0;
requirement "17.1.1.2 INVITE timers/Resends INVITE after A timeout";" 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();
timeoutE = T1;" from="//@statemachine.0/@states.3/@states.0" to="//@statemachine.0/@states.3/@states.1"/>
- <transitions body="after(timeoutE)/
Bye();
//RetransmittedRequest();
timeoutE = timeoutE * 2.0;
requirement "17.1.2.2 Non-INVITE timers/Resends BYE after E timeout";" 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();
timeoutE = T1;" from="//@statemachine.0/@states.6/@states.0" to="//@statemachine.0/@states.6/@states.1"/>
- <transitions body="after(timeoutE)/
Cancel();
timeoutE = timeoutE * 2.0;
requirement "17.1.2.2 Non-INVITE timers/Resends CANCEL after E timeout";" 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
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
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
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 "cd %project_working_dir ; "%executable" %localhost %mctr_port"</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[]/
cli.configure(msg);" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.2"/>
- <transitions body="GnIn:CreatePDPcontext[]/
createPDPcontext(msg);" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.4"/>
- <transitions body="GnIn:DeletePDPcontext[]/
deletePDPcontext(msg);
require ((uplinkData > 0) || (downlinkData > 0));
if ((uplinkData > 0) && (downlinkData > 0))
 requirement "Payload/Bidirectional payload";" from="//@statemachine.0/@states.5" to="//@statemachine.0/@states.3"/>
- <transitions body="[nodeConfiguration.chargingEnabled]/
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[]/
{
 updatePDPcontext(msg);
 if ((uplinkData > 0) || (downlinkData > 0))
 requirement "PDP context/Update/After data transfer";
 else
 requirement "PDP context/Update/Before data transfer";
}" 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[]/
handlePrepare(msg);
requirement "PrepareRestore/Prepare";" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.8"/>
- <transitions body="CLIin:Restore[]/
handleRestore(msg);
requirement "PrepareRestore/Restore";" 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[]/
require ((msg.overrideCharging == nodeConfiguration.chargingEnabled)
 && (msg.overrideRadiusAuth == nodeConfiguration.radiusAuthEnabled));
requirement "Configuration/Clean up if configuration changed";" from="//@statemachine.0/@states.7" to="//@statemachine.0/@states.6"/>
- <states xsi:type="n1:InitialState"/>
- <states internal="
" name="Init" xsi:type="n1:BasicState"/>
- <states internal="
" name="Operational" xsi:type="n1:BasicState"/>
- <states internal="
" 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 []/
requirement "Radius/Authentication/Wait for Access Accept";" from="//@statemachine.0/@states.4/@states.1" to="//@statemachine.0/@states.4/@states.4"/>
- <transitions body="[nodeConfiguration.radiusAuthEnabled]/
sendRadiusAuthRequest();" from="//@statemachine.0/@states.4/@states.3" to="//@statemachine.0/@states.4/@states.1"/>
- <transitions body="[]/
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[]/
{ forwardGPDUtoGi(msg);
 requirement "Payload/Forward uplink"; }

GiIn:UDPpdu[]/
{ forwardUdpPduToGn(msg);
 requirement "Payload/Forward downlink"; }" 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:

CLIin		CLI commands
GnIn/GnOut	i/f to SGSN
GiIn/GiOut		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 
Payload shall always be transmitted in a test case whenever a successful PDP Context Activation has been performed.
" 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 "cd %project_working_dir ; "%executable" %localhost %mctr_port"</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
[msg.input1=="invite" && msg.input2==dst]
/
Invite();" from="//@statemachine.0/@states.0" to="//@statemachine.0/@states.1"/>
- <transitions body="netIn:SIPResp[msg.status==180]/
require true;" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.12"/>
- <transitions body="netIn:SIPResp
[msg.status==200 &&
 msg.cseq == "INVITE"]
/Ack();
requirement "Acknowledge established call with ACK";" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.2"/>
- <transitions body="after(timeoutB)/
requirement "17.1.1.2 INVITE timers/Terminates INVITE cycle after B timeout";
TimeOut();" from="//@statemachine.0/@states.1" to="//@statemachine.0/@states.5"/>
- <transitions body="userIn:UserInput
[msg.input1=="bye"]/" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.3"/>
- <transitions body="netIn:SIPResp
[msg.status==200]/
requirement "Terminating/Wait for OK in response to BYE";" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.10"/>
- <transitions body="netIn:SIPReq
[msg.op=="BYE" &&
 msg.param==src]
/SendOK("BYE");
requirement "Terminating/Send OK in response to BYE";" from="//@statemachine.0/@states.2" to="//@statemachine.0/@states.8"/>
- <transitions body="netIn:SIPResp
[msg.status==486 &&
 msg.cseq == "INVITE"]
/Ack();" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.11"/>
- <transitions body="netIn:SIPResp
[msg.status==487 &&
msg.cseq=="INVITE"]/
Ack();" from="//@statemachine.0/@states.13" to="//@statemachine.0/@states.9"/>
- <transitions body="/ setThreadName("SIP UAC");" from="//@statemachine.0/@states.4" to="//@statemachine.0/@states.0"/>
- <transitions body="netIn:SIPResp
[msg.status==200 &&
msg.cseq=="CANCEL"]/" from="//@statemachine.0/@states.6" to="//@statemachine.0/@states.13"/>
- <transitions body="after(timeoutF)/
requirement "17.1.2.2 Non-INVITE timers/Terminates BYE cycle after F timeout";
TimeOut();" from="//@statemachine.0/@states.3" to="//@statemachine.0/@states.5"/>
- <transitions body="userIn:UserInput
[msg.input1=="cancel"]/" from="//@statemachine.0/@states.12" to="//@statemachine.0/@states.6"/>
- <transitions body="after(timeoutF)/
requirement "17.1.2.2 Non-INVITE timers/Terminates CANCEL cycle after F timeout";
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)/
Invite();
timeoutA = timeoutA * 2.0;
requirement "17.1.1.2 INVITE timers/Resends INVITE after A timeout";" 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();
timeoutE = T1;" from="//@statemachine.0/@states.3/@states.0" to="//@statemachine.0/@states.3/@states.1"/>
- <transitions body="after(timeoutE)/
Bye();
timeoutE = timeoutE * 2.0;
requirement "17.1.2.2 Non-INVITE timers/Resends BYE after E timeout";" 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();
timeoutE = T1;" from="//@statemachine.0/@states.6/@states.0" to="//@statemachine.0/@states.6/@states.1"/>
- <transitions body="after(timeoutE)/
Cancel();
timeoutE = timeoutE * 2.0;
requirement "17.1.2.2 Non-INVITE timers/Resends CANCEL after E timeout";" 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
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
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
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)/
Bye();
timeoutE = timeoutE * 2.0;
requirement "17.1.2.2 Non-INVITE timers/Resends BYE after E timeout";" 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)/
Invite();
timeoutA = timeoutA * 2.0;
requirement "17.1.1.2 INVITE timers/Resends INVITE after A timeout";" 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: } -} - -} |