Message Flows


In DRA testing, the Message Flows tab allows you to define attributes for processing message flows by different subscriber groups and server groups. In addition, you may also define when/how a message would be constructed and sent out.

Subscriber and Server Groups

Message Flows

Flow n

  • Assigned Subscriber Groups
  • Open / Save As Template / Add / Delete / Cut / Copy / Paste / Up / Down
  • End Flow
  • Delay (s)
  • ID
  • Wait For
  • Delay (ms)
  • Command / Conditional / Goto
  • From / To
  • Response For
  • Arguments

 

 

 


Subscriber and Server Groups

Allows you to assign groups of Subscribers and Server to process the message flows.

NOTE: Click on the top right-hand corner of the table for Tcl Parameters information.

Subscriber Group

A table allows you to select configured subscribers and set them into multiple subscriber-groups that will execute different message flows within a test.  

  • By default all subscribers are grouped into a single group #1.  

  • You may change this assignment and divide subscribers into multiple groups up to a maximum of 10 groups.

Add Subscriber Group

Click to add a row of subscriber group and open the Edit Subscriber Group window. You may also double-click on a row of Subscriber Group to open the Edit Subscriber Group window.

Select All Sessions or Range of Sessions.

NOTE: The icon is not available (is greyed) once the maximum of 10 subscriber groups have been added.

  • Enter the Range of Sessions: To and From

The maximum value allowed in From depends on the Number of Subscribers entered on the Mobile Subscribers pane on the Test Configuration tab.

  • Click OK or Cancel.

NOTES:

  • If your selection (the range you entered) already exists, a message displays asking whether you want to save it anyway as the range of subscriber group overlaps with another.
  • Even though you are allowed to set overlapping subscriber groups during Subscriber Groups setting, you will not be able to assign the two overlapping Subscriber Groups to a Message Flow.

 

Delete Subscriber Group Click to delete the selected row of subscriber group.
Set Subscriber Group Select to set the required number of Subscriber Groups. This options adds rows to the Subscriber Group table, which you may double-click to open Edit Subscriber Group window.   Option: 1 - 10

^ Back to Top


 

NOTE: Click on the top right-hand corner of the Server Group table for Tcl Parameters information.

 

Server Group

A table allows you to select configured HSS/PCRF Nodes/Server and set them into multiple server-groups that will execute different message flows within a test for mirroring or redundancy test purposes.   

  • By default all server are grouped into a single group but not included in the table.  

  • You may set multiple server groups up to a maximum of 10 groups.

NOTE: You can only set the same type of servers into a group. That is group HSS Servers in to a group or PCRF Servers into a group.

Add Server Group

Click to add a row of server group and open the Edit Server Group n window. Where n identifies the group/row being edited. You may also double-click on a row of Subscriber Group to open the Edit Server Group n window.

Select HSS or PCRF.

NOTE: The icon is not available (is greyed) once the maximum of 10 subscriber groups have been added.

  • Select the servers (from the displayed list) to process the message flow in Server Group n.

The number of server/nodes listed depends on the Number of Nodes entered on the Emulator pane on the Network Devices tab.

  • Click OK or Cancel.
Delete Server Group Click to delete the selected row of server group.
Set Server Group Select to set the required number of Server Groups. This options adds rows to the Server Group table, which you may double-click to open Edit Server Group n window.   Option: 1 - 10

^ Back to Top


Message Flows

The Message Flows pane allows you to specify a message-flow to be executed by an assigned subscriber-group.  By default, Subscriber-Group #1 is assigned to execute all message flows and you may select the Subscriber Group to execute the message flow.  When a Subscriber Group is assigned with more than one message flow, the message flows are execute in the listed sequence of assignment from top to bottom. You may also define Conditional Branch command that instructs the DRA to execute any command within a flow when some predefined conditions are met.

Assigned Subscriber Groups

Select the Subscriber Group to execute the message flow. The list is populated based on the Subscriber Group you define in the Subscriber and Server Groups pane.

By default, Subscriber-Group #1 is assigned to execute all message flows.

Timeout

Indicates the time to wait without receiving a response.

Default: 160 seconds

NOTE: Default is set at 160 seconds as the default TCP/SCTP retransmission timeout (5 retries of 30 seconds each) and most test automation test runs default to 30 seconds.

 

Action

Indicates whether to Continue or Abort after the Timeout period expires.

Unexpected Requests

In DRA Nodal TC, Unexpected Requests options apply to all flows for handling requests which are not configured in message-flows. Requests may not be configured as responses may cause issues with external SUTs.  

Options:

Ignore (Ignore) Selected by default. When selected, unexpected requests are counted but no response is sent.
Respond with result-code (Respond)

When selected, unexpected requests are counted and response sent with the configured result-code. Enter the appropriate result code.

Result Code: 32-bit unsigned value

