SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Diameter 
Beny Haddad
Agenda 
• Origin of Diameter 
• Main Features of Diameter 
o Diameter Base protocol 
o Type of Diameter Nodes 
• Main Applications 
• Messages Overview 
Company Confidential 2
Why did we need 
Diameter? 
• Diameter is an 
Authentication, Authorization 
and Accounting protocol 
(AAA) for computer 
networks, and an alternative 
to RADIUS. 
• Diameter provides an 
upgrade path for the “old” 
RADIUS (Remote 
Authentication Dial In User 
Service) and solves several 
limitations. 
In the early 1990s, Radius has 
been developed to control 
Dial-in access
AAA 
• Authenticate users or devices before granting them 
access to a network 
• Authorize those users or devices for certain network 
services 
• Account for usage of those services 
Company Confidential 4
DIAMETER = 2 * 
RADIUS 
RADIUS DIAMETER 
Reliable 
transport 
No (uses UDP) TCP, SCTP 
Failover Not defined by 
standard 
Failover is defined for 
network errors and actions 
Security Not mandatory and not 
end to end 
Mandatory and end to end 
Agent roles Not defined (other 
then client and server) 
Defines many (such as 
proxy, relay and redirect) 
Transactions ID up to 255, other 
implicit methods 
End to end and node by 
node each 2^32 range 
Vendor specific Not explicit Through negotiation 
Dynamic 
configuration 
No Defined in the standard 
5
Main features of 
Diameter 
Company Confidential 6
Diameter - Basic Functionality 
Diameter 
Client Application 
Session Management 
Diameter Tutorial - IETF67 
Diameter Server Node at otherrealm.com 
Diameter 
Server Application 
Routing Management 
Connection 
Management 
Session Management 
Routing Management 
Connection 
Management 
Diameter Client Node at somerealm.com 
Base Protocol Base Protocol
Diameter - Basic Functionality 
• Base Protocol 
– Connectivity: Peering and Routing 
– Application support: Application session management 
• Applications 
– Purpose specific: Gx, Gy, etc 
– Identified by application Id 
• Every application MUST have an IANA-assigned application 
identifier 
• Used also for diameter message routing 
- Define the Commands (e.g. CCR/CCA, RAR/RAA) 
- Defines the AVP (Attribute/Value Pair) fields (e.g. Origin-Host) 
Diameter Tutorial - IETF67
Diameter – Message Format 
• Diameter Message: 
Diameter Header AVP AVP AVP 
Version, Diameter Header = Length, Flags, Code, AppId, H2H Id, E2E Id 
AVP Header = Code, Flag, Length, Vendor-Id (Opt) 
Diameter Tutorial - IETF67 
AVP Header AVP Data 
• Each message must be defined using an ABNF grammar 
• Pre-defined AVP data types (Integer32, Float, OctetString etc.)
Diameter ABNF Conventions 
Symbol Example Meaning Occurrences 
<XXX> ::= <X, F> <CER> ::= < 
Diameter Header: 
257, REQ > 
Diameter Tutorial - IETF67 
Command Code, Flags 1 
< AVP > < Session-Id > Required AVP 
At this place (first) 
1 
{ AVP } { Origin-Host } Required AVP 1 
1* { AVP } 1* { Host-IP-Address 
} 
Required AVP,Can 
appear more than once 
1+ 
[ AVP ] [ Origin-State-Id ] Optional AVP 0,1 
*[ AVP ] * [ Supported- 
Vendor-Id ] 
Optional AVP, Can 
appear more than once 
0+
Diameter ABNF Example 
<CER> ::= < Diameter Header: 257, REQ > /* Command Code, Flags */ 
< Session-Id > /* Required AVP, Occurrence: 1 At this place 
(first) */ 
{ Origin-Host } /* Required AVP, Occurrence: 1 */ 
{ Origin-Realm } 
1* { Host-IP-Address } /* Required AVP, Occurrence: 1+ */ 
{ Vendor-Id } 
{ Product-Name } 
[ Origin-State-Id ] /* Optional AVP, Occurrence: 0 or 1 */ 
* [ Supported-Vendor-Id ] /* Optional AVP, Occurrence: 0+ */ 
* [ Auth-Application-Id ] 
* [ Inband-Security-Id ] 
* [ Acct-Application-Id ] 
* [ Vendor-Specific-Application-Id ] 
[ Firmware-Revision ] 
* [ AVP ] 
Diameter Tutorial - IETF67 
Note: /* */ is not part of ABNF
Capabilities Exchange 
• Capabilities Exchange 
– Use of Capabilities-Exchange (CER/CEA) messages 
– Message exchange advertises: 
• Peer Identity 
• Security schemes – Indicates the use of TLS 
• SCTP host addresses if used 
– CER/CEA may or may not be protected 
• Peer Table Creation 
– Lists all peers that passes capabilities negotiation 
– Indicates the connection status of each peers 
– Also used for message routing 
Diameter Tutorial - IETF67
Diameter Sessions – definitions 
• What is a session? 
o A session is a related progression of events devoted to a 
particular activity 
• Applications provide guidelines as to when a 
session begins and ends 
• Sessions are identified by Session-Id 
o Globally and eternally unique 
<DiameterIdentity>;<high 32 bits>;<low 32 bits>[;<optional value>] 
• DiameterIdentity: Senders identity in FQDN 
• High and Low 32 bits: Decimal representation of a 64-bit value, 
monotonically increased 
• Optional value: Implementation specific, i.e. MAC address, timestamp 
etc 
Diameter Tutorial - IETF67
Types of Diameter Nodes 
• Diameter Clients and Servers 
– Request and Answer Originators 
• Where application normally reside 
– Advertises supported applications only 
• Diameter Agents 
– Request and Answer forwarders 
– Adds routing information to the message 
– Relay Agents 
• Provides basic message forwarding 
• Does not inspect content of the message other than Destination- 
Host and/or Realm and AppIds 
• Advertises support all applications 
Diameter Tutorial - IETF67
Types of Diameter Nodes – (cont.) 
– Proxy Agents 
• Inspects and possibly modifies contents of the request or answer it is 
forwarding. 
– Useful in scenarios such policy enforcement, admission control, 
provisioning etc 
– Can maintain session state 
• Examples: Translation agents, RADIUS<->DIAMETER 
– Re-Direct Agents 
• Does not forward messages but notifies the previous hop of the new 
next-hop to use 
• Advertises support all applications 
Diameter Tutorial - IETF67
Types of Diameter Nodes 
Relay/Proxy 
Agent 
realmA.com realmB.com 
Diameter Tutorial - IETF67 
Redirect 
Agent 
Client 
2. Request 3. Redirect Notification 
1. Request 
4. Request 
6. Answer 5. Answer 
Request/Answer Path: 
• Normal Relay or Proxy: 1, 4, 5, 6 
• Re-directed Agent: 1, 2, 3, 4, 5, 6 
Server
Main Applications 
Company Confidential 17
Main Applications in 3gpp 
Policy: 
- Gx 
- Rx 
- S9 
- Sd 
Charging: 
- Gy 
- Gz (Rf) 
- Sy 
Subscriber Info: 
- Sh 
Company Confidential 18
Gx/Rx Application 
• Gx: 
o Interface between the PCEF (Policy and Charging Enforcement Function) 
and the PCRF (Policy Control and Charging Rule Function) 
o PCRF provides PCC rules (QoS and Charging rules) to PCEF at session 
establishment 
o PCRF can push PCC Rules for new bearers creation 
• Rx: 
o Interface between the AF (Application Function) and the PCRF 
o Enables 3rd party applications (IMS, SBC, etc) to create dynamically 
bearers 
Company Confidential 19
Gy/Gz Application 
• Gy: 
o Diameter Credit Control Application (DCCA) 
o Online Charging 
o OCS (Online Charging) Allocates Quotas to PCEF 
• Gz: 
o Offline Charging 
o Also known as Rf 
o Report usage to OFCS (Offline Charging) 
Company Confidential 20
Messages overview 
Company Confidential 21
Message Flow 
• Transport (TCP/SCTP) 
• Capabilities Exchange 
• Messages (CCR/CCA, etc) 
• Watch Dog 
• Disconnect 
• Transport Disconnect 
Company Confidential 22
Messages 
Message name Abbreviation Command code 
Capabilities-Exchanging-Request CER 257 
Capabilities-Exchanging-Answer CEA 257 
Device-Watchdog-Request DWR 280 
Device-Watchdog-Answer DWA 280 
Credit-Control-Request CCR 272 
Credit-Control-Answer CCA 272 
Re-Auth-Request RAR 258 
Re-Auth-Answer RAA 258 
Session-Termination-Request STR 275 
Session-Termination-Answer STA 275 
Disconnect-Peer-Request DPR 282 
Disconnect-Peer-Answer DPA 282 
Company Confidential 23
Gx Interface 
Rx 
AF 
Policy and Charging 
Rules Function 
(PCRF) 
Gx 
PCEF 
GW 
Online Charging System (OCS) 
Subscription Profile 
Service Data Flow 
Based 
Credit Control 
CAMEL 
SCP 
Repository 
(SPR) 
Gy 
Gz 
Sp 
Offline 
Charging 
System 
(OFCS) 
Company Confidential 24
Gx Messages - CCR 
• CCR command: sent by the PCEF to PCRF for 2 
purposes: 
o To request from PCRF for PCC rules for a bearer 
o To indicate bearer or PCC rule related events or the termination of the IP 
CAN bearer and/or session 
Company Confidential 25
Gx Messages - CCR 
<CCR> ::= < Diameter Header: 272, REQ, PXY > 
< Session-Id > 
{ Auth-Application-Id } 
{ Origin-Host } 
{ Origin-Realm } 
{ Destination-Realm } 
{ CC-Request-Type } 
{ CC-Request-Number } 
[ Destination-Host ] 
[ CC-Subsession-Id ] 
[ Origin-State-Id ] 
*[ Subscription-Id ] 
[ Framed-IP-Address ] 
*[ Framed-IPv6-Prefix ] 
[ 3GPP-RAT-Type ] 
[ Termination-Cause ] 
[ User-Equipment-Info ] 
{ 3GPP-GPRS-Negotiated-QoS-Profile } 
[ 3GPP-SGSN-MCC-MNC ] 
[ 3GPP-SGSN-Address ] 
[ 3GPP-SGSN-IPv6-Address ] 
[ Called-Station-ID ] 
[ Bearer-Usage ] 
[ TFT-Packet-Filter-Information ] 
* [ Proxy-Info ] 
* [ Route-Record ] 
*[ AVP ] 
Company Confidential 26
Gx Messages - CCA 
• The CCA command is sent from the PCRF to PCEF 
as a response to a CCR command. 
• It provides the PCEF with 
o PCC rules and event triggers for the bearer/session 
o Selected bearer control mode for the IP-CAN session 
Company Confidential 27
Gx Messages – CCA (cont) 
<CCA> ::= < Diameter Header: 272, PXY > 
< Session-Id > 
{ Auth-Application-Id } 
{ Origin-Host } 
{ Origin-Realm } 
[ Result-Code ] 
[ Experimental-Result ] 
[ CC-Request-Type ] 
[ CC-Request-Number ] 
[ CC-Sub-Session-Id ] 
*[ Event-Trigger ] 
[ Origin-State-Id ] 
*[ Charging-Rule-Remove ] 
*[ Charging-Rule-Install ] 
[ Primary-CCF-Address ] 
[ Secondary-CCF-Address ] 
[ Primary-OCS-Address ] 
[ Secondary-OCS-Address ] 
[ Error-Message] 
[ Error-Reporting-Host ] 
*[ Failed-AVP ] 
*[ Proxy-Info ] 
*[ Route-Record ] 
*[ AVP ] 
Charging-Rule-Install ::= < AVP Header: 1001 > 
*[ Charging-Rule-Definition ] 
*[ Charging-Rule-Name ] 
*[ Charging-Rule-Base-Name ] 
[ Bearer-Identifier ] 
[ Rule-Activation-Time ] 
[ Rule-Deactivation-Time ] 
[ Resource-Allocation-Notification ] 
[ Charging-Correlation-Indicator ] 
*[ AVP ] 
Company Confidential 28
Gx Messages – CCA (cont) 
Flow-Information ::= < AVP Header: 1058 > 
[ Flow-Description ] 
[ Packet-Filter-Identifier ] 
[ Packet-Filter-Usage ] 
[ ToS-Traffic-Class ] 
[ Security-Parameter-Index ] 
[ Flow-Label ] 
[ Flow-Direction ] 
*[ AVP ] 
QoS-Information ::= < AVP Header: 1016 > 
[ QoS-Class-Identifier ] 
[ Max-Requested-Bandwidth-UL ] 
[ Max-Requested-Bandwidth-DL ] 
[ Guaranteed-Bitrate-UL ] 
[ Guaranteed-Bitrate-DL ] 
[ Bearer-Identifier ] 
[ Allocation-Retention-Priority] 
[ APN-Aggregate-Max-Bitrate-UL] 
[ APN-Aggregate-Max-Bitrate-DL] 
* [AVP] 
Charging-Rule-Definition ::= < AVP Header: 1003 > 
{ Charging-Rule-Name } 
[ Service-Identifier ] 
[ Rating-Group ] 
* [ Flow-Information ] 
[ Flow-Status ] 
[ QoS-Information ] 
[ Reporting-Level ] 
[ Online ] 
[ Offline ] 
[ Metering-Method ] 
[ Precedence ] 
[ AF-Charging-Identifier ] 
* [ Flows ] 
[ Monitoring-Key] 
[ AF-Signalling-Protocol ] 
* [ AVP ] 
Company Confidential 29
Gx Messages - RAR 
• The RAR command: sent by the PCRF to the PCEF in 
order to provision PCC rules and event triggers using 
the PUSH procedure to initiate the provision of 
unsolicited PCC rules. 
o NOTE: If the RAR command is received by the PCEF without providing any 
operation on PCC rules or any QoS information, the PCEF will respond with 
a CCR command requesting PCC rules. 
Company Confidential 30
Gx Message - RAR 
<RA-Request> ::= < Diameter Header: 258, REQ, PXY > 
< Session-Id > 
{ Auth-Application-Id } 
{ Origin-Host } 
{ Origin-Realm } 
{ Destination-Realm } 
{ Destination-Host } 
{ Re-Auth-Request-Type } 
[ Origin-State-Id ] 
*[ Event-Trigger ] 
*[ Charging-Rule-Remove ] 
*[ Charging-Rule-Install ] 
*[ QoS-Information ] 
*[ Proxy-Info ] 
*[ Route-Record ] 
*[ AVP] 
Company Confidential 31
Gx Messages - RAA 
• The RAA command: sent by the PCEF to the PCRF in 
response to the RAR command. 
<RA-Answer> ::= < Diameter Header: 258, PXY > 
< Session-Id > 
{ Origin-Host } 
{ Origin-Realm } 
[ Result-Code ] 
[ Experimental-Result ] 
[ Origin-State-Id ] 
[ Event-Trigger ] 
*[ Charging-Rule-Report] 
[ Access-Network-Charging-Address ] 
*[ Access-Network-Charging-Identifier-Gx ] 
[ Bearer-Identifier ] 
[ Error-Message ] 
[ Error-Reporting-Host ] 
*[ Failed-AVP ] 
*[ Proxy-Info ] 
*[ AVP ] 
Company Confidential 32
Rx Interface 
Rx 
AF 
Policy and Charging 
Rules Function 
(PCRF) 
Gx 
PCEF 
GW 
Online Charging System (OCS) 
Subscription Profile 
Service Data Flow 
Based 
Credit Control 
CAMEL 
SCP 
Repository 
(SPR) 
Gy 
Gz 
Sp 
Offline 
Charging 
System 
(OFCS) 
Company Confidential 33
Event Triggers (examples) 
• SGSN_CHANGE (0) 
• QOS_CHANGE (1) 
• RAT_CHANGE (2) 
• TFT_CHANGE (3) 
• PLMN_CHANGE (4) 
• LOSS_OF_BEARER (5) 
• RECOVERY_OF_BEARER (6) 
• IP-CAN_CHANGE (7) 
• QOS_CHANGE_EXCEEDING_AU 
THORIZATION (11) 
• UE_IP_ADDRESS_ALLOCATE (18) 
• UE_IP_ADDRESS_RELEASE (19) 
• UE_TIME_ZONE_CHANGE (25) 
• USAGE_REPORT (26) 
• RAI_CHANGE (12) 
• USER_LOCATION_CHANGE (13) 
• OUT_OF_CREDIT (15) 
• REALLOCATION_OF_CREDIT (16) 
Company Confidential 34
Rx Messages 
• AAR: sent by an AF to the PCRF in order to provide it 
with the Session Information 
• AAA: sent by the PCRF to the AF in response to the AAR 
command 
• RAR: (Re Authentication Request): sent by the PCRF to 
the AF in order to indicate an Rx specific action 
• RAA: sent by the AF to the PCRF in response to the RAR 
command 
• STR (Session Termination Req): sent by the AF to inform 
the PCRF that an established session shall be terminated 
• STA: sent by the PCRF to the AF in response to the STR 
command. 
Company Confidential 35
Rx Messages - AAR 
• <AA-Request> ::= < Diameter Header: 265, REQ, PXY > 
• < Session-Id > 
• { Auth-Application-Id } 
• { Origin-Host } 
• { Origin-Realm } 
• { Destination-Realm } 
• [ Destination-Host ] 
• [ AF-Application-Identifier ] 
• *[ Media-Component-Description ] 
• [Service-Info-Status ] 
• [ AF-Charging-Identifier ] 
• [ SIP-Forking-Indication ] 
• *[ Specific-Action ] 
• *[ Subscription-ID ] 
• [ Reservation-Priority ] 
• [ Framed-IP-Address ] 
• [ Framed-IPv6-Prefix ] 
• [ Service-URN ] 
• [ Origin-State-Id ] 
• *[ Proxy-Info ] 
• *[ Route-Record ] 
• *[ AVP ] 
Company Confidential 36
Rx Messages – Media 
Component AVP 
• Media-Component-Description ::= < AVP Header: 517 > 
• { Media-Component-Number } ; Ordinal number of the media comp. 
• *[ Media-Sub-Component ] ; Set of flows for one flow identifier 
• [ AF-Application-Identifier ] 
• [ Media-Type ] ; Video, Audio, Data , applucation, Control, text, message, other 
• [ Max-Requested-Bandwidth-UL ] 
• [ Max-Requested-Bandwidth-DL ] 
• [ Flow-Status ] ; enable DL, enable UL, enable All, Remove All 
• [ Reservation-priority ] 
• [ RS-Bandwidth ] 
• [ RR-Bandwidth ] 
• *[ Codec-Data ] 
Company Confidential 37
Rx Messages - AAA 
• <AA-Answer> ::= < Diameter Header: 265, PXY > 
• < Session-Id > 
• { Auth-Application-Id } 
• { Origin-Host } 
• { Origin-Realm } 
• [ Result-Code ] 
• [ Experimental-Result ] 
• *[ Access-Network-Charging-Identifier ] 
• [ Access-Network-Charging-Address ] 
• [Acceptable-Service-Info ] 
• [ IP-CAN-Type ] 
• [ 3GPP-RAT-Type ] 
• [ Error-Message ] 
• [ Error-Reporting-Host ] 
• *[ Failed-AVP ] 
• [ Origin-State-Id ] 
• *[ Redirect-Host ] 
• [ Redirect-Host-Usage ] 
• [ Redirect-Max-Cache-Time ] 
• *[ Proxy-Info ] 
• *[ AVP ] 
Company Confidential 38
Rx Messages - RAR 
• <RA-Request> ::= < Diameter Header: 258, REQ, PXY > 
• < Session-Id > 
• { Origin-Host } 
• { Origin-Realm } 
• { Destination-Realm } 
• { Destination-Host } 
• { Auth-Application-Id } 
• { Specific-Action } 
• *[ Access-Network-Charging-Identifier ] 
• [ Access-Network-Charging-Address ] 
• *[ Flows ] 
• *[ Subscription-ID ] 
• [ Abort-Cause ] 
• [ IP-CAN-Type ] 
• [ 3GPP-RAT-Type ] 
• [ Origin-State-Id ] 
• *[ Proxy-Info ] 
• *[ Route-Record ] 
• *[ AVP ] 
Company Confidential 39
Rx Messages - RAA 
• <RA-Answer> ::= < Diameter Header: 258, PXY > 
• < Session-Id > 
• { Origin-Host } 
• { Origin-Realm } 
• [ Result-Code ] 
• [ Experimental-Result ] 
• *[ Media-Component-Description ] 
• [ Service-URN ] 
• [ Origin-State-Id ] 
• [ Error-Message ] 
• [ Error-Reporting-Host ] 
• *[ Failed-AVP ] 
• *[ Proxy-Info ] 
• *[ AVP ] 
40
Specs 
• Diameter Base Protocol: RFC 3588 
• 3GPP TS 23.203: "Policy and charging control 
architecture": 
o http://www.3gpp.org/ftp/Specs/html-info/23203.htm 
• 3GPP TS 29.212: “Gx Interface”: 
o http://www.3gpp.org/ftp/Specs/html-info/29212.htm 
• 3GPP TS 29.211: “Rx Interface”: 
o http://www.3gpp.org/ftp/Specs/html-info/29211.htm 
• 3GPP TS 32.29: “Gy interface” 
41
Questions? 
42
Thank You 
43

