The scenario definition language defines scenario definitions, which describe message flows between a number of network nodes. "Roles" represent the network nodes, and "dialogs" represent the network dialogs between roles.
Scenario definitions look like this:
callBarringScenario (FORMAT 1.0) { (ROLES) { alice; bob; } (DIALOGS) { alice-bob (ROLE_A alice, ROLE_B bob, SCHEMA callControl, VERSION 1.1); } InitialDP (DIALOG alice-bob, DIRECTION A_TO_B) { callingPartyNumber "123456"; } }
This includes:
-
the top-level element — the scenario itself, which names the scenario, and must specify the format of the scenario definition (currently, the only option is
(FORMAT 1.0)
) -
roles — defined as children of a
(ROLES)
element under the scenario -
dialogs — defined as children of a
(DIALOGS)
element. TheDIALOGS
element requires four attributes:
ROLE_A
,ROLE_B
,SCHEMA
, andVERSION
.-
The order of the roles is significant if the schema is non-symmetric.
-
The
SCHEMA
attribute must name a known scenario schema. The Scenario Simulator uses the schema to validate and give meaning to the messages and fields the scenario defines. -
The
VERSION
specifies the version of the protocol schema.
-
-
remaining child elements — define the messages.