A.7 S9a Protocol
29.2153GPPPolicy and Charging Control (PCC) over S9 reference pointRelease 17Stage 3TS
A.7.1 Protocol support
The S9a application is defined as a vendor specific Diameter application, where the vendor is 3GPP and the Application-ID for the S9a Application in the present release is 16777319. The vendor identifier assigned by IANA to 3GPP (http://www.iana.org/assignments/enterprise-numbers) is 10415.
NOTE: A route entry can have a different destination based on the application identification AVP of the message. Therefore, Diameter agents (relay, proxy, redirection, translation agents) must be configured appropriately to identify the 3GPP S9a application within the Auth-Application-Id AVP in order to create suitable routeing tables.
The S9a application identification shall be included in the Auth-Application-Id AVP.
A.7.2 Initialization, maintenance and termination of connection and session
The initialization and maintenance of the connection between each BPCF/(V-)PCRF pair is defined by the underlying protocol. Establishment and maintenance of connections between Diameter nodes is described in IETF RFC 6733 [29].
After establishing the transport connection, the BPCF and the (V-)PCRF shall advertise the support of the S9a specific Application by including the value of the application identifier in the Auth-Application-Id AVP and the value of the 3GPP (10415) in the Vendor-Id AVP of the Vendor-Specific-Application-Id AVP contained in the Capabilities‑Exchange-Request and Capabilities-Exchange-Answer commands. The Capabilities-Exchange-Request and Capabilities-Exchange-Answer commands are specified in the Diameter base protocol (IETF RFC 6733 [29]).
The termination of the Diameter S9a session over S9a reference point can be initiated by the (V-)PCRF, as specified in clause A.5.2.1.1.
A.7.3 S9a specific AVPs
A.7.3.1 General
Table A.7.3.1.1 describes the Diameter AVPs defined for the S9a Diameter application over S9a reference point, their AVP Code values, types, possible flag values, whether or not the AVP may be encrypted, what access types (e.g. 3GPP-GPRS, etc.) the AVP is applicable to, the applicability of the AVPs to charging control, policy control or both, and which supported features the AVP is applicable to. The Vendor-Id header of all AVPs defined in the present document shall be set to 3GPP (10415).
Table A.7.3.1.1: S9a specific Diameter AVPs
AVP Flag rules (NOTE 1) |
||||||||||
Attribute Name |
AVP Code |
Clause defined |
Value Type (NOTE 2) |
Must |
May |
Should not |
Must not |
May Encr. |
Acc. type (NOTE 3) |
Applicability |
PCRF-Address |
2207 |
A.7.3.1.1 |
DiameterIdentity |
V,M |
P |
Y |
PC EPC-routed |
|||
NOTE 1: The AVP header bit denoted as ‘M’, indicates whether support of the AVP is required. The AVP header bit denoted as ‘V’, indicates whether the optional Vendor-ID field is present in the AVP header. For further details, see IETF RFC 6733 [29]]. NOTE 2: The value types are defined in IETF RFC 6733 [29]. NOTE 3: S9a protocol applies only when the UE is making use of a fixed broadband access network. |
A.7.3.1.1 PCRF-Address
The PCRF-Address AVP (AVP code 2207) is of type DiameterIdentity and is used by the (V)-PCRF to indicate its own address in the TER command so that the BPCF can address the (V)-PCRF during the S9a session establishment procedure.
NOTE: The value in the Origin-Host AVP of the TER command can be replaced by the proxy agent between the (V)-PCRF and the BPCF.
A.7.4 S9a re-used AVPs
A.7.4.1 General
Table A.7.4.1.1 lists the Diameter AVPs re-used by the S9a reference point from other reference points (e.g. Gx, Gxx, S9 reference points) and other existing Diameter Applications, reference to their respective specifications, short description of their usage within the S9a reference point, the applicability of the AVPs to a specific access, and which supported features the AVP is applicable to. When reused from S9 reference point, the specific clause in the present specification is referred. Other AVPs from existing Diameter Applications, except for the AVPs from Diameter base protocol, do not need to be supported. The AVPs from Diameter base protocol are not included in table A.7.4.1.1, but they are re-used for the S9a reference point. Unless otherwise stated, re-used AVPs shall maintain their ‘M’, ‘P’ and ‘V’ flag settings. Where RADIUS VSAs are re-used, unless otherwise stated, they shall be translated to Diameter AVPs as described in IETF RFC 4005 [25] with the exception that the ‘M’ flag shall be set and the ‘P’ flag may be set.
Table A.7.4.1.1: S9a re-used Diameter AVPs
Attribute Name |
Reference |
Description |
Acc. type |
Applicability Note 1 |
---|---|---|---|---|
Called-Station-Id |
IETF RFC 4005 [25] |
The address the user is connected to in the 3GPP network (i.e. the PDN identifier). For EPS the APN. When used to contain the APN, the APN is composed of the APN Network Identifier only, or the APN Network Identifier and the APN Operator Identifier as specified in TS 23.003 [9], clause 9.1. |
Non-3GPP-EPS 3GPP-EPS |
PC |
CC-Request-Number |
IETF RFC 4006 [19] |
The number of the request for mapping requests and answers |
Non-3GPP-EPS 3GPP-EPS |
PC |
CC-Request-Type |
IETF RFC 4006 [19] |
The type of the request (initial, update, termination) |
Non-3GPP-EPS 3GPP-EPS |
PC |
DRMP |
IETF RFC 7944 [27] |
Allows Diameter endpoints to indicate the relative priority of Diameter transactions. |
Non-3GPP-EPS 3GPP-EPS |
PC |
Event-Report-Indication |
TS 29.212 [3] |
When sent from the PCRF to the BPCF, it is used to report an event coming from the PCEF or BBERF and the relevant info to the BPCF. The following values for the included Event-Trigger are applicable: UE_LOCAL_IP_ADDRESS_CHANGE (43), H(E)NB_LOCAL_IP_ADDRESS_CHANGE (44). The following AVPs which are included in Event-Report-Indication are applicable to S9a interface: UE-Local-IP-Address, HeNB-Local-IP-Address and UDP-Source-Port. BPCF does not subscribe the notification of following event trigger values: UE_LOCAL_IP_ADDRESS_CHANGE, H(E)NB_LOCAL_IP_ADDRESS_CHANGE. |
Non-3GPP-EPS 3GPP-EPS (NOTE x) |
PC |
Load |
IETF RFC 8583 [28] |
The AVP used to convey load information between Diameter nodes. This AVP and all AVPs within this grouped AVP shall have the ‘M’ bit cleared. |
Non-3GPP-EPS 3GPP-EPS |
PC |
OC-OLR |
IETF RFC 7683 [24] |
Contains the necessary information to convey an overload report. |
Non-3GPP-EPS 3GPP-EPS |
PC |
OC-Supported-Features |
IETFRFC 7683 [24] |
Defines the support for the Diameter overload indication conveyence by the sending node. |
Non-3GPP-EPS 3GPP-EPS |
PC |
QoS-Information |
TS 29.212 [3] |
Defines the QoS information that can be accepted by the BPCF. |
Non-3GPP-EPS |
PC |
QoS-Rule-Install |
TS 29.212 [3] |
It is used to activate, install or modify QoS rules as instructed from the PCRF to the BPCF. Only QoS-Rule-Definition, QoS-Rule-Name, QoS-Rule-Base-Name , 3GPP-GGSN-Address, 3GPP-GGSN-IPv6-Address, AN-GW-Address and UDP-Source-Port are applicable. |
Non-3GPP-EPS 3GPP-EPS |
PC |
QoS-Rule-Remove |
TS 29.212 [3] |
It is used to deactivate or remove QoS rules in the BPCF. |
Non-3GPP-EPS 3GPP-EPS |
PC |
QoS-Rule-Report |
TS 29.212 [3] |
It is used to report the status of the QoS Rules. |
Non-3GPP-EPS 3GPP-EPS |
PC |
Session-Release-Cause |
TS 29.212 [3] |
Indicate the reason of termination initiated by the PCRF. |
Non-3GPP-EPS 3GPP-EPS |
PC |
Subscription-Id |
IETF RFC 4006 [19] |
The identification of the subscription (i.e. IMSI) |
Non-3GPP-EPS |
PC |
Supported-Features |
TS 29.229 [7] |
If present, this AVP informs the destination host about the features that the origin host requires to successfully complete this command exchange |
Non-3GPP-EPS 3GPP-EPS |
PC |
HeNB-Local-IP-Address |
TS 29.212 [3] |
Contains the H(e)NB local IP address |
3GPP-EPS |
PC |
UE-Local-IP-Address |
TS 29.212 [3] |
Contains the UE local IP address |
Non-3GPP-EPS |
PC |
UDP-Source-Port |
TS 29.212 [3] |
Contains the UDP source port number in the case that NA(P)T is detected for supporting interworking with Fixed Broadband access network |
Non-3GPP-EPS 3GPP-EPS |
PC |
NOTE 1: AVPs marked with “PC” are applicable to policy control. NOTE 2: Event trigger value UE_LOCAL_IP_ADDRESS_CHANGE, UE-Local-IP-Address AVP and UDP-Source-Port AVP are applicable to the Non-3GPP-EPS. Event trigger value H(E)NB_LOCAL_IP_ADDRESS_CHANGE, H(e)NB-Local-IP-Address AVP and UDP-Source-Port AVP are applicable to the 3GPP-EPS. |
A.7.5 S9a specific Experimental-Result-Code AVP values
A.7.5.1 General
IETF RFC 6733 [29] specifies the Experimental-Result AVP containing Vendor-ID AVP and Experimental-Result-Code AVP. The Experimental-Result-Code AVP (AVP Code 298) is of type Unsigned32 and contains a vendor-assigned value representing the result of processing a request. The Vendor-ID AVP shall be set to 3GPP (10415).
A.7.5.2 Success
Result Codes that fall within the Success category are used to inform a peer that a request has been successfully completed.
The Result-Code AVP values defined in Diameter base protocol, IETF RFC 6733 [29], shall be applied.
A.7.5.3 Permanent Failures
Errors that fall within the Permanent Failures category shall be used to inform the peer that the request failed, and should not be attempted again.
The Result-Code AVP values defined in Diameter base protocol, IETF RFC 6733 [29], and 3GPP TS 29.212 [3] are applicable.
A.7.5.4 Transient Failures
Errors that fall within the transient failures category are used to inform a peer that the request could not be satisfied at the time it was received, but may be able to satisfy the request in the future.
No transient failure is identified in this release.
A.7.6 S9a Messages
A.7.6.1 S9a Application
S9a Messages are carried within the Diameter Application(s) described in clause A.7.1.
Existing Diameter command codes from the Diameter base protocol, IETF RFC 6733 [29], and the Diameter Credit Control Application, IETF RFC 4006 [19], are used with the S9a specific AVPs specified in clause A.7.3. The Diameter Credit Control Application AVPs and AVPs from other Diameter applications that are re-used are defined in clause A.7.4. The S9a application identifier shall be included in the Auth-Application-Id AVP.
NOTE: Some of the AVPs included in the messages formats below are in bold to highlight that these AVPs are used by this specific protocol and do not belong to the original message definition in the DCC Application, IETF RFC 4006 [19], or Diameter base protocol, IETF RFC 6733 [29].
A.7.6.2 CC-Request (CCR) Command
The CCR command, indicated by the Command-Code field set to 272 and the ‘R’ bit set in the Command Flags field, is sent by the BPCF to the PCRF in order to initiate an S9a session establishment and to request QoS rules. The CCR command is also sent by the BPCF to the PCRF in order to indicate QoS rule related events.
Message Format:
<CC-Request> ::= < Diameter Header: 272, REQ, PXY >
< Session-Id >
[ DRMP ]
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ CC-Request-Type }
{ CC-Request-Number }
[ Destination-Host ]
[ Origin-State-Id ]
[ Subscription-Id ]
[ Called-Station-Id ]
[ OC-Supported-Features ]
*[ Supported-Features ]
[ QoS-Information ]
*[ QoS-Rule-Report ]
[ UE-Local-IP-Address ]
[ HeNB-Local-IP-Address ]
[ Termination-Cause ]
*[ Proxy-Info ]
*[ Route-Record ]
*[ AVP ]
A.7.6.3 CC-Answer (CCA) Command
The CCA command, indicated by the Command-Code field set to 272 and the ‘R’ bit cleared in the Command Flags field, is sent by the PCRF to the BPCF in response to the CCR command. It is used to provision QoS rules for the S9a session
Message Format:
<CC-Answer> ::= < Diameter Header: 272, PXY >
< Session-Id >
[ DRMP ]
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
[ Result-Code ]
[ Experimental-Result ]
{ CC-Request-Type }
{ CC-Request-Number }
[ OC-Supported-Features ]
[ OC-OLR ]
*[ Supported-Features]
*[ QoS-Rule-Install ]
*[ QoS-Rule-Remove ]
[ Event-Report-Indication ]
[ Origin-State-Id ]
[ Error-Message ]
[ Error-Reporting-Host ]
[ Failed-AVP ]
*[ Proxy-Info ]
*[ Route-Record ]
*[ Load ]
*[ AVP ]
A.7.6.4 Re-Authorization-Request (RAR) Command
The RAR command, indicated by the Command-Code field set to 258 and the ‘R’ bit set in the Command Flags field, is sent by the PCRF to the BPCF in order to provision QoS rules and address information for the S9a session.
Message Format:
<RA-Request> ::= < Diameter Header: 258, REQ, PXY >
< Session-Id >
[ DRMP ]
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ Destination-Host }
{ Re-Auth-Request-Type }
[ Origin-State-Id ]
[ OC-Supported-Features ]
*[ QoS-Rule-Install ]
*[ QoS-Rule-Remove ]
[ Event-Report-Indication ]
[ Session-Release-Cause ]
*[ Proxy-Info ]
*[ Route-Record ]
*[ AVP ]
A.7.6.5 Re-Authorization-Answer (RAA) Command
The RAA command, indicated by the Command-Code field set to 258 and the ‘R’ bit cleared in the Command Flags field, is sent by the BPCF to the PCRF in response to the RAR command.
Message Format:
<RA-Answer> ::= < Diameter Header: 258, PXY >
< Session-Id >
[ DRMP ]
{ Origin-Host }
{ Origin-Realm }
[ Result-Code ]
[ Experimental-Result ]
[ Origin-State-Id ]
[ OC-Supported-Features ]
[ OC-OLR ]
[ QoS-Information ]
*[ QoS-Rule-Report ]
[ Error-Message ]
[ Error-Reporting-Host ]
[ Failed-AVP ]
*[ Proxy-Info ]
*[ Load ]
*[ AVP ]
A.7.6.6 Trigger-Establishment-Request (TER) Command
The TER command, indicated by the Command-Code field set to 8388656 and the ‘R’ bit set in the Command Flags field, is sent by the PCRF to the BPCF in order to trigger the S9a Session Establishment.
Message Format:
<TE-Request> ::= < Diameter Header: 8388656, REQ, PXY >
< Session-Id >
[ DRMP ]
{ Auth-Application-Id }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ Destination-Host }
[ Auth-Session-State ]
[ Origin-State-Id ]
[ OC-Supported-Features ]
[ Subscription-Id ]
[ Called-Station-Id ]
[ PCRF-Address ]
[ UE-Local-IP-Address ]
[ HeNB-Local-IP-Address ]
[ UDP-Source-Port ]
*[ Proxy-Info ]
*[ Route-Record ]
*[ AVP ]
A.7.6.7 Trigger-Establishment-Answer (TEA) Command
The TEA command, indicated by the Command-Code field set to 8388656 and the ‘R’ bit cleared in the Command Flags field, is sent by the BPCF to the PCRF in response to the TER command.
Message Format:
<TE-Answer> ::= < Diameter Header: 8388656, PXY >
< Session-Id >
[ DRMP ]
{ Origin-Host }
{ Origin-Realm }
[ Result-Code ]
[ Experimental-Result ]
[ Origin-State-Id ]
[ OC-Supported-Features ]
[ OC-OLR ]
[ Error-Message ]
[ Error-Reporting-Host ]
[ Failed-AVP ]
*[ Proxy-Info ]
*[ Load ]
*[ AVP ]