Weitere ähnliche Inhalte

Was ist angesagt?

SGSN- serving gprs support node - Platform - HW, SW and CLI
SGSN- serving gprs support node  - Platform - HW, SW and CLI SGSN- serving gprs support node  - Platform - HW, SW and CLI
SGSN- serving gprs support node - Platform - HW, SW and CLI Mustafa Golam
 
EPG PGW SAPC SACC PISC Configuration
EPG PGW SAPC SACC PISC ConfigurationEPG PGW SAPC SACC PISC Configuration
EPG PGW SAPC SACC PISC ConfigurationMustafa Golam
 
PCRF as an EPC component
PCRF as an EPC componentPCRF as an EPC component
PCRF as an EPC componentMohamed Daif
 
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
2G / 3G / 4G / IMS / 5G Overview with Focus on Core NetworkHamidreza Bolhasani
 
Basic GSM Call Flows
Basic GSM Call FlowsBasic GSM Call Flows
Basic GSM Call Flowsemyl97
 
volte ims network architecture
volte ims network architecturevolte ims network architecture
volte ims network architectureVikas Shokeen
 
Lte default and dedicated bearer / VoLTE
Lte default and dedicated bearer / VoLTELte default and dedicated bearer / VoLTE
Lte default and dedicated bearer / VoLTEmanish_sapra
 
