9.17.2.1 Diameter Application Profile

The Diameter Application profile captures a set of AVP and command code definitions that are recognized by the Diameter Stack agent during runtime.

The Diameter Application profile is loaded when you start a workflow that depends on it. Changes to the profile become effective when you restart the workflow.

To open the configuration, click the New Configuration button in the upper left part of the  Desktop window, and then select  Diameter Application Profile  from the menu.

The Diameter Application profile

Diameter Menu

From the main menu at the top of the configuration dialog, select Diameter  to display available options for import, export and AVPs.

The Diameter Application profile configuration dialog enables you to import and export AVP and Command specifications in two supported formats:

  • ABNF (Augmented Backus-Naur Format)

  • XML (eXtensible Markup Language)

From the Diameter menu you can also clear entire specifications.

The Diameter menu

To Import ABNF Specifications

  1. From the Diameter menu select Import ABNF Specifications and the Select a File to Import dialog opens.
     

  2. Select an ABNF file and click Open to import the ABNF file to your application profile configuration.

    Note!

    For further information about the ABNF file, see 9.17.6.1 Diameter ABNF Specification Syntax.

Handling Duplicate Specification Files

If your ABNF file contains specifications that are already included in the Diameter profile, you are prompted to select one of the alternatives to overwrite, rename or skip importing the file specification.

Duplicate ABNF dialog

SettingDescription

Overwrite

The file specification replaces the existing one.

Rename

The file specification is imported and with a new name so that conflict with the existing specification is avoided.

Example - How Rename setting works

A specification called Re-Auth-Requestis already included in the profile when the first attempt to re-import it occurs. The new file name is Re-Auth-Request-1. The next attempt to re-import the same specification file will import Re-Auth-Request-2.

Skip

The file specification is not imported.

On Current Definition Only

Apply the selection of OverwriteRename, or Skip, only to the current specification.

On All Upcoming Definitions

Apply to all future imported specifications.

To Import XML Specifications

  1. From the Diameter menu select Import XML Specifications and the Select a File to Import dialog opens.
     

  2. Select an XML file and click Open. The XML file is imported to your application profile configuration.

    Note!

    For further information about the XML file, see 9.17.6.2 Diameter XML Specification Syntax.

    For further information about handling specifications (XML or ABNF) that are already included in the application profile, see the section above, Handling Duplicate Specification Files.

To Export ABNF Specifications

  1. From the Diameter menu select Export ABNF Specifications and the Select a Target File for Export dialog opens.
     

  2. Select an ABNF file and click Save. The ABNF file (both AVPs and commands) is saved as an export file.

    Note!

    For further information about the ABNF file, see 9.17.6.1 Diameter ABNF Specification Syntax.

To Export XML Specifications

  1. From the Diameter menu select Export XML Specifications and the Select a Target File for Export dialog opens.
     

  2. Select an XML file and click Save. The XML file (both AVPs and commands) is saved as an export file.

    Note!

    For further information about the XML file, see 9.17.6.2 Diameter XML Specification Syntax.

To Clear AVP Specifications

From the Diameter menu select Clear AVP Specifications and click OK. All the AVP specifications are deleted.

To Clear Command Specifications

From the Diameter menu select Clear Command Specifications and click OK. All the Command specifications are deleted.

Commands Tab

The commands that you use in the Diameter Application profile are predefined command sets of specific solutions.

The Commands tab in the Diameter Application profile enables you to create and edit command sets that are customized according to your needs.

The Diameter Application profile dialog - Commands Tab


SettingDescription

Name

The command name. For example: Credit-Control-Request.

Code

The unique numeric command code. For example: 272. For further information, see Show Base Commands.

Application ID

The numeric representation of the Diameter Application that this command belongs to. For example: 4 - Diameter Credit-Control.

Show Base Commands

Select this check box to view predefined commands, their numeric code, and Application ID. These are the commands specified in Diameter Base Protocol (RFC 6733).


To Add a Diameter Command Specification

The Add Diameter Command Specification configuration is displayed when clicking the Add icon  in the Commands tab.

The Diameter Commands tab - Add Diameter Command Specification


SettingDescription

Command Name

Enter a unique command name.

When you save the configuration, a UDR type with the specified name will be generated.

Command Code

Enter a numeric command code. Each command that belongs to the same Diameter Application must have a unique code.

Application ID

The numeric representation of the Diameter Application that the command belongs to.

Flags

Select the Request check box to mark the command as a request message (r-bit is set in Diameter message header); clear the Request check box to mark the command as an answer message.

Select Proxiable to enable the command to support proxy, relay, or redirection (p-bit is set in Diameter message header). For more information about the Proxiable flag, see the Diameter Base Protocol (RFC 6733). This flag is set by default when a new command is added.

Select Error to mark that the message contains a protocol error (e-bit is set in Diameter message header), so that the message will not conform to the ABNF described for this command. This flag is typically used for test purposes. If you want to send an error message answer from APL, it is recommended that you use the UDR Diameter.Base.Error_Answer_Message.

Auto-Populate

Click on this button to automatically fill out the AVP Layout table with data, based on your Flags selection. The Category of the AVP data is set to  Required .

Note!

To manually modify the data in the table cells double-click a cell.

Setting Flags to Request and Proxiable, auto-populates the AVP Layout table with the following AVPs:

  • Origin-Realm

  • Origin-Host

  • Destination-Realm

Setting Flags to Proxiable only, auto-populates the AVP Layout table with the following AVPs:

  • Origin-Realm

  • Origin-Host

  • Result-Code

Setting Flags to Error, prevents the AVP Layout table from being auto-populated.

AVP Layout Table

This table includes a list of all the AVPs in a specific command. From the table you can add, edit, and remove AVPs.

