Diameter Protocol Emulator
(Scripted LTE Diameter S6a, S6d, S13, Cx, Dx, Gx, and Rx Interfaces Emulation)
The Diameter protocol is intended to provide a framework for Authentication, Authorization and Accounting (AAA) applications such as network access, roaming, and IP mobility.
AAA protocols are used to determine whether the user is allowed to connect to the network (Authentication) and use a particular service (Authorization). It is also used to track network resources used by end-user for accurate billing (Accounting).
AAA protocols such as TACACS and RADIUS were initially deployed to provide dial-up PPP and terminal server access. Over time, with the growth of the Internet and the introduction of new access technologies, including wireless, DSL, Mobile IP and Ethernet, routers and network access servers (NAS) have increased in complexity and density, putting new demands on AAA protocols. As a result Diameter is a considerably more sophisticated protocol than RADIUS.
Diameter protocol has been chosen as the AAA protocol in all next generation fixed and mobile IP- based networks (IMS, LTE). It is designed to support data, services, and applications with extreme flexibility and is expected to replace all legacy protocols such as MAP, LDAP, Radius, and others.
Message Automation & Protocol Simulation (MAPS™) is GL's general purpose platform for emulation of communication protocols. Recently Diameter protocol for has been added to its wide range of emulation support. Within LTE, MAPS™ Diameter can simulate S6a, S6d, S13, Cx/Dx, Gx and Rx interfaces and test network elements such as the MME (Mobility Management Entity), HSS (Home Subscriber Server), AF (Application Function), PCRF (Policy and Charging Rules Function), CSCF (Call Session Control Function), SGSN (Serving GPRS Support Node), PCEF (Policy and Charging Enforcement Function), EIR (Equipment Identity Register) and PDN GW (Packet Data Network Gateway).
The application is available as -
- MAPS™ Diameter (Item # PKS139) for S6a, S6d, S13, Cx, Dx, Gx, and Rx interfaces
Other interfaces such as, Ro, Rf, Dh, Sh, Gy, Gq, Zh, Zn, Wa, Wd, Wx, Wm, Wg, Pr will also be supported by the application in near future.
The MAPS™ Diameter gives the users the unlimited ability to edit messages on supported interfaces to support various procedures such as Location Management, Subscriber Data Handling, Authentication, Fault Recovery, and Notification procedures over S6a interface; AA-Request/Answer, Re-Auth-Request/Answer, Abort-Session-Request/Answer, and Session-Termination-Request/Answer procedure over Rx interface; Mobile Equipment Identity Check Procedure over S13 interface; Authentication Authorization (AA) procedure over Rx and Gx interface.
MAPS™ Diameter Emulator supports powerful utilities like Message Editor, Script Editor, and Profile Editor which allow new scenarios to be created or existing scenarios to be modified using Diameter messages and parameters. "Message sequences" are generated through scripts. "Messages" are created using message templates.
Possible applications include:
- Simulate up to 500 Smartphones (UEs) powering up and down
- Authenticate and confirm security procedures
- Temporary addressing management for mobility and security
GL also provides a GUI based LTE Analyzer for on-line capture and decode of the signaling in real-time both during tests and as a stand-alone tracer for live systems.
- Emulator can be configured as MME, HSS, PCRF, PCEF, CSCF, SGSN, PDN GW, EIR, and AF entities to emulate S6a, S6d, S13, Cx/ Dx, Gx and Rx interfaces.
- User-friendly GUI for generating hundreds of UE Signaling (Load Testing) over SCTP/TCP Layers.
- Ready scripts for procedures over interfaces such as -
- Procedures over S6a interface
- Location Management, Subscriber Data Handling, Authentication, Fault Recovery, and Notification
- Procedures over Rx interface
- AA-Request/Answer, Re-Auth-Request/Answer, Abort-Session-Request/Answer, and Session-Termination-Request/Answer
- Procedure over Gx interface
- IPCAN Session Establishment and Modification
- Procedure over S13 interface
- ME (Mobile Equipment) Identity Check procedure
- Impairments can be applied to messages to simulate error conditions
- Supports customization of call flows and message templates using Script editor and Message editor.
- Ready-to-use scripts for quick testing
- Supports scripted call generation and automated call reception.
- Provides protocol trace with full message decoding, and graphical ladder diagrams of call flow with time stamp
- Script based & protocol independent software architecture.
- Provides call statistics and associated captured events and error events during call simulation.
Supported Protocol Standards
Diameter Protocol Stack
||Standard / Specification Used
IETF RFC 3588
S6a, S6d, S13 - 3GPP TS 29.272 V10.3.0
Rx - 3GGP TS 29214-b10
Cx/Dx - 3GPP TS 29.228 & TS29.229
Gx - 3GPP TS 29.212 & TS 23.203
A test bed setup is configured to use a pre-defined XML profile file. The multiple profiles created in the default profile (XML) selected in Test Bed Setup are accessible from the call generation and reception windows.
This window allows users to configure the necessary parameters to establish communication between MAPS™ Diameter and the DUT.. MAPS™ Diameter Emulator supports both SCTP (Stream Control Transmission) and TCP (Transmission Control Protocol) transport protocol layers for communication over IP networks. The TCP used along with IP provides reliable message transfer between interconnected computer communication networks.
For IP based protocols, MAPS™ test bed should be setup with mandatory Source / Destination Port, Address, Stream ID and Payload ID parameters to establish connection with DUT. These parameters enable the users to configure MAPS™ application as the required entity in SCTP/ IUA/ UDP/ MTP/ TCP Layers of IP network. Default profile used to configure MAPS™ Diameter to act as any of the supporting Diameter protocol entity.
Screen Shot of Diameter SCTP Testbed Setup Configuration
Screen Shot of Diameter TCP Configuration Testbed Setup
MAPS™ Diameter Supporting S6a Interface Procedures
(Authentication, Location Update, Notification, Faulty Recovery Procedures)
The S6a interface enables the transfer of subscriber related data between the MME and the HSS
- Location Management Procedures
- Location Update Procedures: To update location information in the HSS
- Cancel Location: To delete a subscriber record from the MME or SGSN
- Purge UE: to indicate that the subscriber’s profile has been deleted from the MME or SGSN either by an MMI interaction or automatically
- Subscriber Data Handling Procedures
- Insert-Subscriber-Data: for updating and/or requesting certain user data in the MME or SGSN
- Delete Subscriber Data: to remove some or all data of the HSS user profile stored in the MME or SGSN
- Authentication Procedures
- Authentication Information Retrieval: to request Authentication Information from the HSS
- Fault Recovery Procedure
- Reset: The Reset Procedure shall be used by the HSS, after a restart, to indicate to the MME and to the SGSN that a failure has occurred
- Notification Procedure
- Notification: when an inter MME or SGSN location update does not occur but the HSS needs to be notified
Rx and Gx interfaces
The following illustrates the Authentication Authorization (AA) procedure in Diameter Rx interface and Gx interface:
MAPS™ Diameter Supporting Rx and Gx Interface Procedures
(Authentication, Authorization – AA Procedures)
The following illustrates the ME (Mobile Equipment) Identity Check procedure in Diameter S13 interface:
The Mobile Equipment Identity Check Procedure is used between the MME and the EIR to check the Mobile Equipment's identity status (e.g. to check that it has not been stolen, or, to verify that it does not have faults). This procedure is mapped to the following commands in the Diameter application -
- ME-Identity-Check-Request (ECR) Command
- ME-Identity-Check-Answer (ECA) Command
Call Generation option allows the user to simulate outgoing communications where an outgoing call is initiated by sending request messages using proper scripts and profiles. The profile allows necessary parameters of the various procedure messages to be changed during runtime.
Testing HSS in S6a interface
The setup for the message exchange between MME and HSS entities is indicated in the below.
As seen in the figure below, MAPS™ Diameter acts as MME, and tests the DUT that is configured as HSS. MAPS™ Diameter initiates the messages towards HSS and responds to messages from HSS (DUT).
MAPS™ configured as MME in S6a interface
For HSS testing, scripts are used to ensure MAPS™ Diameter act as MME sending Location Update Request message. The response message is received from the DUT (HSS) as seen in the message sequence window below.
The procedure shall be invoked by the MME and is used:
- to inform the HSS about the identity of the MME currently serving the user, and optionally in addition;
- to update MME with user subscription data;
- to provide the HSS with other user data, such as Terminal Information or UE Capability.
Call Generation at MME Node (S6a Interface)
Call generated from other entity can be automatically detected in call reception window by pre-setting the required scripts in the Incoming Call Handler window.
Testing MME in S6a interface
In MME testing, MAPS™ Diameter is loaded with a set of inbuilt scripts to handle the incoming messages. MAPS™ Diameter acts as HSS and sends response updating the location information to the MME.
MAPS™ configured as HSS in S6a interface
Subscriber Data Handling Procedures -
- Insert-Subscriber-Data request message for updating and/or requesting certain user data in the MME
- Delete Subscriber Data request message to remove some or all data of the HSS user profile stored in the MME
Call Reception at HSS Node (S6a interface)
Bulk Call Simulation
MAPS™ Diameter supports Bulk Call Simulation and Stress/Load Testing capabilities through Load Generation feature. Load Generation window helps users configure Stress/Load Testing parameters such as Call per second (CPS) or Busy hour call attempts (BHCA), Max Simultaneous Calls and Burst parameters.
Screen Shot of Load Generation Parameters
Customization of Call Flow and Messages Using Pre-Processing Tools
Script Editor - The script editor allows the user to create / edit scripts and to define variables for the protocol fields. The script uses pre-defined
message templates to build call flow and perform send and receive actions. Script editor provides options to run the test for multiple iterations in sequential
or random flow. Commands allow retransmission of messages with specific interval. It also includes traffic commands to send and monitor voice, tones, digits, on the created sessions. It includes raw commands (send/monitor signaling bits, monitor power level, set idle code, and end task) to send WCS commands directly from MAPS™ to the server.
Screenshot of Script Editor
Profile Editor - Profiles are used to provide the user configured values to the fields in the Messages (i.e., Message Template in MAPS™ Diameter) through variables which are going to change during the course of a call. An XML file defines a set of multiple profiles with varying parameter values that allow users to configure call instances in call generation and to receive calls.
Screenshot of Profile Editor
Message Editor - The Message Template is a *.HDL file that comprises of protocol encoding parameters with preset values. It is required to create a message template for every message in a protocol. The message templates are called within the scripts to perform scenario based testing.
Screen Shot of Message Editor
Call Flow & Script Execution Control
Message Sequence - MAPS™ Diameter provides protocol trace with full message decoding, custom trace, and graphical ladder diagrams of call flow with time stamp while simulation is running. Call flow graph allows to easily verifying the messages exchanged between MAPS™ Diameter and DUT. See Call Generation and Call Reception for details.
Script Contents & Script Flow - The Scripts Contents window displays the contents of the script selected for call generation or reception. The Script Flow window displays the set of statements successfully executed by MAPS™ Diameter to help users in troubleshooting a particular the call scenario.
Events & Event Profile Editor - User-defined events allow redirection of script execution on-the-go. The custom parameters in the events can also be changed during script execution using Event Profiles
Screenshot of Script Contents and Script Flow
Screenshot of Event Config
Call Statistics, Events, Link Status
Call Statistics & Status - By default, all call handling scripts (irrespective of the type of the functions) are assessed by MAPS™ Diameter to provide statistical information about total calls, active calls, completed calls, passed calls, and failed calls. It is also possible to characterize the statistical information under different groups of call handling scripts under a unique heading.
In addition, Call Generation and Call Reception windows provide useful call status & script execution results.
Screen Shot of Call Statistics and Status
Events Reporting – MAPS™ Diameter provides Event Log, Error Events, and Captured Errors windows that log the captured events and errors encountered during the progress of the call.
Screen Shot of Events Log
Link Status – Link Status window indicates transport related information of the protocol, for example, if SCTP is used as transport, it indicates if the Association is UP or DOWN in the Link Status window.
Screen Shot of SCTP Link Status
Specifications are subject to change without notice.
Back to Message Automation & Protocol Simulation