GGSN-Gateway GPRS Support Node
GGSN-Gateway GPRS Support NodeGGSN-Gateway GPRS Support Node
GGSN-Gateway GPRS Support NodeMustafa Golam
 
AAA & RADIUS Protocols
AAA & RADIUS ProtocolsAAA & RADIUS Protocols
AAA & RADIUS ProtocolsPeter R. Egli
 
VoLTE Interfaces , Protocols & IMS Stack
VoLTE Interfaces , Protocols & IMS StackVoLTE Interfaces , Protocols & IMS Stack
VoLTE Interfaces , Protocols & IMS StackVikas Shokeen
 
IP Multimedia Subsystems Overview - My Training on IMS
IP Multimedia Subsystems Overview - My Training on IMSIP Multimedia Subsystems Overview - My Training on IMS
IP Multimedia Subsystems Overview - My Training on IMSInam Khosa
 
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...Vikas Shokeen
 
Vpn site to site
Vpn site to siteVpn site to site
Vpn site to siteIT Tech
 
What is PCRF? – Detailed PCRF architecture and functioning
What is PCRF? – Detailed PCRF architecture and functioningWhat is PCRF? – Detailed PCRF architecture and functioning
What is PCRF? – Detailed PCRF architecture and functioningMahindra Comviva
 
