3 Connection Management

Overview

Introduction

This chapter covers the connection management compliances.

Introduction

Introduction

The DCD client will both initiate and receive connections in accordance with RFC 6733 or Diameter Base Protocol Draft 8. However, the DCD will only allow connections from peers that are in its configured list. CERs from unknown peers will have a CEA message sent before the client closes the connection. The client will perform elections as specified in RFC 6733. Connections can be over either TCP or SCTP.

To manage the connections, the following messages from RFC 6733 are used:

  • Capabilities Exchange Request (CER)
  • Capabilities Exchange Answer (CEA)
  • Device Watchdog Request (DWR)
  • Device Watchdog Answer (DWA)
  • Disconnect Peer Request (DPR)
  • Disconnect Peer Answer (DPA)

Capabilities Exchange Messages

Capabilities Exchange Messages

The DCD will send both CER and CEA messages, as instructed by RFC 6733. Alternatively Diameter Base Protocol Draft 8 compliant CER and CEA messages may be exchanged if so configured.

The content of the individual fields is as follows:

Field AVP Code Data Type Comment
Origin-Host 264 DiameterIdentity Set from configuration.
Origin-Realm 296 DiameterIdentity Set from configuration.
Host-IP-Address 257

Address (RFC 6733)

OR

IPAddress (Draft 8)

Set from configuration.
Vendor-ID 266 Unsigned32 Set from configuration (eServ vendor ID is 16247)
Product-Name 269 UTF8String Set from configuration
Origin-State-Id 278 Unsigned32 Can be set from configuration. Due to the multiple process nature of slee_acs, this should not be set, and this AVP will then not be included.
Supported-Vendor-Id 265 Unsigned32 Not included.
Auth-Application-Id 258 Unsigned32 Set from configuration.
Inband-Security-Id 299 Unsigned32 Set to 0 (NO_INBAND_SECURITY). Not included if Draft 8 compliance is enabled.
Acct-Application-Id 259 Unsigned32 Set from configuration. If not set, then not included.
Vendor-Specific-Application-Id 260 Grouped Set from configuration. If not set, then not included.
Firmware-Revision 267 Unsigned32 Not included.
Result-Code 268 Unsigned32 Set as per RFC 6733 or Diameter Base Protocol Draft 8 if configured as such.
Error-Message 281 UTF8String Human readable string, as per RFC 6733.
Failed-AVP 279 Grouped Set as per RFC 6733.

Device Watchdog Messages

Device Watchdog Messages

The DCD will send and respond to DWR message as instructed by RFC 6733.

The length of the silent interval that must precede a DWR message is configurable.

The possible fields are as follows:

Field AVP Code Data Type Comment
Origin-Host 264 DiameterIdentity Set from configuration.
Origin-Realm 296 DiameterIdentity Set from configuration.
Origin-State-Id 278 Unsigned32 Can be set from configuration. Due to the multiple process nature of slee_acs, this should not be set, and this AVP will then not be included.
Result-Code 268 Unsigned32 Set as per RFC 6733 or Diameter Base Protocol Draft 8 if configured as such.
Error-Message 281 UTF8String Human readable string, as per RFC 6733.
Failed-AVP 279 Grouped Set as per RFC 6733.

Disconnect Peer Messages

Disconnect Peer Messages

A literal interpretation of RFC 6733 could assume that after receiving a DPR message, the client should never again attempt to reconnect the connection.

The possible fields are as follows:

Field AVP Code Data Type Comment
Origin-Host 264 DiameterIdentity Set from configuration. Default is hostname.
Origin-Realm 296 DiameterIdentity Set from configuration. Default is hostname
Disconnect-Cause 273 Enumerated The only cause sent by the DCD is 2, DO_NOT_WANT_TO_TALK_TO_YOU
Result-Code 268 Unsigned32 Set as per RFC 6733.
Error-Message 281 UTF8String Human readable string, as per RFC 6733.
Failed-AVP 279 Grouped Set as per RFC 6733.

Failover

Copy of Failover

The DCD supports several failover models, depending on the logical distribution of subscriber accounts across billing engines. CCS allows a subscriber account (CCS "Wallet") to be in multiple realms (although only one realm is recommended). The DCD will also allow several peer connections within a single realm.

The selection of which realm when one account is in multiple realms can be via a proportional distribution, or a round-robin selection model. The selection of which peer for a realm can be via a proportional distribution, or a round-robin selection model.

If a request fails to get a response, retransmitting to another peer within the realm will be tried a configurable number of times. If this is exhausted, and the request is an INITIAL or EVENT request, then resubmitting to another realm will be tried, if one is available. Failover across a realm is only permitted once for each request.

A change in a received Origin-State-Id will never initiate failover of sessions.

Session failover behavior is only performed if permitted by the most recent CC-Session-Failover AVP received in the session. The initial behavior (until overridden by the CC-Session-Failover AVP) is configurable.

In addition to the behavior above, it is possible to group together peers into sets where only one of the peer will be used at any time. The currently active peer of a group will be the only connection opened, and will remain active until the connection fails. At that point the next peer will become active, and remain active until it fails.