About this task
Connections and routes are initially configured when you
install and set up
Diameter Enabler.
You can configure additional connections and routes as needed. Independently
configure each connection by substituting the connection number for
the
x in
conx. Configure the remotePeerOriginHostName
for your first connection using
con1.remotePeerOriginHostName=name.domain.com.
All other properties for that connection begin with
con1.
Use
con2 for the next connection, and continue numbering
the connections sequentially. Add routes to the routing table for
each of
Rf accounting Web service,
Ro online charging Web service,
and
Sh subscriber profile Web service.
A route ties the final destination (realm name) to the specific connection
where
Diameter Enabler will
send the Diameter packet.
Important: RFC 3588 defines
a maximum of one connection between any two Diameter peers. Therefore,
if you are using Rf accounting Web service, Ro online charging Web service,
and Sh subscriber profile Web service to
access a peer, they must share a single connection. For shared connections,
the connection configuration information must be identical in each
of the properties files that plans to use the connection.
Note: In
case of a clustered installation, repeat these steps for each node
in the cluster.
- Open Diameter_Rf.properties, Diameter_Ro.properties,
and Diameter_Sh.properties in a text editor. The files can be found in the following location:


was_profile_root/properties/
Note: was_profile_root is
the directory for a
WebSphere® Application Server
Network Deployment profile
called
profile_name. By default, this directory
is:
/usr/IBM/WebSphere/AppServer/profiles/profile_name
/opt/IBM/WebSphere/AppServer/profiles/profile_name
/opt/IBM/WebSphere/AppServer/profiles/profile_name
For example, AppSrv01 in a standalone environment,
or Custom01 as the name of a federated node profile in a clustered
environment.
- Modify the value of conx.remotePeerOriginHostName to
change the name of the peer that you will be setting your TCP connection
with. The remotePeerOriginHostName is
required for the connection conx, and must be a
fully qualified domain name.
- Optional: Modify the value of conx.remotePeerIpAddress to
set the IP address of the peer. If you do not configure
the remotePeerIpAddress, Diameter Enabler base will
perform a name resolution on the remotePeerOriginHostName. If Diameter Enabler base performs
the resolution successfully, it will use the resolved IP address to
set up the connection.
- Optional: Modify the value of conx.remotePeerPort to
change the TCP port number of the peer. The default value
is 3868. If specified, Diameter Enabler base will
set up the TCP connection using this port number.
- Optional: Modify the value of conx.inbandSecurityPolicy to
change whether or not TLS is required for all transactions. Valid
settings are 0 or 1. The value 0
= PROHIBIT_TLS will not allow Diameter Enabler base to
use TLS for this connection. The value 1 = REQUIRE_TLS requires Diameter Enabler base to
use TLS for this connection. The default value is 0 (PROHIBIT_TLS).
- Optional: Modify the value of conx.watchDogTimeout to
change the number of seconds a connection can be inactive before Diameter Enabler base sends
a watchdog packet to the peer. Valid values are 0 and any whole integer
between 6 and 2147483647. The default value is 30.
If you set the value to 0, Diameter Enabler base does
not send a watchdog packet to the peer.
- Optional: Modify the value
of conx.maxWatchDogExpirations to change the number
of watchdog timeouts after which Diameter Enabler base declares
the connection suspect and starts failover processing to the secondary
connection. The default value is 2. The valid values
are 0, and any value between 2 to 2147483647. If you set this value
to 0, Diameter Enabler base will
suspend the failure monitoring, and it will not start failover processing
on this connection.
Example:
For a setting of 2, when the watchdog timeout occurs, Diameter Enabler will
send the first watchdog request. When the second watchdog timeout
occurs, this connection and the associated routes will start failover
processing.
- Optional: Modify the value of conx.includeOriginStateId to
indicate whether or not Diameter Enabler should
transmit the Origin-State-Id AVP in Diameter base packets (CER/CEA)
for this connection. A setting of true indicates Diameter Enabler should
transmit the Origin-State-Id AVP in Diameter base packets (CER/CEA).
A setting of false indicates the WebSphere Diameter
Enabler should not transmit the Origin-State-Id AVP in Diameter base
packets (CER/CEA). The default value is false.
- Optional: Modify the value of conx.includeFirmwareRevision to
indicate whether or not Diameter Enabler should
transmit the Firmware-Revision AVP in Diameter base packets (CER/CEA)
for this connection. A setting of true indicates Diameter Enabler should
transmit the Firmware-Revision AVP in Diameter base packets (CER/CEA).
A setting of false indicates the WebSphere Diameter
Enabler should not transmit the Firmware-Revision AVP in Diameter
base packets (CER/CEA). The default value is false.
- Optional: Modify the value
of conx.maxPendingQueueLength to change the number
of requests the pending queue stores before rejecting new requests. The default setting is 30.
Each request,
when processed by the Diameter Enabler,
is stored to the Pending Queue until the response to that request
is received back or the request times out. So, if you are designing
a system that requires a large number of requests, you may want to
increase this value to a large number such as 15000. However, large
queues will take up a greater amount of memory depending on the sizes
of the messages held in these queues. Consequently, fine-tuning may
be required to balance the trade-off in memory usage versus the number
of packet transactions that can be in progress at any one time.
- Optional: Modify the value
of conx.sourcePort to change the source port that
is used when initiating a connection to a Diameter peer. The default value is 0.
Valid values are any
integer from 1 to 65535 that is not already in use. A value of zero
(0) is valid, but configures the connection to be set up with an ephemeral
source port chosen by the operating system. An ephemeral source port
changes every time the connection is brought up.
- Optional: Modify the
value of conx.reconnectInterval to change the number
of seconds a connection will wait before attempting to reconnect with
a peer. The default setting is 30. Valid values are any integer between
30 and 2147483647.
- Optional: Modify the value of conx.packetTimeout to
indicate the number of seconds that a request packet will remain on
the pending queue waiting for a response packet before Diameter Enabler removes
it and notifies the application of a timeout. The default value is
30.
The packet timeout works in conjunction with the
pending queue length to keep the system from backing up. You should
set the timeout based on the expected response times from the Diameter
Server that you are working with. In general, you should set this
value substantially higher than the expected average response time.
Packets that expire are removed from the pending queue, and an exception
is thrown to the application that placed the initial request.
- Set three values for each of a maximum 20 routes with the
property named routex, where x is
a number between 1 and 20. All three fields are required:
- Save and close Diameter_Rf.properties, Diameter_Ro.properties,
or Diameter_Sh.properties.
- Restart Rf accounting Web service, Ro online charging Web service,
or Sh subscriber profile Web service.
Example
Here is a example of one connection configuration:
con1.remotePeerOriginHostName = shserver.yourcompany.com
con1.remotePeerIpAddress = 1.2.3.4
con1.remotePeerPort = 3868
con1.inbandSecurityPolicy = 1
con1.watchDogTimeout = 30
con1.maxWatchDogExpirations = 2
con1.includeOriginStateId = false
con1.includeFirmwareRevision = false
con1.maxPendingQueueLength = 30
con1.sourcePort = 4444
con1.reconnectInterval = 30
con1.packetTimeout = 30
Here is an example of three
possible route configurations:
route1 = DEFAULT:con1:PRIMARY
route2 = serviceprovider.example.com:con2:PRIMARY
route3 = serviceprovider.example.com:con3:SECONDARY