Range: 1000 - 5999

Default: 5012-DIAMETER_UNABLE_TO_COMPLY

 

Ignore Destination-Host AVP in Incoming Requests

When enabled, DRA Nodal will not validate the Destination-Host AVP when it receives incoming request message, and will totally ignore it. 

Tcl Parameter: DraMsgFlowIgnoreDestHostAvpEn

Message Flows

Select the number of message flows you required from the list.

Option: 1 - 10

The Flow n tabs are added depending on the value you select.

You many also click to add a Flow n tab or click to delete the tab.


Secondary SUT Failover Triggers by AVP

The Secondary SUT Failover Triggers by AVP group allows you to define a set of conditions for triggering the failover to the secondary SUT based on the result code of a response message.  If all conditions defined are met, and the Secondary SUT is configured for that node, then the message will be sent to the secondary SUT.

NOTE: A failover is successful only when a failover Condition is triggered and there is a Secondary SUT defined.

Click to add a row to specify a Condition Expression used to execute failover. You may add a maximum of five condition expressions, after which the button is greyed.

Click to delete the selected row.

AVP

Select an AVP of a received message which will be used in an expression.  

  • result – Result-Code AVP
  • experimental-result – Experimental-Result-Code AVP

Operator

Select an operator/condition from the list.

  • == to test whether a specified AVP equals to a provided value.
  • != to test whether a specified AVP is not equal to a provided value.
  • > to test whether a specified AVP is greater than a provided value.
  • < to test whether a specified AVP is less than a provided value.
  • >=  to test whether a specified AVP is greater than or equal to a provided value.
  • <=to test whether a specified AVP is less than or equal to a provided value.
  • inrange(x-y) to test whether a specified AVP is within a provided range.
  • outrange(x-y) to test whether a specified AVP is outside a provided range.
  • in(a,b,c) to test whether a specified AVP is one of the listed values.
  • not(a,b,c) to test whether a specified AVP is not one of the listed values.
  • matches(regex) to test whether a specified AVP matches a provided regular-expression.

Value

Enter an appropriate value for the selected operator.  When multiple values are required (for example, ‘inrange(x-y) operator), use space to separate values.

NOTE: When multiple expressions are provided, the final result is a combined (logical AND operation) expressions.

 


Flow n

The message flow tab (Flow n) allows you to define a sequence of command and parameters that specify the command name, source and destination of the message flow, and optional command arguments.  The Subscriber Group you assign to the message flow will execute the message from top to bottom of the list as defined in the message flow table. You may also define Conditional Branch command that instructs the DRA to execute any command within a flow when some predefined conditions are met.

The number of message flow tabs (Flow n) depends on the value you select in the Message Flows.

NOTE: Click on the top right-hand corner of the Flow table for Tcl Parameters information.

 

Assigned Subscriber Groups

Click ... to open the Assigned Subscriber Group window and select the Subscriber Group. See Subscriber Group.

Open

Click to open a save open a saved DRA Message Flow template. Navigate to the folder as required and open a saved DRA Message Flow template.

Save As Template

Click to save as Message Flow Template.

A DRA Message Flow Template consists of one message flow, each Command/Row in the table, and the Message Flow End Action and optional Delay.  The Associated Subscriber Group (s) are not saved as part of the template.

