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. TheDIALOGSelement requires four attributes:
ROLE_A,ROLE_B,SCHEMA, andVERSION.-
The order of the roles is significant if the schema is non-symmetric.
-
The
SCHEMAattribute 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
VERSIONspecifies the version of the protocol schema.
-
-
remaining child elements — define the messages.
