testscript.dtd: Elements - Entities - Source | Intro - Index
FRAMES / NO FRAMES

DIETS Event Driven Test Script Specification

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.

<test-script>'s children
NameCardinality
group-call-setup-scenarioAny number
post-conditionAny number
rfss-scriptAny number
roaming-scenarioAny number
su-scriptAny number
su-to-su-call-setup-scenarioAny number
<test-script>'s attributes
NameValuesDefault
generatePttTraceyes, nono
generateSipTraceyes, noyes
rtpMessageLoglogs/messagelog.ptt
sipMessageLoglogs/messagelog.sip
testCompletionDelay0
testName
traceGenerationTime25
Element's model:

((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.

<su-to-su-call-setup-scenario>'s children
NameCardinality
triggerOnly one
<su-to-su-call-setup-scenario>'s attributes
NameValuesDefault
calledSuName
callingSuName
cancelAfterUNBOUNDED
idMatch the ID rules.
isEmergencytrue, falsefalse
isTalkSpurtForcedtrue, falsefalse
isTerminatedByCalledServingtrue, falsefalse
talkSpurtSentBy
terminateAfterUNBOUNDED
Element's model:

(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.

<group-call-setup-scenario>'s children
NameCardinality
triggerOnly one
<group-call-setup-scenario>'s attributes
NameValuesDefault
calledGroupName
callingSuName
cancelAfterUNBOUNDED
idMatch the ID rules.
isConfirmedtrue, falsefalse
isEmergencytrue, falsefalse
isTalkSpurtForcedtrue, falsefalse
isTalkSpurtSentAfterCallSetuptrue, falsefalse
priority1
terminateAfterUNBOUNDED
Element's model:

(trigger)


<roaming-scenario> Child of test-script

The tag for emulating an SU Roaming action.

<roaming-scenario>'s children
NameCardinality
triggerOnly one
<roaming-scenario>'s attributes
NameValuesDefault
delay0
destinationRfssName
idMatch the ID rules.
suName
Element's model:

(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.

<su-script>'s children
NameCardinality
scriptOnly one
triggerOnly one
<su-script>'s attributes
NameValuesDefault
description
idMatch the ID rules.
method
suName
Element's model:

(trigger, script)


<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.

<rfss-script>'s children
NameCardinality
scriptOnly one
triggerOnly one
<rfss-script>'s attributes
NameValuesDefault
description
idMatch the ID rules.
method
rfssName
Element's model:

(trigger, script)


<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
NameValuesDefault
oneShottrue, falsetrue
refId
typetime, 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
NameValuesDefault
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