Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Diameter Base Protocol
Introduction of Diameter
Diameter Base Protocol Diameter Applications Types of Diameter nodes
Signaling in EPS
Introduction to Diameter
Diameter is an authentication, authorization and accounting protocol for computer networks It is a successor to RADIUS It was initially developed by Pat R. Calhoun, Glen Zorn and Ping Pan in 1998 The Diameter base protocol is defined by RFC 3588 (Obsoleted by RFC 6733) Diameter Applications can extend the base protocol, by adding new commands and/or attributes
Diameter overview
AAA protocol that improves and can replace Radius TCP or SCTP as reliable transport protocol Diameter Security provided by IPsec or TLS TCP SCTP One Diameter session can carry many connections that consist of transactions (request - answer pairs)
Base Protocol
Base protocol defines basic principles
Message format that is based on attribute-value (AVP) pairs Transport connection setup, monitoring and failover Request routing Error reporting & security Relaying, proxying, redirection and translation of messages
Functionality common to all supported services. The base Diameter protocol is never used on its own. It is always extended for a particular application, which defines DIAMETER command codes
Diameter Applications
A Diameter Application is not a software application It is a protocol based on the Diameter base protocol Each application is defined by an application identifier New command codes and/or new mandatory AVPs can be added Adding a new optional AVP does not require a new application
JMi / 11/2007
Agent
Server
Discovery via DNS or Static Configuration A Capabilities Exchange message carries a peer's identity and its capabilities (protocol version number, supported Diameter applications, etc.). A Diameter node only transmits commands to peers that have advertised support for the Diameter application associated with the given command. Application-level heartbeat messages are used to proactively detect transport failures. These messages are sent periodically when a peer connection is idle and when a timely response has not been received for an outstanding request. There are two types of messages, Requests and Answers.. Every answer message carries a Result-Code AVP. The data value of the Result-Code AVP is an integer code indicating whether a particular request was completed successfully or whether an error occurred.
All Diameter answer messages defined in IETF applications MUST include one Result-Code AVP. A non-successful Result-Code AVP (one containing a non 2xxx value other than DIAMETER_REDIRECT_INDICATION) MUST include the Error-Reporting-Host AVP if the host setting the Result-Code AVP is different from the identity encoded in the Origin-Host AVP. Diameter provides the following classes of errors, all identified by the thousands digit in the decimal notation:
1xxx (Informational) 2xxx (Success) 3xxx (Protocol Errors) 4xxx (Transient Failures) 5xxx (Permanent Failure)
Command is a Request or Response. Both have the same command code. Commands are used to exchange information between peers. A command is identified by its code, flags and application id. For every Request command theres an Answer command. The information is carried as list of AVPs.
JMi / 11/2007
JMi / 11/2007
Operation Modes
Event Based
A single CCR/CCA exchange in each session Used when it is sure that requested service event will be successful
Session Based
Multiple CCR/CCA exchanges in a session Required when there is a need to reserve credits before providing the service Requires state maintenance on the server side Server first reserves the credits and debits them after receiving the subsequent CCR
CC-Request-Number AVP
Identifies a request within a session
Requested-Action AVP
Used to indicate type of the requested action for event based scenarios. Possible values are DIRECT_DEBITING, REFUND_ACCOUNT, CHECK_BALANCE and PRICE_ENQUIRY
Server
Server
Thank You