Documente Academic
Documente Profesional
Documente Cultură
Versions Date Reason for Update Item Open Item Description Status / Comments
29/05/20
v1 Draft version
13
11/06/20
v2 Added comments after Internal review
13
Acknowledgements
Szymon Listwan
Introduction
1 Motivation and Feature Overview
Technical Details
2 Functionality and Implementation, Message Flows
Compliance Aspects
3 3GPP, IETF, ETSI
Introduction
1 Motivation and Feature Overview
Technical Details
2 Functionality and Implementation, Message Flows
Compliance Aspects
3 3GPP, IETF, ETSI
The NSN CFX-5000 fulfills the call session control function (CSCF) as specified in the 3GPP
Technical Specifications (TS) 23.218 and 23.228. It supports the following roles defined by
3GPP:
Proxy call session control function (P-CSCF)
Interrogating call session control function (I-CSCF)
Serving call session control function (S-CSCF)
Emergency call session control function (E-CSCF)
Transit control function (TRCF)
Interconnection border control function (I-BCF)
Breakout gateway control function (BGCF)
Mobility control function (MCF)
NSN CFX-5000 roles and functional extensions depicted as modular software components
CFX-5000 interfaces
CMS-8200 interfaces
Diameter Terminology
Diameter Agent
A Diameter Agent is a Diameter node that provides relay, proxy, redirect, or translation services
Diameter Client
A Diameter client is a node that supports Diameter client applications as well as the base protocol. Diameter clients are often
implemented in devices situated at the edge of a network and provide access control services for that network.
Diameter Node
A Diameter node is a host process that implements the Diameter protocol and acts as either a client, an agent, or a server.
Diameter Peer
Two Diameter nodes sharing a direct TCP or SCTP transport connection are called Diameter peers.
Diameter Server
A Diameter server is a Diameter node that handles authentication, authorization, and accounting requests for a particular realm. By
its very nature, a Diameter server must support Diameter server applications in addition to the base protocol.
The following transport protocols are supported: Reliable data transfer yes yes
Multistreaming yes no
Multihoming yes no
Diameter Header
The packet consists of a Diameter header and a variable number of Attribute-Value Pairs
(AVPs) for encapsulating information relevant to the Diameter message
0 8 16 2431
Application-id
Hop-by-Hop Identifier
End-to-End Identifier
AVPs
Diameter header
Each command is assigned a command code, which is used for both Requests and Answers
Command codes:
Capabilities-Exchange-Request/Answer CER/CEA 257
Device-Watchdog-Request/Answer DWR /DWA 280
Disconnect-Peer-Request/Answer DPR/DPA 282
Re-Auth-Request/Answer RAR/RAA 258
Diameter application:
Is a protocol based on the Diameter base protocol
Application-ID for different applications:
Diameter Credit-Control Application DCCA
Diameter Session Initiation Protocol Application
Command flags:
The "R" (Request) bit If set, the message is a request. If cleared, the message is an answer
Header
AVPs
Offline charging is a process with which charging information for network resource usage is collected concurrently with resource
usage. It does not affect, in real-time, the service rendered
The charging information is then passed through a chain of logical charging functions.
At the end of this process, CDR (Charging Data Records) files are generated by the network, which are then transferred to the
network operator's billing domain for the purpose of subscriber billing and/or inter-operator accounting
Exchange of offline charging information between the CTF and CDF is performed over the Rf interface, using a 3GPP-specific
Diameter application
F F F
Over Rf interface, accounting requests (ACR) are used to transfer offline charging information
The Rf interface relays the messages described here between S-/P-CSCF and CDF
Diameter Rf application of the Diameter Base Protocol as used in IMS
The Diameter Rf application is the protocol of the Rf interface, which is an interface in the IP Multimedia Subsystem (IMS)
The following figure shows the complete protocol stack of the Rf interface as used in IMS
NSN Extension NSN Extension
DIAMETER DIAMETER
TCP TCP
IP IP
S-CSCF/P-CSCF Rf CDF
For internal use MBB CS Network Engineering / Author / Date
19 Nokia Siemens Networks 2012
Technical details Table of Contents Main Menu
Rf interface Diameter commands
Diameter commands
The Rf interface relays the messages described here between S-/P-CSCF and CDF
The messages always consist of a request and answer pair
Each pair has a command code assigned to it. The command code is in the header of each message. Requests are
identified as such by the "R" bit in the header
Accounting-Request /Answer (ACR/ACA)
Capabilities-Exchange-Request/Answer (CER/CEA)
Device-Watchdog-Request/Answer (DWR/DWA)
Disconnect-Peer-Request/Answer (DPR/DPA)
Diameter AVPs
Nokia-Siemens-Information ::= < AVP Header: 1 28458>
[ 3GPP-Charging-ID ]
[ Accounting-Session-ID ]
[ Service-Information ]
[ Access-Information ]
[ SCSCF-CDR-Version ]
[ Signaling-Volume ]
[ Total-Volume ]
[ Extra-Bearer-Volume ]
[ Sub-Record-Type ]
[ MSISDN ]
[ 3GPP-IMSI ]
[ Extra-Information ]
[ Emergency-Call-Indication ]
[ Refer-To-Header ]
[ Accept-Contact-Header ]
[ To-Header ]
[ From-Header ]
[ Diversion-Header ]
[ History-Info-Header ]
[ User-Agent-Information ]
[ Release-Reason-Information ]
[ Served-User-IP-Address ]
[ Served-User-Port-Number ]
[ Last-Known-Activity-Time-Stamp ]
For internal use MBB CS Network Engineering / Author / Date
21 Nokia Siemens Networks 2012
Technical details Table of Contents Main Menu
Rf interface message flows (1/6)
Message flows
Session-based charging is the process of reporting usage for a session and uses the ACR Start, ACR Interim and
ACR Stop messages. During a session, the S-/P-CSCF may transmit multiple ACR Interim messages depending on
the session proceedings.
The sequence of steps for session-based charging is as follows:
The S-/P-CSCF receives an indication that a service has been requested, that is a 200 OK for a SIP INVITE.
In order to start an accounting session, the S-/P-CSCF sends an Accounting-Request (ACR) with Accounting-Record-Type AVP set
to START_RECORD to the CDF.
The CDF returns an Accounting-Answer (ACA) with Accounting-Record-Type set to START_RECORD to the S-/P-CSCF, and
possibly an Acct-Interim-Interval (AII) AVP set to a non-zero value indicating the desired intermediate charging interval.
When either an Acct-Interim-Interval (AII) elapses or charging conditions changes are recognized at the S-/P-CSCF, it sends an
Accounting-Request (ACR) with Accounting-Record-Type AVP set to INTERIM_RECORD to the CDF.
The CDF returns an Accounting-Answer (ACA) with Accounting-Record-Type set to INTERIM_RECORD to the S-/P-CSCF.
The service is terminated, that is the S-/P-CSCF receives a SIP BYE request.
The S-/P-CSCF sends an Accounting-Request (ACR) with Accounting-Record-Type AVP set to STOP_RECORD to the CDF.
The CDF returns an Accounting-Answer (ACA) with Accounting-Record-Type set to STOP_RECORD to the S-/P-CSCF
Session Establishment
SIP INVITE
SIP INVITE
SIP 200 OK
SIP 200 OK
ACR Start
ACA Start
SIP ACK
SIP ACK
SIP Re-INVITE/UPDATE
SIP Re-INVITE/UPDATE
SIP 200 OK
SIP 200 OK
ACR Interim
ACA Interim
Session Release
SIP BYE
SIP BYE
ACR Stop
ACR Stop
SIP 200 OK
SIP 200 OK
Message flows
In the case of Event-based charging, the S-/P-CSCF reports the usage of the service rendered in a single operation
to the CDF. It is reported using the ACR Event message, which is triggered for the session-unrelated SIP methods
MESSAGE, PUBLISH, and OPTIONS, as well as configurable, so-called new methods .
The SIP methods for which event charging should be applied is configurable. If configured, event-based charging can
also be triggered for failed session establishments.
The sequence of steps for event-based charging is as follows:
The S-/P-CSCF receives an indication that the service has been used/delivered.
The S-/P-CSCF sends an Accounting-Request (ACR) with Accounting-Record-Type AVP set to EVENT_RECORD to indicate
service-specific information to the CDF.
The CDF receives the relevant service charging parameters and processes the accounting request.
The CDF returns an Accounting-Answer (ACA) with Accounting-Record-Type AVP set to EVENT_RECORD to the S-CSCF in order
to inform that the charging information was received.
Event-based charging
SIP MESSAGE
SIP MESSAGE
SIP 200 OK
SIP 200 OK
ACR Event
ACA Event
The Diameter Ro application is the protocol of the Ro interface, which is an interface in the IP
Multimedia Subsystem (IMS)
The following figure shows the complete protocol stack of the Ro interface.
The Ro interface connects the S-CSCF with the online charging system (OCS).
Credit control requests (CCR) are used to transfer charging information between S-CSCF and the online charging system (OCS).
Online charging is a process with which charging information for network resource usage is collected concurrently with resource
usage.
For online charging the network resource usage must be authorized in real-time by the online charging system (OCS).
Exchange of online charging information and authorization is performed over the Ro interface using a 3GPP-specific Diameter
application.
F F F
Diameter commands
The messages always consist of a request and answer pair, for example, Credit-Control-Request and Credit-
Control-Answer.
Each pair has a command code assigned to it.
The command code is in the header of each message. Requests are identified as such by the R-bit ("REQ") in the
header.
Each message contains several attribute-value pairs (AVPs), each of which consists of an AVP code, and a value of
variable length allocated to a certain data type.
Credit-Control-Request /Answer (CCR/CCA)
Re-Authorization-Request /Answer (RAR/RAA)
Abort-Session-Request /Answer (ASR/ASA)
Diameter AVPs
<CCR> ::= < Diameter Header: 272, REQ, PXY 4 >
< Session-Id >
Multiple-Services-Credit-Control ::= < AVP Header: 456 >
{ Origin-Host }
[ Requested-Service-Unit ]
{ Origin-Realm }
[ Granted-Service-Unit ]
{ Destination-Realm }
[ Used-Service-Unit ]
{ Auth-Application-Id }
[ Result-Code ]
{ Service-Context-Id }
[ Rating-Group ]
{ CC-Request-Type }
[ Validity-Time ]
{ CC-Request-Number }
[ Final-Unit-Indication ]
[ Destination-Host ]
[ Reporting-Reason ]
[ User-Name ]
[ Trigger-Type ]
[ Origin-State-Id ]
[Event-Timestamp]
[Subscription-Id]
[Termination-Cause]
[Multiple-Services-Indicator]
[Multiple-Services-Credit-Control]
[Service-Information]
[Siemens-Information]
[ Nokia-Siemens-Information ]
[ AVP ]
For internal use MBB CS Network Engineering / Author / Date
31 Nokia Siemens Networks 2012
Technical details Table of Contents Main Menu
Ro interface Diameter AVPs (2/3)
Diameter AVPs
<CCA> ::= < Diameter Header: 272, PXY 4 >
< Session-Id >
Multiple-Services-Credit-Control ::= < AVP Header: 456 >
{ Result-Code }
[ Requested-Service-Unit ]
{ Origin-Host }
[ Granted-Service-Unit ]
{ Origin-Realm }
[ Used-Service-Unit ]
{ Auth-Application-Id }
[ Result-Code ]
{ CC-Request-Type }
[ Rating-Group ]
{ CC-Request-Number }
[ Validity-Time ]
[ Multiple-Services-Credit-Control ]
[ Final-Unit-Indication ]
[ Credit-Control-Failure-Handling ]
[ Reporting-Reason ]
[ Redirect-Host ]
[ Trigger-Type ]
[ Proxy-Info ]
[ Route-Record ]
[ Failed-AVP ]
[ AVP ]
Message flows
Session charging with unit reservation UE S-CSCF OCS
IMS session establishment
Initial interrogation IMS Session Establishment
Intermediate interrogation Initial Interrogation
IMS session ongoing
Intermediate interrogation
IMS session release IMS Session ongoing
Final interrogation Intermediate Interrogation
Final Interrogation
Message flows
Event charging with unit reservation UE S-CSCF OCS
IMS Service request
Initial interrogation
IMS Service Request
IMS Service execution
Final interrogation Initial
Initial interrogation
Interrogation
Final interrogation
The PCRF (Policy Control and Charging Rules Function) is a functional element that encompasses policy control
decision and flow based charging control functionalities
The Rx interface is used for the service-based policy set-up information exchange between the policy and charging
rule function (PCRF) and the proxy-call session control function (P-CSCF). This information is used by the PCRF for
the service based local policy (SBLP) decisions.
The Rx application is defined as an IETF vendor specific Diameter application, where the vendor is 3GPP and the
Application-ID for the Rx application in the present release is 16777236
With regard to the Diameter protocol defined over the Rx reference point, the PCRF acts as a Diameter server
One PCRF is able to serve more than one P-CSCF and one given P-CSCF interacts with a number of PCRFs
(although on a P-CSCF session basis, it interacts with only a single PCRF)
Diameter commands
Authentication-Authorization-Request /Answer (AAR/AAA)
Re-Auth-Request /Answer (RAR/RAA)
Session-Termination-Request/Answer (STR/STA)
Abort-Session-Request /Answer (ASR/ASA)
Diameter AVPs
<AA-Request> ::= < Diameter Header: 265, REQ, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
[ Destination-Host ]
* [ 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 ]
[ LI-Indicator ]
* [ Proxy-Info ]
* [ Route-Record ]
* [ AVP ]
Diameter AVPs
<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 ]
[ 3GPP2-BSID ]
[ User-Equipment-Info ]
[ 3GPP-User-Location-Info ]
[ Error-Message ]
[ Error-Reporting-Host ]
* [ Failed-AVP ]
* [ AVP ]
To perform a first security check, determining whether the Public User Identity in the message is associated with the Private User
Identity sent in the message.
To obtain either the S-CSCF where the Public User Identity is registered or unregistered (i.e. registered as a consequence of an
originating or terminating request or there is a S-CSCF keeping the user profile stored), or the list of capabilities that the S-CSCF
has to support.
Diameter AVPs
<Cx-User-Authorization-Request> ::= < Diameter Header: 300, REQ,PXY, 16777216 >
< Session-Id >
{ Vendor-Specific-Application-ID }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
[ Destination-Host ]
{ Destination-Realm }
{ User-Name }
{ Public-Identity }
{ Visited-Network-Identifier }
[ User-Authorization-Type ]
[ UAR-Flags ]
*[ Supported-Features ]
*[ AVP ]
Diameter AVPs
<Cx-User-Authorization-Answer> ::= < Diameter Header: 300, PXY, 16777216>
< Session-Id >
{ Vendor-Specific-Application-ID }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
[ Result-Code ]
[ Experimental-Result ]
[ Server-Name ]
[ Server-Capabilities ]
*[ Supported-Features ]
*[ Failed-AVP ]
*[ AVP ]
Cx-User-Authorization-Request trace
Cx-User-Authorization-Answer trace
Gq interface
The Gq interface is used for the service-based policy set-up information exchange between the SPDF and the AF,
e.g. the P-CSCF
Diameter commands
Authentication-Authorization-Request (AAR) is sent by a P-CSCF to the PDF to request the authorization for the
bearer usage for the P-CSCF session
Authentication-Authorization-Answer (AAA) command is sent by the PDF to the P- CSCF in response to the AAR
Re-Auth-Request (RAR) command is sent from the PDF to the P-CSCF to indicate Gq specific action. As an option,
the P-CSCF may send an AAR command to the PDF to update the service information when receiving an RAA
command.
Re-Auth-Answer (RAA) command is sent by the P-CSCF to the PDF in response to RAR
Session-Termination-Request (STR) command is sent by the P-CSCF to inform the PDF that an authorized session
is being terminated.
Session-Termination-Answer (STA) command is sent by the PDF to the P-CSCF in response to the STR command
Abort-Session-Request (ASR) command is sent by the PDF to inform the P-CSCF that all bearer resources for the
authorized session have become unavailable
Abort-Session-Answer (ASA) command is sent by the P-CSCF to the PDF in response to the ASR command
Diameter AVPs
<AA-Request> ::= < Diameter Header: 265, REQ, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
* [ Media-Component-Description ]
[ AF-Charging-Identifier ]
[ SIP-Forking-Indication ]
[ Specific-Action ]
* [ AF-Session-Type ]
[ Framed-IP-Address ]
[ Framed-IPv6-Prefix ]
[ LI-Indicator ]
[ UE-Access-Network]
[ User-Name ]
[ Binding-Information ]
[ Latching-Indication ]
[ Reservation-Priority ]
[ Globally-Unique-Address ]
* [ Proxy-Info ]
* [ Route-Record ]
* [ AVP ]
Diameter AVPs
<AA-Answer> ::= < Diameter Header: 265, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
[ Result-Code ]
[ Experimental-Result ]
[ Authorization-Token ]
* [ Access-Network-Charging-Identifier ]
[ Access-Network-Charging-Address ]
[ Error-Message ]
[ Framed-IP-Address ]
[ Framed-IPv6-Prefix ]
[ Policy-Service-Status ]
[ Binding-Information ]
[ Reservation-Priority ]
[ Error-Reporting-Host ]
* [ Failed-AVP ]
* [ Proxy-Info ]
* [ AVP ]
Sh interface
Used to exchange User Profile information between an AS and HSS.
Operations on the Sh interface are classified in functional groups:
Data handling procedures
The download of data from the HSS to an AS.
The update of data in the HSS.
Subscription/notification procedures
An AS can subscribe to receive notifications from the HSS of changes in data.
The HSS can notify an AS of changes in data for which the AS previously had subscribed.
Diameter commands
User-Data-Request /Answer (UDR/UDA)
source AS, destination HSS
Profile-Update-Request/Answer (PUR/PUA)
source AS, destination HSS
Diameter AVPs
< Sh-User-Data -Request> ::= < Diameter Header: 306, REQ, PXY, 16777217 >
<Session-Id>
{Vendor-Specific-Application-Id}
{Auth-Session-State}
{Origin-Host}
{Origin-Realm}
[Destination-Host]
*[Supported-Features]
{Destination-Realm}
{User-Identity}
[Server-Name]
*[Service-Indication]
*{Data-Reference}
[Requested-Domain]
[Requested-Nodes]
[Current-Location]
*[Identity-Set]
[User-Data]
*[AVP]
Diameter AVPs
< Sh-User-Data-Answer > ::= < Diameter Header: 306, PXY,
16777217 >
<Session-Id>
{Vendor-Specific-Application-Id}
{Auth-Session-State}
{Origin-Host}
{Origin-Realm}
*[Supported-Features]
[Experimental-Result]
[Result-Code]
[User-Data]
[Framed-IP-Address]
[Framed-IPv6-Prefix]
[Framed-Interface-Id]
*[Failed-AVP]
*[AVP]
8. The AS subscribes to notifications and downloads data needed for providing service
from HSS, by means of Sh-Subs-Notif (user identity, requested data, service
information and send data indication).
9. HSS confirms the subscription request and sends data to AS
10.At some moment, the AS decides to update users service data e.g. repository data in
the HSS, by means of Sh-Update (user identity, updated data).
11.The HSS confirms the service data is updated.
12.At some moment, user data is updated in the HSS. As the AS subscribed to notifications
(step 8), the HSS sends to the AS the requested updates, by means of Sh-Notif (user
identity, updated data).
13.The AS acknowledges the notification.
Introduction
1 Motivation and Feature Overview
Technical Details
2 Functionality and Implementation, Message Flows
Compliance Aspects
3 3GPP, IETF, ETSI