Diameter Applications, Commands, and Messages

A Diameter application is a networking protocol based on the Diameter base protocol (RFC 3588). Each application is identified by a code and a command. Each command has an assigned command code and has a set of Request and Answer messages, each of which uses the same command code. These messages are converted to MDC format by Diameter Gateway and are the base units used to send the command or deliver a notification between a Diameter client and MATRIXX Engine.

The Diameter commands supported by MATRIXX are identified by their command codes. For example, an Accounting-Request message recognizes that the message carries accounting-related information and a Capabilities-Exchange-Request message recognizes that the message carries capability information of the Diameter client sending the message. Each diameter request message each has its corresponding response message that shares the same command code. For example, MATRIXX Charging Application receives an Accounting-Request message, prepares an Accounting-Answer message, and sends it back to the original sender. The type of Diameter message received is determined by the networking protocol that is providing the messages. For example, an event might be sent with the Diameter Accounting application or Diameter Credit-Control application.

Diameter Applications lists the Diameter applications supported by MATRIXX Engine.

Table 1. Diameter Applications
Application – Code Command – Code Diameter Message Message MDC

Common – 0

Capabilities-Exchange – 257

  • Capabilities-Exchange-Request (CER)

    Sent upon a new connection establishment from a network application. The main purpose of this message is to advertise which applications are supported by peers. It also contains other details, such as realm, host, and so forth.

    Important: A CER message must be sent to the peer before any other packets are sent.
  • Capabilities-Exchange-Answer (CEA)

    Responds to the CER message.

MtxDiamCEMsg

Common – 0

Re-Auth – 258

  • Re-Auth Request (RAR)

    A Re-Auth Request is sent to the network when there is an open session and a request for further action has not been received from the network after a configurable amount of time. Open sessions that are invalid can be cleaned up, for example, when the network connection drops and strands the session before it has been terminated.

  • Re-Auth Answer (RAA)

    If no RAA is received, the session is cleaned up and removed from the Activity database by the Task Manager.

    If a RAA message is received and is an acknowledgment of the session, the Task Manager resets the state to OK and records the new timestamp so it knows the amount of time that has passed since the last message received from the network.

MtxDiamRAMsg

Common – 0

Abort-Session – 274

  • Abort-Session Request (ASR)

    An Abort-Session-Request (ASR) is sent by any server to the NAS providing session service to request that the session identified by the Session-Id be stopped.

  • Abort-Session-Answer (ASA)
    An Abort-Session-Answer is sent in response to the ASR. The Result- Code AVP must be present and indicates the disposition of the request. Possible Result-Codes are:
    • DIAMETER_SUCCESS
    • DIAMETER_UNKNOWN_SESSION_ID
    • DIAMETER_UNABLE_TO_COMPLY

MtxDiamASMsg

Common – 0

Device-Watchdog – 280

  • Watch-Dog-Request (WDR)

    Sent by one peer to another to ensure that the connection is up and running.

  • Watch-Dog-Answer (WDA)

    Responds to the WDR message.

MtxDiamDWMsg

Common – 0

Disconnect-Peer – 282

  • Disconnect-Peer-Request (DPR)

    Tells the peer that the connection will be disconnected.

  • Disconnect-Peer-Answer (DPA)

    Responds to the DRP message.

MtxDiamDPMsg

NASREQ – 1

AA – 265

  • AA-Request (AAR)

    A request from the network application during a subscriber log in operation asking the MATRIXX Charging Application to authenticate the subscriber before allowing service access.

  • AA-Answer (AAA)

    Responds to the AAR message.

MtxDiamRoMsg

Accounting – 3

Accounting – 271

  • Accounting-Request (ACR)

    A request for offline charging.

  • Accounting-Answer (ACA)

    Responds to the AR message.

MtxDiamRoMsg

Credit-Control – 4

Credit-Control – 272

  • Credit-Control-Request (CCR)

    The initial request is at subscriber login for AAA so the session can begin. Interim (update) requests can report usage information and contain requests for additional quota.

    A termination request is sent at subscriber logout to notify that the session is being terminated.

  • Credit-Control-Answer

    Responds to the CCR message.