TIPS:

  • When you save a template, copy the keywords and then re-paste them and click save. (When you save a template, the keywords field is initially filled with a list of all of the DRA Interfaces that are emulated or otherwise used. As with any Save Item Dialog, the moment you select an existing item, the keywords field will be replaced with the selected item's keywords)

The keywords are helpful when searching and selecting message flows. If a Test Case does not emulate or use the interfaces in the message flow, they will not load as required.

  • The From/To parameters are successfully populate only if the Test Case has the same types of interfaces and the same numbers of SUTs/Nodes defined for the interfaces.

 

Add

Click to Add a new message after the selected row.

NOTE: To add a new item at the top of the table: Select the top row, add the item, then select the new row and use the Move Up button. If there are multiple (contiguous or non-contiguous) rows selected, the row will be inserted after the selected row nearest the bottom of the table.

 

Delete, Cut, Copy, Paste, Up, Down

You may Delete a selected row (s), Cut or Copy the selected row to the clipboard, Paste from the clipboard to the message stream, and move the selected message Up or Down the list to indicate it's order of execution.

End Flow

The End Flow command is used to Indicate whether to wait for a last command of a flow.

Select from one of the following Options:

  • "End Flow Immediately After Last Command" - Use if the last command of a flow is sent to a DUT (some node external to DRA Nodal) , select to end flow immediately (no need to wait)
  • " End Flow After Waiting for Last Command" -  Use is a last command is sent to another local node emulated on DRA Nodal, then DRA Nodal should wait for a last command to arrive
  • "End Flow After Delay" - End flow after the Delay time - Enter Delay Time in seconds.

NOTE: The two options listed here, ("End Flow Immediately After Last Command" and "End Flow after Waiting For Last Command") are now effectively the same as Landslide backend processing will choose the correct one based on the descriptions listed above.

ID

(mandatory)

Unique command identifier generated every time you Add a new message row.

Wait For

(mandatory)

Indicates whether to wait for the selected command to complete.

The options available for each row is ID - 1. For example:

  • ID =1, Wait For choices are blank

  • ID=2, Wait For choices are: blank, 1

  • ID=3, Wait For choices are: blank, 1, 2

  • ID=4, Wait For choices are: blank, 1, 2, 3

See exampleexample, which shows a one-armed test where the emulated HSS waits for the MME SUT to request UE authentication information.

Delay

Indicates the time (ms) to delay before responding to a message (even after all conditions set have been met).

The max value for the ms delay is 67108864, that is, (65535 * 1024)

Command

(mandatory)

Double-click to open the Choose Command, Branch, or GOTO window with three tabs.

Command

The tab displays the Protocol and the message flow supported.  

Protocol: Select the required Protocol for which you are setting up the message flow. The table below identifies the Protocol you may select and the message flow between the devices. The command listed vary and depend on the Protocol you select. See DRA Nodal Commands.

Protocol

Message Between...

S6a/S6d

HSS and MME/SGSN

Gx

PCRF and AGW/PCEF

Rx

PCRF and AF

Gxx

PCRf and BBERF

S9

hPCRF and vPCRF

Sy

PCRF and OCS

Sh

HSS and AS

Cx

HSS and I-CSCF, HSS and S-CSCF

Sd

PCRF and TDF

S6t

HSS and SCEF

T6a

SCEF and MME

T6b

SCEF and SGSN

Gy

OCS and PGW

GENx GENx

X= 1 to 4

GEN to GEN

Conditional Branch

The command is not restricted to any particular protocol or any sender/receiver. Allows you to instruct the DRA to execute any command within a flow when some predefined conditions are met.

Select the Command Branch tab to set up/configure condition/evaluation expressions used to execute Conditional Branch command. Set up the Condition Expression and click OK to insert Conditional Branch in the message flow.

See Message Flow Conditional Branching

GOTO

Allows you to specify the Command ID to go to. Additional details in Message Flows Conditional Branching topic.

 

From

Identifies the message sender.

NOTE: The multiple local nodes are available in the list. See Node Connection Assignment for a description.

 

To Identifies the message receiver.
Response For

Indicates the Command ID to which this message is sent as a reply/response.

For exampleexample (Shows a one-armed test where the emulated HSS waits for the MME SUT to request UE authentication information)

  • Command ID 1 sends a SendAuthInfoReq from MME-1 to HSS-1
  • Command ID 2 sends a SendAuthInfoAns from HSS-1 to MME-, which is the response for the message sent by Command ID 1

Arguments

(mandatory)

Double-click to open the Select/Edit Optional Arguments window. The information displayed varies as they are command specific.

For Conditional Branch command, the Argument is automatically updated based on the Condition Command Expression. You may edit the argument only by editing the Condition Command.

See list of arguments and their description for Condition Branch commandarguments and their description for Condition Branch command.

eval-result-equal Evaluate whether a received diameter result-code equals to a provided value.
eval-result-not-equal Evaluate whether a received diameter result-code does not equal a provided value.
eval-result-less-than evaluate whether a received diameter result-code is less than a provided value.
eval-result-greater-than Evaluate whether a received diameter result-code is greater than a provided value.
eval-result-less-than-or-equal Evaluate whether a received diameter result-code is less than or equals to a provided value.
eval-result-greater-than-or-equal Evaluate whether a received diameter result-code is greater than or equals to a provided value.
eval-result-in-range-start, eval-result-in-range-end Evaluate whether a received diameter result-code is within a range defined by a provided start and end values.
eval-result-out-range-start, eval-result-out-range-end Evaluate whether a received diameter result-code is outside a range defined by a provided start and end values.

 

 

Cx messages are carried within the Diameter Application with application id 16777216. (3GPP TS 29.228 and TS 29.229)

Command-Name

Abbreviation

Code

User-Authorization-Request

UAR

300

User-Authorization-Answer

UAA

300

Server-Assignment-Request

SAR

301

Server-Assignment-Answer

ASS

301

Location-Info-Request

LIR

302

Location-Info-Answer

LIA

302

Multimedia-Auth-Request

MAR

303

Multimedia-Auth-Answer

MAA

303

Registration-Termination-Request

RTR

304

Registration-Termination-Answer

RTA

304

Push-Profile-Request

PPR

305

Push-Profile-Answer

PPA

305

 

^ Back to Top