testscript.dtd
: Elements - Entities - Source | Intro - Index
FRAMES / NO FRAMES
This is the Definition of the tags and attributes for the elements of the test script. The test script defines a set of event triggered tags and attributes for event driven scripts that are read by the ISSI test framework. A test script defines an event triggered set of actions. Event triggers are events (such as real-clock time, SIP or PTT message arrivals at an emulated RFSS) that trigger a scripting action. Scripting actions are specified using xml tags where ever possible so that parameters may be checked at the time the script is parsed. This reduces runtime errors. Following this design approach, all call setup actions are specified using xml tags. In addition we support actions to specify fragments of jython code (a Java implementation of Python). These fragments of jython code may invoke a set of functions specific to the RFSS or SU for which they are specified.
<test-script> | Root element |
The top level tag for the test script.
Element's model:
<test-script>'s children Name Cardinality group-call-setup-scenario Any number post-condition Any number rfss-script Any number roaming-scenario Any number su-script Any number su-to-su-call-setup-scenario Any number
<test-script>'s attributes Name Values Default generatePttTrace yes, no no generateSipTrace yes, no yes rtpMessageLog logs/messagelog.ptt sipMessageLog logs/messagelog.sip testCompletionDelay 0 testName traceGenerationTime 25
((su-to-su-call-setup-scenario | group-call-setup-scenario | roaming-scenario | su-script | rfss-script)*, post-condition*)
<su-to-su-call-setup-scenario> | Child of test-script |
The tag for setting up an SU to SU Call.
Element's model:
<su-to-su-call-setup-scenario>'s children Name Cardinality trigger Only one
<su-to-su-call-setup-scenario>'s attributes Name Values Default calledSuName callingSuName cancelAfter UNBOUNDED id Match the ID rules. isEmergency true, false false isTalkSpurtForced true, false false isTerminatedByCalledServing true, false false talkSpurtSentBy terminateAfter UNBOUNDED
(trigger)
<group-call-setup-scenario> | Child of test-script |
The tag for setting up a group call. This specifies the attributes necessary for group call setup and teardown. NOTE: Some of these parameters affect the call setup params going out with the invite and others affect the INVITE Priority header.
Element's model:
<group-call-setup-scenario>'s children Name Cardinality trigger Only one
<group-call-setup-scenario>'s attributes Name Values Default calledGroupName callingSuName cancelAfter UNBOUNDED id Match the ID rules. isConfirmed true, false false isEmergency true, false false isTalkSpurtForced true, false false isTalkSpurtSentAfterCallSetup true, false false priority 1 terminateAfter UNBOUNDED
(trigger)
<roaming-scenario> | Child of test-script |
The tag for emulating an SU Roaming action.
Element's model:
<roaming-scenario>'s children Name Cardinality trigger Only one
<roaming-scenario>'s attributes Name Values Default delay 0 destinationRfssName id Match the ID rules. suName
(trigger)
<su-script> | Child of test-script |
This tag specifies the attributes and code fragment necessary to script an SU action. Scripted actions are for actions specific to an SU such as turning the SU ON or OFF or sending a talk spurt to the peer of an SU to SU call to a group call. The methods that can be invoked from the script are described in the following section.
Element's model:
<su-script>'s children Name Cardinality script Only one trigger Only one
<su-script>'s attributes Name Values Default description id Match the ID rules. method suName
<rfss-script> | Child of test-script |
This tag specifies a code fragment to be executed at an emulated RFSS. Scripted actions are specific to that emulated RFSS such as dropping or adding RF resources, RTP resources etc. The methods that can be invoked from the script are described in the following section. The jython code fragment can invoke any of the methods of the RfssScriptInterface . The Jython global value currentRfss refers to the emulated RFSS on which this script is executed.
Element's model:
<rfss-script>'s children Name Cardinality script Only one trigger Only one
<rfss-script>'s attributes Name Values Default description id Match the ID rules. method rfssName
<script> | Child of rfss-script, su-script |
Encloses a piece of jython code.
<trigger/> | Child of rfss-script, su-script, roaming-scenario, su-to-su-call-setup-scenario, group-call-setup-scenario |
The trigger action ( specifies the event condition for the enclosing tag)
<trigger>'s attributes Name Values Default oneShot true, false true refId type time, ptt_message, sip_request, sip_response value
This element is always empty.
<post-condition> | Child of test-script |
An optional post condition that is evaluated after the test completes
<post-condition>'s attributes Name Values Default assertion locationSelector
@type | Attribute of trigger |
the type of trigger. Can be one of the following types :
Possible values: time, ptt_message, sip_request, sip_response - Required
@oneShot | Attribute of trigger |
- true implies that the trigger fires just once.
Possible values: true, false - Default value: true
@refId | Attribute of trigger |
- a reference ID to allow us to specify relative time triggers. If this is set, then the trigger fires after another named event firing. This allows us to specify event dependencies.
@value | Attribute of trigger |
- the trigger value. Its interpretation depends upon the type of trigger. For time trigger, value is a time value. For sip_message trigger, value specifies the type of message. For a ptt_message the value specifies the Ptt message type.
Required
@testName | Attribute of test-script |
- the test name
@rtpMessageLog | Attribute of test-script |
the location where to put the logged rtp and ptt messages.
Default value: logs/messagelog.ptt
@sipMessageLog | Attribute of test-script |
the location where to put the sip messages.
Default value: logs/messagelog.sip
@generateSipTrace | Attribute of test-script |
whether or not to capture a sip trace.
Possible values: yes, no - Default value: yes
@generatePttTrace | Attribute of test-script |
whether or not to capture a PTT trace.
Possible values: yes, no - Default value: no
@testCompletionDelay | Attribute of test-script |
time after the final expected sip message is seen to when the test is considered to be completed.
Default value: 0
@traceGenerationTime | Attribute of test-script |
time to generate the trace for this test.
Default value: 25
@assertion | Attribute of post-condition |
is the name of the function that will be invoked that should be returning a boolean value.
Required
@locationSelector | Attribute of post-condition |
If the location predicate returns true then the assertion predicate is run. return true if the assertion is to be checked at the RFSS for which it evaluated to true.
Required
@id | Attribute of su-to-su-call-setup-scenario |
an identifier for this stanza (can be referred to in scripts ).
Possible values: Match the ID rules. - Required
@callingSuName | Attribute of su-to-su-call-setup-scenario |
name of the calling SU. Must be defined in the associated topology.xml
Required
@calledSuName | Attribute of su-to-su-call-setup-scenario |
name of the called SU. Must be defined in the assoicated topology.xml
Required
@cancelAfter | Attribute of su-to-su-call-setup-scenario |
time after which to cancel the call. Note that cancel may not succeed.
Default value: UNBOUNDED
@terminateAfter | Attribute of su-to-su-call-setup-scenario |
time after which the call is Terminated ( with a BYE)
Default value: UNBOUNDED
@isTerminatedByCalledServing | Attribute of su-to-su-call-setup-scenario |
a flag which indicates whether the called party terminates call.
Possible values: true, false - Default value: false
@isEmergency | Attribute of su-to-su-call-setup-scenario |
whether or not this is an emergency call.
Possible values: true, false - Default value: false
@talkSpurtSentBy | Attribute of su-to-su-call-setup-scenario |
which end sends a talk spurt after setup (this is an optional attribute ).
@isTalkSpurtForced | Attribute of su-to-su-call-setup-scenario |
whether or not talk spurt is forced.
Possible values: true, false - Default value: false
@id | Attribute of group-call-setup-scenario |
a unique identifier for this stanza (can be referred to in scripts ).
Possible values: Match the ID rules. - Required
@callingSuName | Attribute of group-call-setup-scenario |
name of the calling SU
Required
@calledGroupName | Attribute of group-call-setup-scenario |
name of the called group
Required
@priority | Attribute of group-call-setup-scenario |
the call priority
Default value: 1
@isEmergency | Attribute of group-call-setup-scenario |
"emergency" flag
Possible values: true, false - Default value: false
@isConfirmed | Attribute of group-call-setup-scenario |
"confirmed group call" flag
Possible values: true, false - Default value: false
@cancelAfter | Attribute of group-call-setup-scenario |
time after which call is canceled
Default value: UNBOUNDED
@terminateAfter | Attribute of group-call-setup-scenario |
time after which the call is Terminated ( with a BYE)
Default value: UNBOUNDED
@isTalkSpurtSentAfterCallSetup | Attribute of group-call-setup-scenario |
calling SU send a talk spurt after call setup.
Possible values: true, false - Default value: false
@isTalkSpurtForced | Attribute of group-call-setup-scenario |
a flag that indicates if the talk spurt is forced or not.
Possible values: true, false - Default value: false
@id | Attribute of roaming-scenario |
- a unique identifier for this event triggered action.
Possible values: Match the ID rules. - Required
@suName | Attribute of roaming-scenario |
- symbolic name of the su that is moving.
Required
@destinationRfssName | Attribute of roaming-scenario |
- symbolic name of the destination RFSS.
Required
@delay | Attribute of roaming-scenario |
- time taken for the move.
Default value: 0
@id | Attribute of su-script |
= the unique id for this SU script.
Possible values: Match the ID rules. - Required
@suName | Attribute of su-script |
= the name of the SU that this script references. this must be defined in the associated topology.xml file for the test script.
Required
@description | Attribute of su-script |
= the decription of this scripting action.
@method | Attribute of su-script |
= the jython method to invoke in the enclosed script.
Required
@id | Attribute of rfss-script |
= the unique id for this RFSS script.
Possible values: Match the ID rules. - Required
@rfssName | Attribute of rfss-script |
= the name of the emulated RFSS that this script references.
Required
@description | Attribute of rfss-script |
= the decription of this scripting action.
@method | Attribute of rfss-script |
= the jython method to invoke in the enclosed script.
Required