MtxDiamRoMsg

Credit-Control – 4

Re-Auth – 258

  • Additional optional AVPs for Credit-Control Re-Auth Request/Answer.

MtxDiamRoRAMsg

Policy-Control (Sy) — 16777302

Spending-Limit - 8388635

  • Spending-Limit

    Request for policy counter status reporting from the PCRF to the MATRIXX Policy Application .

MtxDiamSySLMsg

Policy-Control (Sy) — 16777302

Spending-Status-Notification - 8388636

  • Spending-Status-Notification

    Notification of a policy counter status change from the MATRIXX Policy Application to the PCRF.

MtxDiamSySNMsg

Policy-Control (Sy) — 16777302

Session-Terminate - 275

  • Session-Terminate

    Cancellation of policy counter status reporting from the PCRF to the MATRIXX Policy Application .

MtxDiamSySTMsg

Policy-Control (Gx) — 16777238

RA - 258

  • AVPs for Gx policy Re-Auth Request/Answer.

MtxDiamGxRAMsg

Policy-Control (Gx) — 16777238

CC - 272

  • AVPs for Gx policy Credit-Control Request/Answer.

MtxDiamGxCCMsg

Policy-Control (Rx) — 16777236

AA - 265

  • AVPs for Rx policy Charging-Control Request/Answer.

MtxDiamRxAAMsg

Policy-Control (Rx) — 16777236

Abort-Session - 274

  • AVPs for Rx Abort-Session Request/Answer.

MtxDiamRxASMsg

Policy-Control (Rx) — 16777236

Re-Auth - 258

  • AVPs for Rx Re-Auth Request/Answer.

MtxDiamRxRAMsg

Policy-Control (Rx) — 16777236

Session-Termination - 275

  • AVPs for Rx Session-Termination Request/Answer.

MtxDiamRxSTMsg

Sh — 16777217

User-Data-Request (UDR) - 306

  • AVPs for SH User-Data-Request. Request for user data from the Diameter Server.

MtxDiamShUserDataMsg

Sh — 16777217

User-Data-Answer (UDA) - 306

  • AVPs for SH User-Data-Answer.

    Responds to the UDR message.

MtxDiamShUserDataMsg

Sh — 16777217

Profile-Update-Request (PUR) - 307

  • AVPs for SH Profile-Update-Request. Request to update user data in the Diameter server.

MtxDiamShProfileUpdateMsg

Sh — 16777217

Profile-Update-Answer (PUA) - 307

  • AVPs for SH Profile-Update-Answer.

    Responds to the PUR message.

MtxDiamShProfileUpdateMsg

Sh — 16777217

Subscribe-Notifications-Request (SNR) - 308

  • AVPs for SH Subscribe-Notifications-Request. Request notifications of changes in user data.

MtxDiamShSubscribeNotificationsMsg

Sh — 16777217

Subscribe-Notifications-Answer (SNA) - 308

  • AVPs for SH Subscribe-Notifications-Answer.

    Responds to the SNR message.

MtxDiamShSubscribeNotificationsMsg

Sh — 16777217

Push-Notification-Request (PNR) - 309

  • AVPs for SH Push-Notification-Request. Request to notify changes in the user data in the Diameter server.

MtxDiamShPushNotificationMsg

Sh — 16777217

Push-Notification-Answer (PNA) - 309

  • AVPs for SH Push-Notification-Answer.

    Responds to the PNR message.

MtxDiamShPushNotificationMsg

The command code is used to identify the intention of the associated request and answer messages, but the actual data is carried by a set of AVPs. AVPs carry the AAA details as well as routing, security, and capability information between a Diameter client and MATRIXX Engine.

Diameter messages (packets) are converted to MDCs by Diameter Gateway and the AVPs are mapped to MDC fields so they can be interpreted by MATRIXX Charging Application and MATRIXX Policy Application. MATRIXX Engine has an out-of-box set of AVPs for all Diameter messages it supports, but customers can easily add AVPs by changing the base configuration.