Core cs overview (1)
Core cs overview (1)Core cs overview (1)
Core cs overview (1)Rashid Khan
 
VoLTE Flows and CS network
VoLTE Flows and CS networkVoLTE Flows and CS network
VoLTE Flows and CS networkKarel Berkovec
 

Was ist angesagt? (20)

SGSN- serving gprs support node - Platform - HW, SW and CLI
SGSN- serving gprs support node  - Platform - HW, SW and CLI SGSN- serving gprs support node  - Platform - HW, SW and CLI
SGSN- serving gprs support node - Platform - HW, SW and CLI
 
EPG PGW SAPC SACC PISC Configuration
EPG PGW SAPC SACC PISC ConfigurationEPG PGW SAPC SACC PISC Configuration
EPG PGW SAPC SACC PISC Configuration
 
VoLTE flows - basics
VoLTE flows - basicsVoLTE flows - basics
VoLTE flows - basics
 
PCRF as an EPC component
PCRF as an EPC componentPCRF as an EPC component
PCRF as an EPC component
 
5G Network Overview
 5G Network Overview 5G Network Overview
5G Network Overview
 
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
2G / 3G / 4G / IMS / 5G Overview with Focus on Core Network
 
Basic GSM Call Flows
Basic GSM Call FlowsBasic GSM Call Flows
Basic GSM Call Flows
 
volte ims network architecture
volte ims network architecturevolte ims network architecture
volte ims network architecture
 
IMS Registration Flow
IMS Registration FlowIMS Registration Flow
IMS Registration Flow
 
Lte default and dedicated bearer / VoLTE
Lte default and dedicated bearer / VoLTELte default and dedicated bearer / VoLTE
Lte default and dedicated bearer / VoLTE
 
