2 Diameter Message Encoding

Overview

Introduction

This chapter details the Diameter Control Agent (DCA) compliances.

Diameter Message Encoding

Introduction

The DCA client will send (and expect to receive) Diameter messages that have a basic encoding in compliance with RFC 6733.

Diameter Headers

The header of Diameter messages sent by DCA are fully compliant with RFC 6733.

The individual parameters are:

Field Type/Length Comment
Version 1 byte Always set to 1.
Message Length 3 bytes Length includes header fields.
Command Flags 1 byte

Format: RPETrrrr

All set as per RFC 6733.

Command Code 3 bytes

Will be one of:

  • 257 (CER/A)
  • 258 (RAR/A)
  • 280 (DWR/A)
  • 282 (DPR/A)
  • 272 (CCR/A)
Application ID 4 bytes Set to 4 for CCRs, 0 for all other message types.
Hop-by-hop identifier Unsigned32; 4 bytes Set as per RFC 6733.
End-to-end identifier Unsigned32; 4 bytes Set as per RFC 6733.

Attribute-Value Pairs (AVPs)

The header on an AVP consists of the following fields:

Field Type/Length Comment
AVP Code 4 bytes  
AVP Flags 1 byte

Format: VMPrrrrr:

V is vendor bit. Will be set only if a vendor-ID is used.

M is mandatory bit: If the AVP Code is from RFC 6733 or 4006, the bit is set. Otherwise (for example, a vendor specific AVP code), the bit is not set.

P is an encryption indicator. Set to 0.

AVP Length 3 bytes AVP length in bytes, including these header fields.
Vendor-ID 4 bytes Will be 0 for RFC 6733 and 4006 AVPs, or 111 for Oracle specific AVPs.
Data   As specified by the AVP code and length.

AVP Data Types

The DCA can send and receive all the basic and derived data types mentioned in RFC 6733, except Float32 and Float64. Where the data types are used, they are encoded in complete compliance with RFC 6733 and RFC 2279.

INAP extensions

The following may be mapped to or from INAP extensions:

  • OctetString
  • Integer32
  • Integer64
  • Unsigned32
  • Unsigned64
  • Address
  • Time
  • UTF8String
  • DiameterIdentity
  • DiameterURI
  • Enumerated

Note: The OctetString type can have number values as an array of either ASCII characters or integers.

Extension formats

Supported INAP extension formats are:

  • inapnumber
  • asn1integer
  • octets
  • encoded (as ACS Profile Block)

INAP fields

As an alternative to extension formats, DCA also support mapping of AVPs to (Inbound) or from (Outbound) INAP Fields. Supported INAP Fields are:

INAP Field Direction
AdditionalCallingPartyID Inbound only
CalledPartyBCDNumber Inbound only
CalledParty Inbound only
CallingParty Inbound, Outbound
Cause Outbound only
DestinationRoutingAddress Outbound only
IMSI Inbound only
LocationInformation Inbound only
LocationNumber Outbound only
MaxCallDuration Outbound only
MscAddress Inbound only
OriginalCalledParty Inbound, Outbound
RedirectingPartyID Inbound, Outbound

Note:

Inbound direction (Diameter AVP to INAP Field)

Outbound direction (INAP Field to Diameter AVP)