blob: 68059439269f3225c7ba303edf4d3608a61b3d0d [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// //
// 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 v2.0 //
// which accompanies this distribution, and is available at //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_LGenBasePerformTest_MTASFunctions
//
// Purpose:
// This module provides functions for testing LGenBase
//
// Module depends on:
// -
//
// Current Owner:
// Laszlo Skumat (ELSZSKU)
//
// Last Review Date:
// 2008-09-11
//
// Detailed Comments:
// Provide functions to test LGenBase
//
//
///////////////////////////////////////////////////////////////
module EPTF_LGenBasePerformTest_MTASFunctions
{
import from EPTF_CLL_LGenBase_Definitions all
import from EPTF_CLL_LGenBaseStats_Definitions all
import from EPTF_LGenBasePerformTest_MTASDefinitions all
#ifdef R3
import from EPTF_CLL_Common_Definitions all
import from EPTF_CLL_LGenBase_ConfigFunctions all
import from EPTF_CLL_LGenBase_StepFunctions all
#endif
#ifdef R2
import from EPTF_CLL_Definitions all
import from EPTF_CLL_LGenBase_Functions all
#endif
function f_EPTF_LGenBasePerformTest_MTAS_initEvents()
runs on EPTF_LGenBasePerformTest_MTAS_CT
{
v_EPTF_CAI3G_myBIdx := f_EPTF_LGenBase_declareBehaviorType
(
c_EPTF_CAI3G_myBName,
-1, null,null, null
);
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_sendSessionRequest")//0
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_receiveSessionResponse")//1
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_receive503ErrorResponse")//2
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_receive500ErrorResponse")//3
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_receiveUndefinedResponse")//4
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_responseSocketError")//5
v_DiameterBase_myBIdx := f_EPTF_LGenBase_declareBehaviorType(c_LGen_DiameterBase_Behaviour_name,
-1, null,null, null)
c_DiameterBase_inputIdx_getCER := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getCER);
c_DiameterBase_inputIdx_getCEA := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getCEA);
c_DiameterBase_inputIdx_getDWR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getDWR);
c_DiameterBase_inputIdx_getDWA := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getDWA);
c_DiameterBase_inputIdx_getDPR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getDPR);
c_DiameterBase_inputIdx_getDPA := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getDPA);
c_DiameterBase_inputIdx_getACR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getACR);
c_DiameterBase_inputIdx_getACA := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getACA);
c_DiameterBase_inputIdx_connInitialized := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_connInitialized);
c_DiameterBase_inputIdx_getRequest := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getRequest);
c_DiameterBase_inputIdx_getAnswer := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getAnswer);
c_DiameterBase_inputIdx_connOpened := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_connOpened);
c_DiameterBase_inputIdx_connClosed := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_connClosed);
c_DiameterBase_inputIdx_timeoutTw := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_timeoutTw);
c_DiameterBase_inputIdx_connTimeout := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_connTimeout);
c_DiameterBase_inputIdx_missingAVP := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_missingAVP);
c_DiameterBase_inputIdx_unknownUser := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_unknownUser);
c_DiameterBase_inputIdx_identitiesDontMatch := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_identitiesDontMatch);
c_DiameterBase_inputIdx_unknownHopByHop := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_unknownHopByHop);
v_Diameter3gpp_myBIdx := f_EPTF_LGenBase_declareBehaviorType(c_LGen_Diameter3GPP_Behaviour_name,
-1, null,null, null)
c_Diameter3gpp_inputIdx_getUDR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_Diameter3GPP_Behaviour_name,c_Diameter3gpp_inputName_getUDR);
c_Diameter3gpp_inputIdx_getSNR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_Diameter3GPP_Behaviour_name,c_Diameter3gpp_inputName_getSNR);
c_Diameter3gpp_inputIdx_getPNR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_Diameter3GPP_Behaviour_name,c_Diameter3gpp_inputName_getPNR);
c_Diameter3gpp_inputIdx_getPUR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_Diameter3GPP_Behaviour_name,c_Diameter3gpp_inputName_getPUR);
v_DiameterCC_myBIdx := f_EPTF_LGenBase_declareBehaviorType(c_LGen_DiameterCC_Behaviour_name,
-1, null, null, null);
c_DiameterCC_inputIdx_getCCR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterCC_Behaviour_name,c_DiameterCC_inputName_getCCR);
v_H248_LGen_myBIdx :=
f_EPTF_LGenBase_declareBehaviorType(
c_LGen_H248_Behaviour_name,
-1, null, null, null);
f_EPTF_LGenBase_declareFsmEvent(
c_LGen_H248_Behaviour_name,
c_EPTF_H248_LGen_inputName_recvMessage)//0
f_EPTF_LGenBase_declareFsmEvent(
c_LGen_H248_Behaviour_name,
c_EPTF_H248_LGen_inputName_sendInitialSC)//1
f_EPTF_LGenBase_declareFsmEvent(
c_LGen_H248_Behaviour_name,
c_EPTF_H248_LGen_inputName_sendDisconnectSC)//2
f_EPTF_LGenBase_declareFsmEvent(
c_LGen_H248_Behaviour_name,
c_EPTF_H248_LGen_inputName_sendEventNotify)//3
f_EPTF_LGenBase_declareFsmEvent(
c_LGen_H248_Behaviour_name,
c_EPTF_H248_LGen_inputName_reconnect)//4
f_EPTF_LGenBase_declareFsmEvent(
c_LGen_H248_Behaviour_name,
c_EPTF_H248_LGen_inputName_sendServiceChange)//5
v_EPTF_XCAP_myBIdx := f_EPTF_LGenBase_declareBehaviorType(
c_EPTF_XCAP_myBName,
-1, null, null, null);
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_start)
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseSuccessful)
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseUnsuccessful)
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseError)
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseUnauthorized)
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_retryAfter)
f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseSocketError)
f_EPTF_LGenBase_declareCompactFsmTable(f_CAI3G_return_compactFsm_connection())
f_EPTF_LGenBase_declareCompactFsmTable(f_CAI3G_return_compactIndexedFsm_UserManagement())
f_EPTF_LGenBase_declareCompactFsmTable(f_DiameterBase_return_compactFsm())
f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_Diameter3GPP_return_CompactFSM())
f_EPTF_LGenBase_declareCompactFsmTable(f_DiameterBaseRedirect_return_compactFsm())
f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_DiameterCC_return_CompactFSM())
f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_H248_LGen_return_compactFsm())
f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_XCAP_return_CompactFsm_Application_GETPUT())
f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_XCAP_return_CompactFsm_Application_GET())
}
const EPTF_CharstringList c_FSMNames := {
"Bulk_Behavior",
"User Management Behavior",
"Diameter Base",
"Diameter 3GPP",
"Diameter Base Redirect",
"Diameter CC",
c_EPTF_H248_LGen_fsmName,
"IMS XCAP GETPUT FSM",
"IMS XCAP GET FSM"
}
function f_EPTF_LGenBasePerformTest_dummyStep(in EPTF_LGenBase_TestStepArgs pl_ptr)
runs on EPTF_LGenBaseStats_CT {
}
function f_CAI3G_return_compactFsm_connection()
runs on EPTF_LGenBasePerformTest_MTAS_CT return EPTF_LGenBase_CompactFsmTable
{
return {
name := "Bulk_Behavior",
// [0] [1] [2]
stateList := {"idle","Waiting for Response","holdoff"},
// [0]
timerList := {{"T_HoldOff",0.3},{"T_Timeout",1.5}},
table := {
{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm},
cellRow := {
//state[0]==idle
{{ //actionList
{refers(f_EPTF_LGenBase_step_trafficSuccess),{1}}
},
omit,
1 //nextState
}
//state[1]==Waiting for Response
,{omit,omit,omit}
//state[2]==holdoff
,{omit,omit,omit}
}//cellRow
},{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,fsm},
cellRow := {
//state[0]==idle
{omit,omit,omit}
//state[1]==Waiting for Response
,{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_entityStopped),{}}
}, omit, 0}
//state[2]==holdoff
,{omit,omit,0}
}//cellRow
},{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_abortTC,fsm},
cellRow := {
//state[0]==idle
{omit,omit,0}
//state[1]==Waiting for Response
,{omit,omit,0}
//state[2]==holdoff
,{omit,omit,0}
}//cellRow
},{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receiveSessionResponse,fsm},
cellRow := {
//state[0]==idle
{omit,omit,omit}
//state[1]==Waiting For Response
,{{ //actionList
{refers(f_EPTF_LGenBase_step_trafficSuccess),{}}
},
omit,
c_EPTF_CAI3G_fsmState_idle //nextState
}
//state[2]==holdoff
,{omit,omit,omit}
}//cellRow
},{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receive503ErrorResponse,fsm},
cellRow := {
{omit,omit,omit}
//state[1]==Waiting For Response
,{omit,
omit,
2 //nextState
}
,{omit,omit,omit}
}//cellRow
},{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receive500ErrorResponse,fsm},
cellRow := {
{omit,omit,omit}
,{{ //actionList
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
},
omit,
c_EPTF_CAI3G_fsmState_idle //nextState
}
,{omit,omit,omit}
}//cellRow
},{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,c_EPTF_CAI3G_fsmTimer_holdoff,fsm},
cellRow := {
{omit,omit,omit}
,{omit,omit,omit}
,{{ //actionList
//{refers(f_EPTF_CAI3G_step_handleTimerTimeout_holdoff),{}}
},
omit,
1 //nextState
}
}//cellRow
},{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,1,fsm},
cellRow := {
{omit,omit,0}
,{{{refers(f_EPTF_LGenBase_step_trafficFailed),{}}},omit,0}
,{omit,omit,0 //nextState
}
}//cellRow
}
}//table
}//return FSM
}
function f_CAI3G_return_compactIndexedFsm_UserManagement()
runs on EPTF_LGenBasePerformTest_MTAS_CT return EPTF_LGenBase_CompactFsmTable
{
return {
name := "User Management Behavior",
// [0] [1] [2]
stateList := {"idle","Waiting For Get Response","Waiting For Set Response","holdoff"},
// [0] [1] [2]
timerList := {{"T_HoldOff",0.3},{"T_Timeout",1.3}},
table := {
{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm},
cellRow := {
//state[0]==idle
{{ //actionList
{refers(f_EPTF_LGenBase_step_trafficSuccess),{1}}
},
omit,
1 //nextState
}
//state[1]==waiting get
,{omit,omit,omit}
//state[2]==waiting set
,{omit,omit,omit}
//state[3]==holdoff
,{omit,omit,omit}
}//cellRow
},{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,fsm},
cellRow := {
//state[0]==idle
{omit,omit,0}
//state[1]==waiting get
,{omit,omit,0}
//state[2]==waiting set
,{omit,omit,0}
//state[3]==holdoff
,{omit,omit,0}
}//cellRow
},{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_abortTC,fsm},
cellRow := {
//state[0]==idle
{omit,omit,omit}
//state[1]==waiting get
,{omit,omit,omit}
//state[2]==waiting set
,{omit,omit,omit}
//state[3]==holdoff
,{omit,omit,omit}
}//cellRow
},{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receiveSessionResponse,fsm},
cellRow := {
//state[0]==idle
{omit,omit,omit}
//state[1]==waiting
,{{ //actionList
{refers(f_EPTF_LGenBase_step_timerCancel),{1}}
},
omit,
1 //nextState
}
//state[2]==waiting set
,{{ //actionList
{refers(f_EPTF_LGenBase_step_trafficSuccess),{}}
},
omit,
0 //nextState
}
//state[3]==holdoff
,{omit,omit,omit}
}//cellRow
},{eventToListen := {v_EPTF_CAI3G_myBIdx,0,entity},
cellRow := {
//state[0]==idle
{{ //actionList
{refers(f_EPTF_LGenBasePerformTest_dummyStep),{1}}
},
omit,
0 //nextState
}
,{omit,omit,omit}
,{omit,omit,omit}
,{omit,omit,omit}
}//cellRow
},
{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receive503ErrorResponse,fsm},
cellRow := {
//state[0]==idle
{omit,omit,omit}
//state[1]==Waiting For Get
,{{ //actionList
{refers(f_EPTF_LGenBase_step_timerStart),{0}}
},
omit,
3 //nextState
}
//state[2]==Waiting For Set
,{{ //actionList
{refers(f_EPTF_LGenBase_step_timerStart),{0}}
},
omit,
3 //nextState
}
//state[3]==holdoff
,{omit,omit,omit}
}//cellRow
},{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receive500ErrorResponse,fsm},
cellRow := {
//state[0]==idle
{omit,omit,omit}
//state[1]==Waiting For Response
,{{ //actionList
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
},
omit,
0 //nextState
}
//state[2]==Waiting For Response
,{{ //actionList
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
},
omit,
0 //nextState
}
//state[3]==holdoff
,{omit,omit,omit}
}//cellRow
},{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,c_EPTF_CAI3G_fsmTimer_holdoff,fsm},
cellRow := {
//state[0]==idle
{omit,omit,omit}
//state[1]==connecting
,{omit,omit,omit}
//state[2]==connected
,{omit,omit,omit}
//state[3]==holdoff
,{{ //actionList
{refers(f_EPTF_LGenBase_step_trafficFailed),{1}}
},
omit,
0 //nextState
}
}//cellRow
},{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,1,fsm},
cellRow := {
//state[0]==idle
{omit,omit,0}
//state[1]==Waiting For Response
,{omit,omit,0}
//state[2]==holdoff
,{omit,omit,0}
,{omit,omit,0}
}//cellRow
}
}//table
}//return FSM
}
function f_DiameterBase_return_compactFsm()
runs on EPTF_LGenBasePerformTest_MTAS_CT
return EPTF_LGenBase_CompactFsmTable
{
return {
name := "Diameter Base",
stateList := {"idle","connected"},
timerList := {},
table := {
{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_abortTC,general},
cellRow := {
//state=closed
{{
{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit},
{omit,omit,omit}
}
},
{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,fsm},
cellRow := {
{{
{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit},
{{
{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, 0}
}
},
// Diameter Base handling
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getCER,entity},
cellRow := {
{{
{refers(f_EPTF_LGenBase_step_trafficSuccess),{}}
},omit, omit},
{omit,omit,omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDPR,entity},
cellRow := {
{omit,omit,omit},
{omit,omit,omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDWR,entity},
cellRow := {
{{
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
},omit, omit},
{omit,omit,omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getACR,entity},
cellRow := {
{{
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
},omit, omit},
{omit,omit,omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getAnswer,entity},
cellRow := {
{omit,omit,omit},
{omit,omit,omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDPA,entity},
cellRow := {
{{
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
},omit, omit},
{omit,omit,omit}
}
}
}//table
}
}
function f_EPTF_Diameter3GPP_return_CompactFSM()
runs on EPTF_LGenBasePerformTest_MTAS_CT
return EPTF_LGenBase_CompactFsmTable
{
return {
name := "Diameter 3GPP",
// [0]
stateList := {"idle"},
timerList := {},
table := {
{eventToListen := {v_DiameterBase_myBIdx, c_DiameterBase_inputIdx_connClosed,entity},
cellRow := {
//state[0]==idle
{{
{refers(f_EPTF_LGenBase_step_trafficSuccess),{}}
}, omit, omit}
}
},
{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,general},
cellRow := {
{omit,omit,omit}
}
},
{eventToListen := {v_Diameter3gpp_myBIdx, c_Diameter3gpp_inputIdx_getUDR,entity},
cellRow := {
{omit,omit,omit}
}
},
{eventToListen := {v_Diameter3gpp_myBIdx, c_Diameter3gpp_inputIdx_getSNR,entity},
cellRow := {
{omit,omit,omit}
}
},
{eventToListen := {v_Diameter3gpp_myBIdx, c_Diameter3gpp_inputIdx_getPNR,entity},
cellRow := {
{omit,omit,omit}
}
},
{eventToListen := {v_Diameter3gpp_myBIdx, c_Diameter3gpp_inputIdx_getPUR,entity},
cellRow := {
{omit,omit,omit}
}
}
}
}
}
function f_DiameterBaseRedirect_return_compactFsm()
runs on EPTF_LGenBasePerformTest_MTAS_CT
return EPTF_LGenBase_CompactFsmTable
{
return {
name := "Diameter Base Redirect",
stateList := {"idle","connected"},
timerList := {},
table := {
{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm},
cellRow := {
//state=closed
{{
{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit},
{omit,omit,omit}
}
},
{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,fsm},
cellRow := {
{{
{refers(f_EPTF_LGenBase_step_trafficSuccess),{}}
},omit, omit},
//state=open
{{
{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, 0}
}
},
// Diameter Base handling
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getCER,entity},
cellRow := {
//state=closed
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{3}}
},omit, 1},
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{3}}
},omit, omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDPR,entity},
cellRow := {
//state=closed
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit},
//state=open
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDWR,entity},
cellRow := {
//state=closed
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit},
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getACR,entity},
cellRow := {
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit},
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getAnswer,entity},
cellRow := {
{omit,omit,omit},
//state=closed
{omit,omit,omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDPA,entity},
cellRow := {
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit},
//state=closing
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
},omit, omit}
}
},
{eventToListen := {v_DiameterBase_myBIdx, c_DiameterBase_inputIdx_getRequest,entity},
cellRow := {
//state[0]==idle
{{
{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
}, omit, omit},
{{
{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}
}, omit, omit}
}
}
}//table
}
}
function f_EPTF_DiameterCC_return_CompactFSM()
runs on EPTF_LGenBasePerformTest_MTAS_CT
return EPTF_LGenBase_CompactFsmTable
{
return {
name := "Diameter CC",
// [0]
stateList := {"idle"},
timerList := {},
table := {
{eventToListen := {v_DiameterCC_myBIdx,c_DiameterCC_inputIdx_getCCR,general},
cellRow := {
//state[0]==idle
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}}, omit,omit}
}
}
}
}
}
function f_EPTF_H248_LGen_return_compactFsm()
runs on EPTF_LGenBasePerformTest_MTAS_CT
return EPTF_LGenBase_CompactFsmTable
{
return {
name := c_EPTF_H248_LGen_fsmName,
stateList := {"idle","waiting"},
timerList := {/*{"StatTimer", tsp_statTimer_update}*/},
table := {
{
// send open message
eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_recvMessage,entity},
cellRow := {
//state[0]==waiting
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}}, omit,omit},
{omit, omit,omit}
}
},
{
eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_sendInitialSC,entity},
cellRow := {
//state[0]==waiting
{{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}}, omit,omit},
{
omit, omit, omit
}
}
},
{
eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_sendDisconnectSC,entity},
cellRow := {
//state[0]==waiting
{
omit, omit, omit
},
{
omit, omit, omit
}
}
},
{
eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_sendEventNotify,entity},
cellRow := {
//state[0]==waiting
{
omit, omit, omit
},
{
omit, omit, omit
}
}
},
{
eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_reconnect,entity},
cellRow := {
//state[0]==waiting
{
omit, omit, omit
},
{
omit, omit, omit
}
}
},
{
eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_abortTC,general},
cellRow := {
//state[0]==waiting
{
omit, omit, omit
},
{
omit, omit, omit
}
}
},
{
eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_trafficCaseStopped,general},
cellRow := {
//state[0]==waiting
{
omit, omit, omit
},
{
omit, omit, omit
}
}
}
} //table
}//fsm
}
function f_EPTF_XCAP_return_CompactFsm_Application_GETPUT()
runs on EPTF_LGenBasePerformTest_MTAS_CT return EPTF_LGenBase_CompactFsmTable
{
return {
name := "IMS XCAP GETPUT FSM",
// [0] [1]
stateList := {"Idle","Get","WaitingForPutResponse","WaitingForPutResponse"},
timerList := {{"T_EPTF_XCAP_Latency",0.3},{"T_EPTF_XCAP_PUTGETDELAY",1.3}},
table := {
{eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm},
cellRow := {
{{
{refers(f_EPTF_LGenBase_step_trafficSuccess),{}}
}, omit, 2},
{omit,omit,omit},
{omit,omit,omit},
{omit,omit,omit}
}
},
{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,0,fsm},
cellRow := {
//state=idle
{omit,omit,omit},
{omit,omit,omit},
{{
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
}, omit, 0},
{{
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
}, omit, 0}
}
},
{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,1,fsm},
cellRow := {
{omit,omit,omit},
{{
{refers(f_EPTF_LGenBase_step_timerStart),{0}}
}, omit, 3},
{omit,omit,omit},
{omit,omit,omit}
}
},
{eventToListen := {v_EPTF_XCAP_myBIdx,c_EPTF_XCAP_inputIdx_responseSuccessful,entity},
cellRow := {
//state=idle
{omit,omit,omit},
{omit,omit,omit},
//state==waitingForResponse
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_timerStart),{1}}
}, omit, 1},
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_trafficSuccess),{}}
}, omit, 0}
}
},
{eventToListen := {v_EPTF_XCAP_myBIdx,c_EPTF_XCAP_inputIdx_responseUnsuccessful,entity},
cellRow := {
//state=idle
{omit,omit,omit},
{omit,omit,omit},
//state==waitingForResponse
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
}, omit, 0},
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
}, omit, 0}
}
},
{eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,entity},
cellRow := {
//state=idle
{omit,omit,omit},
{omit,omit,omit},
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_timerCancel),{1}},
{refers(f_EPTF_LGenBase_step_entityStopped),{}}
}, omit, 0},
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_timerCancel),{1}},
{refers(f_EPTF_LGenBase_step_entityStopped),{}}
}, omit, 0}
}
}
}//table
}//fsm
}
///////////////////////////////////////////////////////////
// Function: f_EPTF_XCAP_return_CompactFsm_Application_GET
//
// Purpose:
// Returns the Application FSM for XCAP
//
// Parameters:
// -
//
// Return Value:
// <EPTF_LGenBase_CompactFsmTable> - the result
//
// Errors:
// -
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////
function f_EPTF_XCAP_return_CompactFsm_Application_GET()
runs on EPTF_LGenBasePerformTest_MTAS_CT return EPTF_LGenBase_CompactFsmTable
{
return {
name := "IMS XCAP GET FSM",
// [0] [1]
stateList := {"idle","waitingForResponse"},
timerList := {{"T_EPTF_XCAP_Latency",1.3}},
table := {
{eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm},
cellRow := {
//state==idle
{{
{refers(f_EPTF_LGenBase_step_trafficSuccess),{0}}
}, omit, omit},
//state==waitingForResponse
{omit,omit,omit}
}
},
{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,0,fsm},
cellRow := {
//state=idle
{omit,omit,omit},
//state==waitingForResponse
{{
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
}, omit, 0}
}
},
{eventToListen := {v_EPTF_XCAP_myBIdx,c_EPTF_XCAP_inputIdx_responseSuccessful,entity},
cellRow := {
//state=idle
{omit,omit,omit},
//state==waitingForResponse
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_trafficSuccess),{}}
//{refers(f_EPTF_XCAP_step_reportUpEvent),{c_EPTF_XCAP_inputIdx_response_successful}}
}, omit, 0}
}
},
{eventToListen := {v_EPTF_XCAP_myBIdx,c_EPTF_XCAP_inputIdx_responseUnsuccessful,entity},
cellRow := {
//state=idle
{omit,omit,omit},
//state==waitingForResponse
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}},
{refers(f_EPTF_LGenBase_step_trafficFailed),{}}
//{refers(f_EPTF_XCAP_step_reportUpEvent),{c_EPTF_XCAP_inputIdx_response_Unsuccessful}}
}, omit, 0}
}
},
{eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,entity},
cellRow := {
//state=idle
{omit,omit,omit},
//state==waitingForResponse
{{
{refers(f_EPTF_LGenBase_step_timerCancel),{0}}
}, omit, 0}
}
}
}//table
}//fsm
}
} // end of module