GGSN-Gateway GPRS Support Node
GGSN-Gateway GPRS Support NodeGGSN-Gateway GPRS Support Node
GGSN-Gateway GPRS Support Node
 
AAA & RADIUS Protocols
AAA & RADIUS ProtocolsAAA & RADIUS Protocols
AAA & RADIUS Protocols
 
Call flows
Call flowsCall flows
Call flows
 
VoLTE Interfaces , Protocols & IMS Stack
VoLTE Interfaces , Protocols & IMS StackVoLTE Interfaces , Protocols & IMS Stack
VoLTE Interfaces , Protocols & IMS Stack
 
IP Multimedia Subsystems Overview - My Training on IMS
IP Multimedia Subsystems Overview - My Training on IMSIP Multimedia Subsystems Overview - My Training on IMS
IP Multimedia Subsystems Overview - My Training on IMS
 
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
 
Vpn site to site
Vpn site to siteVpn site to site
Vpn site to site
 
What is PCRF? – Detailed PCRF architecture and functioning
What is PCRF? – Detailed PCRF architecture and functioningWhat is PCRF? – Detailed PCRF architecture and functioning
What is PCRF? – Detailed PCRF architecture and functioning
 
Core cs overview (1)
Core cs overview (1)Core cs overview (1)
Core cs overview (1)
 
VoLTE Flows and CS network
VoLTE Flows and CS networkVoLTE Flows and CS network
VoLTE Flows and CS network
 

Andere mochten auch

Andere mochten auch (7)

Diameter Overview
Diameter OverviewDiameter Overview
Diameter Overview
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
OCS – Online Charging System - I Workshop CPqD de Inovação Tecnológica em VoI...
OCS – Online Charging System - I Workshop CPqD de Inovação Tecnológica em VoI...OCS – Online Charging System - I Workshop CPqD de Inovação Tecnológica em VoI...
OCS – Online Charging System - I Workshop CPqD de Inovação Tecnológica em VoI...
 
Gsm (Part 2)
Gsm (Part 2)Gsm (Part 2)
Gsm (Part 2)
 
Install dev stack
Install dev stackInstall dev stack
Install dev stack
 
Vandyke SecureCRT tips and tricks
Vandyke SecureCRT tips and tricksVandyke SecureCRT tips and tricks
Vandyke SecureCRT tips and tricks
 
Introduction to SDN and NFV
Introduction to SDN and NFVIntroduction to SDN and NFV
Introduction to SDN and NFV
 

Ähnlich wie Diameter Presentation

Securing management, control & data plane
Securing management, control & data planeSecuring management, control & data plane
Securing management, control & data planeNetProtocol Xpert
 
LAS16-306: Exploring the Open Trusted Protocol
LAS16-306: Exploring the Open Trusted ProtocolLAS16-306: Exploring the Open Trusted Protocol
LAS16-306: Exploring the Open Trusted ProtocolLinaro
 
Aplication and Transport layer- a practical approach
Aplication and Transport layer-  a practical approachAplication and Transport layer-  a practical approach
Aplication and Transport layer- a practical approachSarah R. Dowlath
 
EAP-TLS (extended version)
EAP-TLS (extended version)EAP-TLS (extended version)
EAP-TLS (extended version)Karri Huhtanen
 
Deploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CXDeploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CXCisco Canada
 
Managing Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on KubernetesManaging Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on KubernetesIftach Schonbaum
 
session initiation protocol - SIP
session initiation protocol - SIPsession initiation protocol - SIP
session initiation protocol - SIPMahmoud Abudaqa
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9Waqas Ahmed Nawaz
 
Socket programming
Socket programmingSocket programming
Socket programmingDivya Sharma
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robotsJaime Martin Losa
 
Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Arnaud Le Hors
 
Tutorial radius client mikrotik
Tutorial radius client mikrotikTutorial radius client mikrotik
Tutorial radius client mikrotikAdi Utami
 
Applciation footprinting, discovery and enumeration
Applciation footprinting, discovery and enumerationApplciation footprinting, discovery and enumeration
Applciation footprinting, discovery and enumerationBlueinfy Solutions
 
Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Joel W. King
 
F5 Solutions for Service Providers
F5 Solutions for Service ProvidersF5 Solutions for Service Providers
F5 Solutions for Service ProvidersBAKOTECH
 
Radius Protocol
Radius ProtocolRadius Protocol
Radius ProtocolNetwax Lab
 
Byte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptxByte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptxRockyBhai46825
 
OpenFabrics Interfaces introduction
OpenFabrics Interfaces introductionOpenFabrics Interfaces introduction
OpenFabrics Interfaces introductionofiwg
 

Ähnlich wie Diameter Presentation (20)

Securing management, control & data plane
Securing management, control & data planeSecuring management, control & data plane
Securing management, control & data plane
 
LAS16-306: Exploring the Open Trusted Protocol
LAS16-306: Exploring the Open Trusted ProtocolLAS16-306: Exploring the Open Trusted Protocol
LAS16-306: Exploring the Open Trusted Protocol
 
Aplication and Transport layer- a practical approach
Aplication and Transport layer-  a practical approachAplication and Transport layer-  a practical approach
Aplication and Transport layer- a practical approach
 
EAP-TLS (extended version)
EAP-TLS (extended version)EAP-TLS (extended version)
EAP-TLS (extended version)
 
Deploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CXDeploying Next Generation Firewalling with ASA - CX
Deploying Next Generation Firewalling with ASA - CX
 
Managing Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on KubernetesManaging Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on Kubernetes
 
session initiation protocol - SIP
session initiation protocol - SIPsession initiation protocol - SIP
session initiation protocol - SIP
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 9
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robots
 
Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101
 
Tutorial radius client mikrotik
Tutorial radius client mikrotikTutorial radius client mikrotik
Tutorial radius client mikrotik
 
Applciation footprinting, discovery and enumeration
Applciation footprinting, discovery and enumerationApplciation footprinting, discovery and enumeration
Applciation footprinting, discovery and enumeration
 
Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1
 
F5 Solutions for Service Providers
F5 Solutions for Service ProvidersF5 Solutions for Service Providers
F5 Solutions for Service Providers
 
Radius Protocol
Radius ProtocolRadius Protocol
Radius Protocol
 
Citrix Day 2015 Net Scaler Release 10.5 Update v10
Citrix Day 2015 Net Scaler Release 10.5 Update v10Citrix Day 2015 Net Scaler Release 10.5 Update v10
Citrix Day 2015 Net Scaler Release 10.5 Update v10
 