To manually modify the data in the table cells double-click a cell; either a drop-down list button appears and enables you to select a different content, or the cell becomes editable.


ItemDescription

Category

There are three different AVP categories:

  • Fixed AVP must be included in its predefined space in the command.

  • Required AVP must be included, but may appear anywhere in the message.

  • An Optional AVP can appear anywhere in the message.

AVP

Enter or modify an AVP name.

Min

Enter the lowest number of AVPs that the command should contain.

Max

Enter the highest number of AVPs that the command should contain.

UDR types are generated for the Diameter Application profile based on the command configuration. When Max is set to 2 or <unbounded> the data type of the UDR field for the AVP will be list<data type>.

AVPs Tab

AVPs carry the data payload in all Diameter messages. While recognizes all the AVPs that are defined in the Diameter Base Protocol, it also recognizes your customized AVPs. In the AVPs tab you can define your own customized AVPs.

The Diameter Application profile dialog - Diameter AVPs tab


SettingDescription

Auto-Populate

Click this button to enter missing table entries in all the user defined AVPs of a command in the table.

Note!

Does not apply to base AVPs.

Name

The AVP name

Code

The numeric code that represents the AVP. This number is unique and fixed for every AVP. For further information, see the AVP specifications. For example: RFCs.

Type

The AVP data format as specified in the Diameter Base Protocol (RFC 6733). UDR types are generated for the Diameter application profile based on the AVP configuration. The AVP data formats are mapped to the UDR data types as follows:

Address - ipaddress

DiameterIdentity - string

Enumerated - int

Grouped - list<type>

Float32 - float

Float64 - double

IPFilterRule - IPFilterRuleUDR(Diameter)

OctetString - bytearray

Signed32 - int

Signed64 - long

Time - date

Unsigned32 - int

Unsigned64 - long

UTF8String - string

Vendor

The numeric Vendor ID of the AVP. The vendor ID of all the IETF standard Diameter applications is 0 (zero).

Show Base AVPs

To display all predefined AVP types, check Show Base AVPs. These are the AVPs specified in  Diameter Base Protocol (RFC 6733).


To Add an AVP

To open the Add Diameter AVP Specification configuration, click the Add icon  at the bottom of the AVP tab.

The Add Diameter AVP Specification dialog

SettingDescription

AVP Name

The name of the AVP.

AVP Code

The numeric id of the AVP.

Vendor ID

The number that represents the vendor. The default value is 0 (zero).

AVP Type

The data type of the AVP.

Selecting Enumeration or Grouped reveals configuration options in the Enumeration/Group Properties table.

Mandatory ('M') Bit

The M-bit allows the sender to indicate to the receiver whether or not understanding the semantics of an AVP and its content is mandatory. If the M-bit is set by the sender and the receiver does not understand the AVP or the values carried within that AVP, then a failure is generated. For further information about the M-bit, see the Diameter Base Protocol (RFC 6733).

The following applies for incoming and outgoing messages that contains the configured AVP:

MUST:The M-bit is set to 1 in outgoing messages and must be set to 1 in incoming messages.

MAY:The M-bit is set to 0 or 1 (configurable in the Advanced tab) in outgoing messages and may be set to 0 or 1 in incoming messages.

SHOULD:The M-bit is set to 0 in outgoing messages and may be set to 0 or 1 in incoming messages.

MUST NOT:The M-bit is set to 0 in outgoing messages and must be set to 0 in incoming messages.

You can change the value of the M-bit from APL if Mandatory ('M') Bit is set to MAY or SHOULD.

Protection ('P') Bit

 The P-bit bit is reserved for future usage of end-to-end security.

Enumeration/Group Properties

This table is accessible for editing only when AVP Type is configured as Enumerated or as Grouped. This table enables you to add, edit, or remove AVPs or enumeration values. For further information about the tables columns and entries, see the section above, To Add a Diameter Command Specification.

To Edit an AVP

To open the Edit Diameter AVP Specification configuration, click the Edit icon  at the bottom of the AVPs tab.

The Edit Diameter AVP dialog is identical to the Add Diameter AVP Specification dialog. The same description applies for editing an AVP specification.

CER/CEA Tab

The identifiers in this tab define the advertised applications for the capabilities handshake. They are used whenever the Diameter Stack agent initiates or responds to a new transport connection, in order to negotiate the compatible applications for the link.

For further information about Authentication and Accounting Applications, see Diameter Base Protocol (RFC 6733).

The Diameter Application Profile Editor - CER/CEA Tab

Auto-Populate

Click this button to add Application IDs, that are used in any of the commands, to the Application ID table.

In the Vendor Specific Applications table, available Vendor IDs are extracted from the AVPs tab into the Vendor ID column.

Note!

Auto-Populate cannot populate Vendor ID and Application ID into a Vendor Specific Applications table if a vendor specific application command is configured in the command tab. This means that a command includes a Vendor-Specific-Application-Id AVP.

Application IDs Table

ItemDescription

Application ID

Numeric codes of the supported applications.

Authentication

Select and check to flag an application with Authentication.

Accounting

Select and check to flag an application with Accounting.


Vendor Specific Applications Table

ItemDescription

Vendor ID

Enter the numeric code of the vendor

Auth App ID

Enter the vendor specific authentication application ID.

Acct App ID

Enter the vendor specific accounting application ID.

Advanced Tab

The Advanced tab contains additional settings.

The Diameter Application profile - Advanced tab

SettingDescription
Default Outgoing 'M' Bit Set to 1 When Flag Rule MAY Is SelectedWhen this check box is selected and Mandatory ('M') Bit is set to MAY in the AVPs tab, the M-bit will be set to 1 in outgoing messages.