S9 AVPs
S9 (application id: 16777267)
The S9 interface in the Diameter protocol plays a critical role in roaming scenarios involving a Home Public Land Mobile Network (HPLMN) and a Visited Public Land Mobile Network (VPLMN). The primary function of the S9 interface is to facilitate communication between the Home Policy and Charging Rules Function (H-PCRF) in the HPLMN and the Visited Policy and Charging Rules Function (V-PCRF) in the VPLMN. This communication is essential for ensuring consistent policy control and charging decisions when a user roams from their home network to a visited network.
The S9 interface is designed to transmit Policy and Charging Control (PCC) rules and Quality of Service (QoS) rules from the H-PCRF to the V-PCRF. These rules determine how data sessions are managed and billed while a user is roaming. The S9 interface also supports the exchange of Application Detection and Control (ADC) rules between the two PCRFs, which is necessary when both support the Application Detection and Control feature.
In addition to transmitting PCC, QoS, and ADC rules, the S9 interface enables the H-PCRF to receive reports from the V-PCRF about the status of these rules in the visited network. This allows the H-PCRF to maintain control over the user's session even when they are not in their home network.
Architecture
The architecture of the S9 interface is relatively straightforward, involving a direct connection between the H-PCRF and the V-PCRF. This connection is established using the Diameter protocol, specifically designed for authentication, authorization, and accounting (AAA) purposes in IP-based networks. The S9 interface uses Stream Control Transmission Protocol (SCTP) as the transport layer to ensure reliable message delivery between the two PCRFs.
The interface is defined by two Diameter applications: the S9 application and the Rx application. The S9 application is used to install PCC, QoS, and ADC rules generated in the HPLMN into the VPLMN. The Rx application is used when the Application Function (AF) is in the VPLMN to exchange service session information from the V-PCRF to the H-PCRF.
S9 interface workflow:
- Session Initiation: When a user roams into a VPLMN, the V-PCRF establishes a connection with the H-PCRF over the S9 interface. The V-PCRF requests PCC rules from the H-PCRF to manage the user's data session according to their home network's policies.
- Rule Installation: The H-PCRF generates PCC, QoS, and ADC rules based on the user's subscription and sends them to the V-PCRF over the S9 interface. These rules dictate how the user's data session should be handled in the VPLMN.
- Session Management: The V-PCRF applies the received rules to the user's session. It monitors the session and enforces the policies specified by the H-PCRF. The V-PCRF also reports back to the H-PCRF on the status of these rules, including any changes or violations.
- Session Termination: When the user's session ends, or they leave the VPLMN, the V-PCRF sends a termination message to the H-PCRF over the S9 interface. The H-PCRF then terminates the session on its side and clears any associated resources.
For complete technical specification of S9 interface in Diameter protocol please refer to: [3GPP TS 29.215]
package com.mobius.software.telco.protocols.diameter.primitives.s9;
Name |
AVP Code |
Data Type |
Vendor |
DRA-Binding |
2208 |
Enumerated |
3GPP |
Used to indicate the action to be performed on the DRA (Diameter Routing Agent) binding information. Enumerated Values: 0: DRA_BINDING_DELETION: Indicates that the DRA binding information in the DRA must be deleted. |
|||
DRA-Deployment |
2206 |
Enumerated |
3GPP |
Used by the Visited Diameter Routing Agent (V-DRA) to inform the Home PCRF (H-PCRF) about the presence of a DRA (Diameter Routing Agent) in the visited network. Enumerated Values: 0: DRA_Deployed: Indicates that the Diameter Routing Agent (DRA) is deployed in the visited network. |
|||
Multiple-BBERF-Action |
2204 |
Enumerated |
3GPP |
Used in S9 interface signaling to indicate whether a Gateway Control Session in the Visited Public Land Mobile Network (VPLMN) is established or terminated in multiple BBERFs (Bearer Binding and Event Reporting Function) scenarios. Enumerated Values: 0: ESTABLISHMENT: Indicates that the Gateway Control Session in the VPLMN is established in the multiple BBERFs scenario. 1: TERMINATION: Indicates that the Gateway Control Session in the VPLMN is terminated in the multiple BBERFs scenario. |
|||
Subsession-Decision-Info |
2200 |
Grouped |
3GPP |
Used in S9 interface signaling to manage PCC (Policy and Charging Control) and QoS (Quality of Service) rules and event information within a subsession. This AVP is sent from the Home PCRF (H-PCRF) to the Visited PCRF (V-PCRF) to enforce policy rules and QoS decisions. The AVP structure is defined as follows: Subsession-Id (Mandatory): Identifies the subsession within the S9 session. AN-GW-Address (Optional, 0–2 instances): Contains the Access Network Gateway (AN-GW) address. Result-Code (Optional): Indicates the processing status of the policy decision. Experimental-Result-Code (Optional): Provides detailed error information if the request was unsuccessful. Session-Release-Cause (Optional): Specifies the reason for session termination, if applicable. Charging-Rule-Install (Optional): Specifies PCC rules that must be installed for this subsession. Charging-Rule-Remove (Optional): Specifies PCC rules that must be removed from this subsession. Event-Report-Indication (Optional): Provides event reports related to policy enforcement. QoS-Rule-Install (Optional): Specifies QoS rules that must be installed for the subsession. QoS-Rule-Remove (Optional): Specifies QoS rules that must be removed from the subsession. Default-EPS-Bearer-QoS (Optional): Contains QoS parameters for the default EPS bearer. Framed-IPv6-Prefix (Optional): Specifies the IPv6 prefix allocated to the UE. Usage-Monitoring-Information (Optional): Reports on usage monitoring status for the subsession. Bearer-Control-Mode (Optional): Defines the PCRF-based or UE-based bearer control mode. Event-Trigger (Optional, Multiple): Lists the events that trigger policy changes. Revalidation-Time (Optional): Indicates when the policy decisions should be re-evaluated. Default-Access (Optional): Identifies the default access technology (e.g., 4G, 5G). NBIFOM-Support (Optional): Indicates whether Non-Backhaul IP Flow Mobility (NBIFOM) is supported. NBIFOM-Mode (Optional): Specifies the NBIFOM mode in use. RAN-Rule-Support (Optional): Determines if RAN-based policy rules are supported. Routing-Rule-Report (Optional, Multiple): Provides routing rule status updates. Removal-Of-Access (Optional): Indicates whether access removal is required. IP-CAN-Type (Optional): Defines the IP Connectivity Access Network type (e.g., LTE, 5G, WLAN, etc.). Online / Offline Charging Mode (Optional): Specifies whether the session uses online (OCS-based) or offline (CGF-based) charging. QoS-Information (Optional, Multiple): Specifies QoS policies for the session. The information contained within this grouped AVP pertains only to the subsession identified by the Subsession-Id AVP. The Session-Release-Cause AVP is only applicable when the Subsession-Decision-Info AVP is provided in a RAR. The Result-Code AVP and Experimental-Result-Code AVP are only applicable when the Subsession-Decision-Info AVP is provided in a CCA. The Result-Code AVP or Experimental-Result-Code AVP may be provided to inform the V-PCRF of possible errors when processing subsession information that was provided in a corresponding CCR command. |
|||
Subsession-Enforcement-Info |
2201 |
Grouped |
3GPP |
Facilitates the setup, modification, and termination of subsessions in the S9 interface. It enables the exchange of Policy and Charging Control (PCC) and Quality of Service (QoS) information between the Visited PCRF (V-PCRF) and the Home PCRF (H-PCRF). The AVP structure is defined as follows: Subsession-Id (Mandatory): Unique identifier for the subsession. Subsession-Operation (Optional): Indicates the type of subsession operation (e.g., create, update, delete). AN-GW-Address (Optional, Multiple): IP addresses of Access Network Gateways involved in the session. Bearer-Identifier (Optional): Identifies the bearer associated with the subsession. Bearer-Operation (Optional): Indicates bearer operation (e.g., create, delete). Packet-Filter-Information (Optional, Multiple): Describes traffic filtering rules for the bearer. Packet-Filter-Operation (Optional): Indicates how the provided packet filters should be handled. QoS-Information (Optional): Contains QoS parameters for the bearer. Framed-IP-Address (Optional): IPv4 address assigned to the UE. Framed-IPv6-Prefix (Optional): IPv6 prefix assigned to the UE. CoA-Information (Optional, Multiple): Change of authorization info for bearer modification. Called-Station-Id (Optional): Identifier of the destination for the bearer (e.g., APN). PDN-Connection-ID (Optional): Identifies the PDN connection. Bearer-Usage (Optional): Indicates usage type of the bearer (e.g., general, IMS). TFT-Packet-Filter-Information (Optional, Multiple): Bearer-level packet filter settings using TFT format. Online (Optional): Indicates if online charging is applied. Offline (Optional): Indicates if offline charging is applied. Result-Code (Optional): Standard Diameter result code for the AVP processing outcome. Experimental-Result-Code (Optional): Vendor-specific result code for AVP processing outcome. Charging-Rule-Report (Optional, Multiple): Contains charging rule information for reporting purposes. Credit-Management-Status (Optional): Indicates credit management status for the bearer. QoS-Rule-Report (Optional, Multiple): QoS rule status reporting. Application-Detection-Information (Optional, Multiple): Application identification and usage data. IP-CAN-Type (Optional): Identifies the access network type (e.g., 3GPP-EPS, DSL). RAT-Type (Optional): Radio Access Technology used (e.g., LTE, WLAN). 3GPP-SGSN-MCC-MNC (Optional): PLMN identifier in MCC-MNC format. 3GPP-SGSN-Address (Optional): IPv4 address of the SGSN. 3GPP-SGSN-IPv6-Address (Optional): IPv6 address of the SGSN. RAI (Optional): Routing Area Identity where the UE is located. 3GPP-User-Location-Info (Optional): Contains user's location info in 3GPP format. 3GPP2-BSID (Optional): Base Station Identifier in 3GPP2 format. User-CSG-Information (Optional): Contains user Closed Subscriber Group information. Default-EPS-Bearer-QoS (Optional): Default bearer QoS parameters for EPS. Default-Access (Optional): Indicates the default access technology. NBIFOM-Support (Optional): Indicates support for NBIFOM (non-seamless offloading). NBIFOM-Mode (Optional): Specifies NBIFOM operation mode. Access-Availability-Change-Reason (Optional): Reason for access availability change. Network-Request-Support (Optional): Indicates support for network-initiated requests. Routing-Rule-Install (Optional): Rules for traffic routing installation. Routing-Rule-Remove (Optional): Rules to remove existing routing policies. User-Location-Info-Time (Optional): Timestamp of the user location information. Logical-Access-ID (Optional): Logical ID of the access point. Physical-Access-ID (Optional): Physical ID of the access node. Usage-Monitoring-Information (Optional, Multiple): Data usage monitoring rules and statuses. Multiple-BBERF-Action (Optional): Describes action to take when multiple BBERFs are involved. Event-Trigger (Optional, Multiple): Events that may trigger PCC rule re-evaluation. Access-Network-Charging-Address (Optional): IP address used for access network charging. Access-Network-Charging-Identifier-Gx (Optional, Multiple): Charging correlation identifiers. Session-Linking-Indicator (Optional): Indicates whether sessions are logically linked. HeNB-Local-IP-Address (Optional): IP address of Home eNodeB. UE-Local-IP-Address (Optional): UE's local IP address. UE-Local-IPv6-Prefix (Optional): IPv6 prefix assigned to UE. UDP-Source-Port (Optional): Source port for UDP traffic. AN-GW-Status (Optional): Status of the access network gateway. The information contained within this grouped AVP pertains only to the subsession identified by the Subsession-Id AVP. The following AVPs are only applicable when the Subsession-Enforcement-Info AVP is provided within a CCR: Subsession-Operation AVP, Bearer-Identifier AVP, Bearer-Operation AVP, Packet-Filter-Information AVP, Packet-Filter-Operation AVP, Framed-IP-Address AVP, Framed-IPv6-Prefix AVP, Called-Station-ID AVP, PDN-Connection-ID AVP, Bearer-Usage AVP, TFT-Packet-Filter-Information AVP, Online AVP, Offline AVP, Application-Detection-Information AVP, Routing-Rule-Install AVP, Routing-Rule-Remove AVP, NBIFOM-Support AVP, NBIFOM-Mode AVP, Default-Access AVP, Access-Availability-Change-Reason AVP and Credit-Management-Status AVP. The following AVPs are only applicable when the Subsession-Enforcement-Info AVP is provided within an RAA: Result-Code AVP and Experimental-Result-Code AVP. The other AVPs are applicable when the Subsession-Enforcement-Info AVP is provided in either a CCR or RAA. IP-CAN-Type AVP, RAT-Type AVP, 3GPP-SGSN-MCC-MNC AVP, 3GPP-SGSN-Address AVP, 3GPP-SGSN-IPv6-Address AVP, RAI AVP, 3GPP-User-Location-Info AVP, 3GPP2-BSID AVP and User-CSG-Information AVP are only applicable when the MAPCON feature is supported as described in clause 5.4.1. The Result-Code AVP or Experimental-Result-Code AVP may be provided to inform the H-PCRF of possible errors when processing subsession information that was provided in a corresponding RAR command. |
|||
Subsession-Id |
2202 |
Unsigned32 |
3GPP |
Used to uniquely identify a subsession within an S9 session. This identifier is assigned by the Visited PCRF (V-PCRF) to distinguish between multiple subsessions that exist within a single Diameter session. |
|||
Subsession-Operation |
2203 |
Enumerated |
3GPP |
Specifies the operation to be performed on a subsession. Enumerated Values: 1: ESTABLISHMENT: Indicates that a new subsession is being established. 2: MODIFICATION: Indicates that an existing subsession is being modified. |
Start innovating with Mobius
What's next? Let's talk!