...
To define a Diameter Routing profile, click on the New Configuration button and then select Diameter Routing profile in the menu.
Routing Tab
The Diameter Routing profile configuration - Routing tab
Peer Table
A Diameter Stack agent that uses the Diameter Routing profile maintains transport connections with all the hosts that are defined in the Peer table list. Connections and handshakes of hosts that are not in this list are rejected with the appropriate protocol errors. Note that will actively try to establish connections to any hosts that are included in this list, unless the Do Not Create Outgoing Connections option is checked in the Diameter Stack agent.
Item | Description | |||||
---|---|---|---|---|---|---|
Hostname | The hostname (case sensitive) or IP address of a Diameter Identity. For example: ggsn01.vendor.com.
| |||||
Port | The port to connect to when initiating transport connections with a peer. For example: 3868. | |||||
Protocol | The transport protocol to use when initiating a peer connection. The following settings are available:
When TCP/TLS is selected, the Diameter Stack requires a secure connection from this host. You configure this feature by setting the Keystore Path and the Keystore Password in the Diameter Stack agent. For further information, see the section, Advanced Tab, in Diameter Stack Agent Configuration.
| |||||
Throughput Threshold | If throttling has been enabled for the peer, this field will show the configured threshold for when transmissions of request UDRs should be throttled. Throttled UDRs will be routed back into the workflow. For example: 1.000 (which means a maximum of 1.000 UDRs/second will be transmitted).
| |||||
On Connection from Unknown Peer | When unknown peers try to connect to the Diameter Stack, you can configure how such connection attempts are to be handled. You can choose from three options from the drop box:
|
To Add a Host
In the Diameter Routing Profile , click on the Add button beneath the Peer Table .
The Add Host dialog opens.
The Diameter Routing Profile - Adding a Host
Enter the host name and port for the host in the Hostname and Port fields.
Select protocol in the Protocol drop-down-list.
If you want to enable throttling for the peer, select the Enable Throttling check box, and then enter the maximum number of request UDRs per second you want the Diameter Stack agent to transmit to the peer in the Throughput Threshold (UDR/s) field.
Note title Note! Ensure that you handle the throttled UDRs in your APL code in the workflow in order to not loose any UDRs.
Click on the Add button and the host will be added in the Peer Table , and then click on the Close button to close the dialog when you are finished adding hosts.
Anchor | ||||
---|---|---|---|---|
|
Realm Routing Table
Realm-based routing is performed when the Destination-Host AVP is not set in a Diameter message. All realm-based routing is performed based on lookups in the Realm Routing Table.
...
Item | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Realm Routing Strategy | Diameter requests are routed to peers in the realms in accordance with the selected Realm Routing Strategy. The following settings are available:
The table below contains examples of how Diameter requests are routed to the peers of a realm, with the Round Robin strategy, depending on the peer connection state:
Diameter request are not routed to peers that are specified in the | ||||||||||||||||||||||||||||
Enable Dynamic Peer Discovery | Select this check box when you want to use DNS queries (dynamic peer discovery) to find peer hosts in realms. The queried peer host information is buffered by the Diameter Stack agent according to the TTL (time to live) parameter in the DNS records. When the TTL has expired, the agent will attempt to refresh the information. If the refresh fails, the buffered information will be deleted. When Enable Dynamic Peer Discovery is selected, DNS queries are performed at:
For information about how to select DNS servers, see the section below, DNS tab. | ||||||||||||||||||||||||||||
Realm | The realm name (case sensitive) . Realm is used as primary key in the routing table lookup. If left empty, all the destination realms are valid for this route. For example: address.com. | ||||||||||||||||||||||||||||
Applications | The applications that this route serves. This entry is a used as a secondary key field in the routing table lookup. If left empty all the applications are valid for this route. For example: 3,4. | ||||||||||||||||||||||||||||
Hostnames | A list of all the peer hosts in the realm. The hostnames must be selected from the Peer Table. When Node Discovery is set to Dynamic, you should leave this field empty. | ||||||||||||||||||||||||||||
Node Discovery | The method of finding the peer hosts in the realm: Static - The peer hosts are specified in the Hostnames field of the Realm Routing Table. Dynamic - The Diameter Stack agent uses DNS queries (dynamic peer discovery) to find the peer hosts. These queries may resolve to multiple IP addresses or hostnames. In order to use this setting, you may need to add DNS servers to the network interfaces of your system.
When a DNS server resolves a realm to peer hosts, it may return fully-qualified DNS domain names with a dot at the end. These trailing dots are removed by the Diameter Stack agent. |
To Add a Realm
- In the Diameter Routing Profile, click on the Add button beneath the Realm Routing Table.
The Add Route dialog opens.
The Diameter Routing profile - Adding a Realm
Enter the realm name in the Realm text box.
If the realm serves specific applications, click on the Add button beneath the Applications list box and specify the Application Id. Repeat this step for each application.
You should only perform this step if Peer Discovery is set to Static and the peer hosts are to be specified in the Realm Routing Table. Click on the Add button beneath the Hostname list box and select a host from the drop-down list. Repeat this step for each host in the realm.
If you specified the peer hosts of the realm in the previous step, select Static from Peer Discovery. If you want to use dynamic peer discovery instead, select Dynamic from this drop-down list.
Click on the Add button and the realm will be added in the Realm Routing Table, and then click on the Close button to close the dialog when you are finished adding realms.
DNS Tab
The Diameter Routing profile - DNS tab
...
If the DNS Servers list is empty, the Diameter Stack agent will use the file /etc/resolv.conf
on the Execution Context host to select the DNS server. For information about how to configure resolv.conf, see your operating system documentation.
To Dynamically Update the Diameter Routing Profile
You can refresh the routing table of a Diameter Stack agent while a workflow is running. When the agent refreshes the routing table, it reads the updated Peer Table, Realm Routing Table and Realm Routing Strategy from the selected Diameter Routing Profile.
...
In the Workflow Monitor, double-click the Diameter Stack agent to open the Workflow Status Agent configuration.
In the Command tab, select the Update Routing Table button to refresh the routing table.
Command Line Tool
Run the following command:
...
Info | |||||||
---|---|---|---|---|---|---|---|
| |||||||
|
To Read the Realm Routing Table in APL
You can use the Diameter Stack MIM value Realm Routing Table to read the realm routing table of a Diameter Stack Agent from APL. The MIM value is of the map<string,map<string, list<string>>> type and is defined as a global MIM context type. The string values in the outer map contain the realm names (primary key). The string values of the inner map contain the applications (secondary key). The lists in the map contain the hostnames of the peers in the realm.
...