Byte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptxByte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptx
 
SOMEIP-protocol.pptx
SOMEIP-protocol.pptxSOMEIP-protocol.pptx
SOMEIP-protocol.pptx
 
OpenFabrics Interfaces introduction
OpenFabrics Interfaces introductionOpenFabrics Interfaces introduction
OpenFabrics Interfaces introduction
 

Kürzlich hochgeladen

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Diameter Presentation

  • 2. Agenda • Origin of Diameter • Main Features of Diameter o Diameter Base protocol o Type of Diameter Nodes • Main Applications • Messages Overview Company Confidential 2
  • 3. Why did we need Diameter? • Diameter is an Authentication, Authorization and Accounting protocol (AAA) for computer networks, and an alternative to RADIUS. • Diameter provides an upgrade path for the “old” RADIUS (Remote Authentication Dial In User Service) and solves several limitations. In the early 1990s, Radius has been developed to control Dial-in access
  • 4. AAA • Authenticate users or devices before granting them access to a network • Authorize those users or devices for certain network services • Account for usage of those services Company Confidential 4
  • 5. DIAMETER = 2 * RADIUS RADIUS DIAMETER Reliable transport No (uses UDP) TCP, SCTP Failover Not defined by standard Failover is defined for network errors and actions Security Not mandatory and not end to end Mandatory and end to end Agent roles Not defined (other then client and server) Defines many (such as proxy, relay and redirect) Transactions ID up to 255, other implicit methods End to end and node by node each 2^32 range Vendor specific Not explicit Through negotiation Dynamic configuration No Defined in the standard 5
  • 6. Main features of Diameter Company Confidential 6
  • 7. Diameter - Basic Functionality Diameter Client Application Session Management Diameter Tutorial - IETF67 Diameter Server Node at otherrealm.com Diameter Server Application Routing Management Connection Management Session Management Routing Management Connection Management Diameter Client Node at somerealm.com Base Protocol Base Protocol
  • 8. Diameter - Basic Functionality • Base Protocol – Connectivity: Peering and Routing – Application support: Application session management • Applications – Purpose specific: Gx, Gy, etc – Identified by application Id • Every application MUST have an IANA-assigned application identifier • Used also for diameter message routing - Define the Commands (e.g. CCR/CCA, RAR/RAA) - Defines the AVP (Attribute/Value Pair) fields (e.g. Origin-Host) Diameter Tutorial - IETF67
  • 9. Diameter – Message Format • Diameter Message: Diameter Header AVP AVP AVP Version, Diameter Header = Length, Flags, Code, AppId, H2H Id, E2E Id AVP Header = Code, Flag, Length, Vendor-Id (Opt) Diameter Tutorial - IETF67 AVP Header AVP Data • Each message must be defined using an ABNF grammar • Pre-defined AVP data types (Integer32, Float, OctetString etc.)
  • 10. Diameter ABNF Conventions Symbol Example Meaning Occurrences <XXX> ::= <X, F> <CER> ::= < Diameter Header: 257, REQ > Diameter Tutorial - IETF67 Command Code, Flags 1 < AVP > < Session-Id > Required AVP At this place (first) 1 { AVP } { Origin-Host } Required AVP 1 1* { AVP } 1* { Host-IP-Address } Required AVP,Can appear more than once 1+ [ AVP ] [ Origin-State-Id ] Optional AVP 0,1 *[ AVP ] * [ Supported- Vendor-Id ] Optional AVP, Can appear more than once 0+
  • 11. Diameter ABNF Example <CER> ::= < Diameter Header: 257, REQ > /* Command Code, Flags */ < Session-Id > /* Required AVP, Occurrence: 1 At this place (first) */ { Origin-Host } /* Required AVP, Occurrence: 1 */ { Origin-Realm } 1* { Host-IP-Address } /* Required AVP, Occurrence: 1+ */ { Vendor-Id } { Product-Name } [ Origin-State-Id ] /* Optional AVP, Occurrence: 0 or 1 */ * [ Supported-Vendor-Id ] /* Optional AVP, Occurrence: 0+ */ * [ Auth-Application-Id ] * [ Inband-Security-Id ] * [ Acct-Application-Id ] * [ Vendor-Specific-Application-Id ] [ Firmware-Revision ] * [ AVP ] Diameter Tutorial - IETF67 Note: /* */ is not part of ABNF
  • 12. Capabilities Exchange • Capabilities Exchange – Use of Capabilities-Exchange (CER/CEA) messages – Message exchange advertises: • Peer Identity • Security schemes – Indicates the use of TLS • SCTP host addresses if used – CER/CEA may or may not be protected • Peer Table Creation – Lists all peers that passes capabilities negotiation – Indicates the connection status of each peers – Also used for message routing Diameter Tutorial - IETF67
  • 13. Diameter Sessions – definitions • What is a session? o A session is a related progression of events devoted to a particular activity • Applications provide guidelines as to when a session begins and ends • Sessions are identified by Session-Id o Globally and eternally unique <DiameterIdentity>;<high 32 bits>;<low 32 bits>[;<optional value>] • DiameterIdentity: Senders identity in FQDN • High and Low 32 bits: Decimal representation of a 64-bit value, monotonically increased • Optional value: Implementation specific, i.e. MAC address, timestamp etc Diameter Tutorial - IETF67
  • 14. Types of Diameter Nodes • Diameter Clients and Servers – Request and Answer Originators • Where application normally reside – Advertises supported applications only • Diameter Agents – Request and Answer forwarders – Adds routing information to the message – Relay Agents • Provides basic message forwarding • Does not inspect content of the message other than Destination- Host and/or Realm and AppIds • Advertises support all applications Diameter Tutorial - IETF67
  • 15. Types of Diameter Nodes – (cont.) – Proxy Agents • Inspects and possibly modifies contents of the request or answer it is forwarding. – Useful in scenarios such policy enforcement, admission control, provisioning etc – Can maintain session state • Examples: Translation agents, RADIUS<->DIAMETER – Re-Direct Agents • Does not forward messages but notifies the previous hop of the new next-hop to use • Advertises support all applications Diameter Tutorial - IETF67
  • 16. Types of Diameter Nodes Relay/Proxy Agent realmA.com realmB.com Diameter Tutorial - IETF67 Redirect Agent Client 2. Request 3. Redirect Notification 1. Request 4. Request 6. Answer 5. Answer Request/Answer Path: • Normal Relay or Proxy: 1, 4, 5, 6 • Re-directed Agent: 1, 2, 3, 4, 5, 6 Server
  • 17. Main Applications Company Confidential 17
  • 18. Main Applications in 3gpp Policy: - Gx - Rx - S9 - Sd Charging: - Gy - Gz (Rf) - Sy Subscriber Info: - Sh Company Confidential 18
  • 19. Gx/Rx Application • Gx: o Interface between the PCEF (Policy and Charging Enforcement Function) and the PCRF (Policy Control and Charging Rule Function) o PCRF provides PCC rules (QoS and Charging rules) to PCEF at session establishment o PCRF can push PCC Rules for new bearers creation • Rx: o Interface between the AF (Application Function) and the PCRF o Enables 3rd party applications (IMS, SBC, etc) to create dynamically bearers Company Confidential 19
  • 20. Gy/Gz Application • Gy: o Diameter Credit Control Application (DCCA) o Online Charging o OCS (Online Charging) Allocates Quotas to PCEF • Gz: o Offline Charging o Also known as Rf o Report usage to OFCS (Offline Charging) Company Confidential 20
  • 21. Messages overview Company Confidential 21
  • 22. Message Flow • Transport (TCP/SCTP) • Capabilities Exchange • Messages (CCR/CCA, etc) • Watch Dog • Disconnect • Transport Disconnect Company Confidential 22
  • 23. Messages Message name Abbreviation Command code Capabilities-Exchanging-Request CER 257 Capabilities-Exchanging-Answer CEA 257 Device-Watchdog-Request DWR 280 Device-Watchdog-Answer DWA 280 Credit-Control-Request CCR 272 Credit-Control-Answer CCA 272 Re-Auth-Request RAR 258 Re-Auth-Answer RAA 258 Session-Termination-Request STR 275 Session-Termination-Answer STA 275 Disconnect-Peer-Request DPR 282 Disconnect-Peer-Answer DPA 282 Company Confidential 23
  • 24. Gx Interface Rx AF Policy and Charging Rules Function (PCRF) Gx PCEF GW Online Charging System (OCS) Subscription Profile Service Data Flow Based Credit Control CAMEL SCP Repository (SPR) Gy Gz Sp Offline Charging System (OFCS) Company Confidential 24
  • 25. Gx Messages - CCR • CCR command: sent by the PCEF to PCRF for 2 purposes: o To request from PCRF for PCC rules for a bearer o To indicate bearer or PCC rule related events or the termination of the IP CAN bearer and/or session Company Confidential 25
  • 26. Gx Messages - CCR <CCR> ::= < Diameter Header: 272, REQ, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Destination-Realm } { CC-Request-Type } { CC-Request-Number } [ Destination-Host ] [ CC-Subsession-Id ] [ Origin-State-Id ] *[ Subscription-Id ] [ Framed-IP-Address ] *[ Framed-IPv6-Prefix ] [ 3GPP-RAT-Type ] [ Termination-Cause ] [ User-Equipment-Info ] { 3GPP-GPRS-Negotiated-QoS-Profile } [ 3GPP-SGSN-MCC-MNC ] [ 3GPP-SGSN-Address ] [ 3GPP-SGSN-IPv6-Address ] [ Called-Station-ID ] [ Bearer-Usage ] [ TFT-Packet-Filter-Information ] * [ Proxy-Info ] * [ Route-Record ] *[ AVP ] Company Confidential 26
  • 27. Gx Messages - CCA • The CCA command is sent from the PCRF to PCEF as a response to a CCR command. • It provides the PCEF with o PCC rules and event triggers for the bearer/session o Selected bearer control mode for the IP-CAN session Company Confidential 27
  • 28. Gx Messages – CCA (cont) <CCA> ::= < Diameter Header: 272, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } [ Result-Code ] [ Experimental-Result ] [ CC-Request-Type ] [ CC-Request-Number ] [ CC-Sub-Session-Id ] *[ Event-Trigger ] [ Origin-State-Id ] *[ Charging-Rule-Remove ] *[ Charging-Rule-Install ] [ Primary-CCF-Address ] [ Secondary-CCF-Address ] [ Primary-OCS-Address ] [ Secondary-OCS-Address ] [ Error-Message] [ Error-Reporting-Host ] *[ Failed-AVP ] *[ Proxy-Info ] *[ Route-Record ] *[ AVP ] Charging-Rule-Install ::= < AVP Header: 1001 > *[ Charging-Rule-Definition ] *[ Charging-Rule-Name ] *[ Charging-Rule-Base-Name ] [ Bearer-Identifier ] [ Rule-Activation-Time ] [ Rule-Deactivation-Time ] [ Resource-Allocation-Notification ] [ Charging-Correlation-Indicator ] *[ AVP ] Company Confidential 28
  • 29. Gx Messages – CCA (cont) Flow-Information ::= < AVP Header: 1058 > [ Flow-Description ] [ Packet-Filter-Identifier ] [ Packet-Filter-Usage ] [ ToS-Traffic-Class ] [ Security-Parameter-Index ] [ Flow-Label ] [ Flow-Direction ] *[ AVP ] QoS-Information ::= < AVP Header: 1016 > [ QoS-Class-Identifier ] [ Max-Requested-Bandwidth-UL ] [ Max-Requested-Bandwidth-DL ] [ Guaranteed-Bitrate-UL ] [ Guaranteed-Bitrate-DL ] [ Bearer-Identifier ] [ Allocation-Retention-Priority] [ APN-Aggregate-Max-Bitrate-UL] [ APN-Aggregate-Max-Bitrate-DL] * [AVP] Charging-Rule-Definition ::= < AVP Header: 1003 > { Charging-Rule-Name } [ Service-Identifier ] [ Rating-Group ] * [ Flow-Information ] [ Flow-Status ] [ QoS-Information ] [ Reporting-Level ] [ Online ] [ Offline ] [ Metering-Method ] [ Precedence ] [ AF-Charging-Identifier ] * [ Flows ] [ Monitoring-Key] [ AF-Signalling-Protocol ] * [ AVP ] Company Confidential 29
  • 30. Gx Messages - RAR • The RAR command: sent by the PCRF to the PCEF in order to provision PCC rules and event triggers using the PUSH procedure to initiate the provision of unsolicited PCC rules. o NOTE: If the RAR command is received by the PCEF without providing any operation on PCC rules or any QoS information, the PCEF will respond with a CCR command requesting PCC rules. Company Confidential 30
  • 31. Gx Message - RAR <RA-Request> ::= < Diameter Header: 258, REQ, PXY > < Session-Id > { Auth-Application-Id } { Origin-Host } { Origin-Realm } { Destination-Realm } { Destination-Host } { Re-Auth-Request-Type } [ Origin-State-Id ] *[ Event-Trigger ] *[ Charging-Rule-Remove ] *[ Charging-Rule-Install ] *[ QoS-Information ] *[ Proxy-Info ] *[ Route-Record ] *[ AVP] Company Confidential 31
  • 32. Gx Messages - RAA • The RAA command: sent by the PCEF to the PCRF in response to the RAR command. <RA-Answer> ::= < Diameter Header: 258, PXY > < Session-Id > { Origin-Host } { Origin-Realm } [ Result-Code ] [ Experimental-Result ] [ Origin-State-Id ] [ Event-Trigger ] *[ Charging-Rule-Report] [ Access-Network-Charging-Address ] *[ Access-Network-Charging-Identifier-Gx ] [ Bearer-Identifier ] [ Error-Message ] [ Error-Reporting-Host ] *[ Failed-AVP ] *[ Proxy-Info ] *[ AVP ] Company Confidential 32
  • 33. Rx Interface Rx AF Policy and Charging Rules Function (PCRF) Gx PCEF GW Online Charging System (OCS) Subscription Profile Service Data Flow Based Credit Control CAMEL SCP Repository (SPR) Gy Gz Sp Offline Charging System (OFCS) Company Confidential 33
  • 34. Event Triggers (examples) • SGSN_CHANGE (0) • QOS_CHANGE (1) • RAT_CHANGE (2) • TFT_CHANGE (3) • PLMN_CHANGE (4) • LOSS_OF_BEARER (5) • RECOVERY_OF_BEARER (6) • IP-CAN_CHANGE (7) • QOS_CHANGE_EXCEEDING_AU THORIZATION (11) • UE_IP_ADDRESS_ALLOCATE (18) • UE_IP_ADDRESS_RELEASE (19) • UE_TIME_ZONE_CHANGE (25) • USAGE_REPORT (26) • RAI_CHANGE (12) • USER_LOCATION_CHANGE (13) • OUT_OF_CREDIT (15) • REALLOCATION_OF_CREDIT (16) Company Confidential 34
  • 35. Rx Messages • AAR: sent by an AF to the PCRF in order to provide it with the Session Information • AAA: sent by the PCRF to the AF in response to the AAR command • RAR: (Re Authentication Request): sent by the PCRF to the AF in order to indicate an Rx specific action • RAA: sent by the AF to the PCRF in response to the RAR command • STR (Session Termination Req): sent by the AF to inform the PCRF that an established session shall be terminated • STA: sent by the PCRF to the AF in response to the STR command. Company Confidential 35
  • 36. Rx Messages - AAR • <AA-Request> ::= < Diameter Header: 265, REQ, PXY > • < Session-Id > • { Auth-Application-Id } • { Origin-Host } • { Origin-Realm } • { Destination-Realm } • [ Destination-Host ] • [ AF-Application-Identifier ] • *[ Media-Component-Description ] • [Service-Info-Status ] • [ AF-Charging-Identifier ] • [ SIP-Forking-Indication ] • *[ Specific-Action ] • *[ Subscription-ID ] • [ Reservation-Priority ] • [ Framed-IP-Address ] • [ Framed-IPv6-Prefix ] • [ Service-URN ] • [ Origin-State-Id ] • *[ Proxy-Info ] • *[ Route-Record ] • *[ AVP ] Company Confidential 36
  • 37. Rx Messages – Media Component AVP • Media-Component-Description ::= < AVP Header: 517 > • { Media-Component-Number } ; Ordinal number of the media comp. • *[ Media-Sub-Component ] ; Set of flows for one flow identifier • [ AF-Application-Identifier ] • [ Media-Type ] ; Video, Audio, Data , applucation, Control, text, message, other • [ Max-Requested-Bandwidth-UL ] • [ Max-Requested-Bandwidth-DL ] • [ Flow-Status ] ; enable DL, enable UL, enable All, Remove All • [ Reservation-priority ] • [ RS-Bandwidth ] • [ RR-Bandwidth ] • *[ Codec-Data ] Company Confidential 37
  • 38. Rx Messages - AAA • <AA-Answer> ::= < Diameter Header: 265, PXY > • < Session-Id > • { Auth-Application-Id } • { Origin-Host } • { Origin-Realm } • [ Result-Code ] • [ Experimental-Result ] • *[ Access-Network-Charging-Identifier ] • [ Access-Network-Charging-Address ] • [Acceptable-Service-Info ] • [ IP-CAN-Type ] • [ 3GPP-RAT-Type ] • [ Error-Message ] • [ Error-Reporting-Host ] • *[ Failed-AVP ] • [ Origin-State-Id ] • *[ Redirect-Host ] • [ Redirect-Host-Usage ] • [ Redirect-Max-Cache-Time ] • *[ Proxy-Info ] • *[ AVP ] Company Confidential 38
  • 39. Rx Messages - RAR • <RA-Request> ::= < Diameter Header: 258, REQ, PXY > • < Session-Id > • { Origin-Host } • { Origin-Realm } • { Destination-Realm } • { Destination-Host } • { Auth-Application-Id } • { Specific-Action } • *[ Access-Network-Charging-Identifier ] • [ Access-Network-Charging-Address ] • *[ Flows ] • *[ Subscription-ID ] • [ Abort-Cause ] • [ IP-CAN-Type ] • [ 3GPP-RAT-Type ] • [ Origin-State-Id ] • *[ Proxy-Info ] • *[ Route-Record ] • *[ AVP ] Company Confidential 39
  • 40. Rx Messages - RAA • <RA-Answer> ::= < Diameter Header: 258, PXY > • < Session-Id > • { Origin-Host } • { Origin-Realm } • [ Result-Code ] • [ Experimental-Result ] • *[ Media-Component-Description ] • [ Service-URN ] • [ Origin-State-Id ] • [ Error-Message ] • [ Error-Reporting-Host ] • *[ Failed-AVP ] • *[ Proxy-Info ] • *[ AVP ] 40
  • 41. Specs • Diameter Base Protocol: RFC 3588 • 3GPP TS 23.203: "Policy and charging control architecture": o http://www.3gpp.org/ftp/Specs/html-info/23203.htm • 3GPP TS 29.212: “Gx Interface”: o http://www.3gpp.org/ftp/Specs/html-info/29212.htm • 3GPP TS 29.211: “Rx Interface”: o http://www.3gpp.org/ftp/Specs/html-info/29211.htm • 3GPP TS 32.29: “Gy interface” 41