Version

Gq AVPs

Gq (application id: 16777222)

Gq interface facilitates communication between the Application Function (AF) and the Policy Decision Function (PDF), enabling the dynamic enforcement of QoS policies that align with the service requirements of the application. It’s an important component within IP multimedia networks, particularly for managing Quality of Service (QoS) in scenarios where services like Voice over IP (VoIP), video streaming, or other real-time multimedia applications are involved.

Gq interface workflow

Session Establishment:

  • When a user initiates a session through the User Equipment (UE), the AF begins the process by signaling the session's QoS requirements to the PDF over the Gq interface. These requirements may include parameters like minimum bandwidth, latency thresholds, and packet loss tolerance, depending on the nature of the application.

QoS Policy Request:

  • The AF sends a detailed QoS request to the PDF via the Gq interface. This request is a critical input for the PDF, which considers multiple factors, such as the network's current load, subscriber data, and predefined QoS policies, before making a decision.

Policy Decision:

  • Upon receiving the QoS request, the PDF evaluates it against the network’s capabilities and policy rules. If the network can support the requested QoS, the PDF formulates a set of QoS policies to be enforced. 

Policy Enforcement:

  • The PDF then communicates its decision to the PEP within the GGSN via the Go interface. The PEP is responsible for enforcing the QoS policies on the data flows associated with the session. 

Session Management:

  • During the session, the Gq interface allows for dynamic adjustments to the QoS policies. If the AF detects changes in the session's requirements or network conditions, it can send updated QoS requests to the PDF, which in turn, can modify the policies in real-time.

Session Termination:

  • When the session ends, the AF notifies the PDF to terminate the QoS policies associated with the session. The PDF then instructs the PEP to release the resources allocated for that session.

For complete technical specification of Gq interface in Diameter protocol please refer to: [3GPP TS 29.209]
Signaling flows related to the Gq interface are specified in [3GPP TS 29.208]

package com.mobius.software.telco.protocols.diameter.primitives.gq

  Name

AVP Code

Data Type

Vendor

Authorization-Package-Id

461

UTF8String

ETSI

Used to identify an authorization context requested by the Application Function (AF) for a given session. This AVP is typically employed in policy and charging control scenarios, enabling applications to request specific authorization policies. It is a transparent parameter carried over the Rq interface between the Session and Policy Decision Function (SPDF) and the Application Function (AF), as defined in [ES 283 026].

Authorization-Token

506

OctetString

3GPP

Used to carry an Authorization Token as defined in [RFC3520]. This token acts as a security credential, enabling access control and policy enforcement within Diameter-based systems. It is primarily employed in scenarios where resource reservation or policy-based control requires a pre-established authorization mechanism, ensuring the requestor's identity and permissions are validated. 

Binding-Information

450

Grouped

ETSI

Used to carry binding information between the Application Function (AF) and the Service Policy Decision Function (SPDF). It facilitates Network Address and Port Translation (NA(P)T) control, including hosted NA(P)T and NA(P)T-PT scenarios. The AVP structure is defined as follows:

Binding-Input-List (Required): Specifies the list of input binding rules that describe the source IP/port pairs.

Binding-Output-List (Optional): Specifies the list of output binding rules for translated IP/port pairs.

Binding-Input-List

451

Grouped

ETSI

Carries a list of transport addresses for which a binding is requested. It is primarily used by the Application Function (AF) to establish or manage network address bindings between access-side and core-side transport addresses in NAT or NAT-PT scenarios. The AVP structure is defined as follows:

V6-Transport-Address (Optional, Repeated): Specifies an IPv6 address for transport.

V4-Transport-Address (Optional, Repeated): Specifies an IPv4 address for transport.

Binding-Output-List

452

Grouped

ETSI

Contains a list of transport addresses resulting from a binding operation performed by transport plane functions. It is primarily used to represent the output addresses assigned during the binding process for NAT, NAT-PT, and related address translations. The AVP structure is defined as follows:

V6-Transport-Address (Optional, Repeated): Specifies an IPv6 address assigned during the binding process.

V4-Transport-Address (Optional, Repeated): Specifies an IPv4 address assigned during the binding process.

Flow-Grouping

508

Grouped

3GPP

Indicates that the listed IP Flows must not be transported together with other IP flows in the same Packet Data Protocol (PDP) context(s). This AVP is critical for managing QoS and ensuring proper separation of traffic flows in Diameter-based networks. The Flow-Grouping AVP is used to specify or update flow grouping information across service information exchanges, ensuring consistent management of IP flow separation. It provides the following functionalities:

  • Introduces new flow grouping information, replacing previously defined groupings.

  • Invalidates previous flow grouping information if supplied without any Flows AVPs.

  • Ensures subsequent updates to flow grouping do not restrict flow grouping for IP flows already described in prior service information. 

The AVP structure is defined as follows:

Flows (Optional, Multiple): Specifies the IP flows to be grouped. Each Flows AVP contains detailed attributes describing individual IP flows.

If no Flows AVPs are present in the Flow-Grouping AVP, it invalidates earlier flow grouping information.

A Flow-Grouping AVP with no Flows must not coexist with other Flow-Grouping AVPs in the same service information.

Usage Notes:

  • If no Flow-Grouping AVPs are provided in updated service information, the previously valid flow grouping remains unchanged.

  • If new Flow-Grouping AVPs are supplied, they replace and invalidate all prior flow grouping information, even if unrelated to the new flows.

  • Flow grouping updates must not further restrict grouping for flows already described in earlier service information. However, newly described IP flows can be added to existing groups or form new flow groups.

  • The Flow-Grouping AVP is vital for scenarios requiring strict separation of traffic flows to meet QoS requirements or enforce security and isolation policies.

Flows

510

Grouped

3GPP

Identifies IP flows by their flow identifiers. It is primarily used to define individual flows or groups of flows that are associated with a media component during resource allocation and policy enforcement in Policy and Charging Control (PCC).

The AVP structure is defined as follows:

Media-Component-Number (Mandatory, Unsigned32): Identifies the media component associated with this flow (e.g., video or audio stream).

Flow-Number (Optional, Repeated, Unsigned32): Specifies individual flow identifiers within the component.

Absence implies all flows matching the media component.

Latching-Indication

457

Enumerated

ETSI

Used in the Gq interface to specify the latching behavior of a media stream during session establishment or modification. It indicates whether the IP flow should be latched (bound to a source IP address and port) or relatched (rebound to a new source IP and port). This AVP helps in scenarios where the source address or port of a media stream may change dynamically, such as in NAT traversal or mobility cases.

Values:

0 LATCH: Indicates that the IP flow should be latched to the initial source IP address and port.

1 RELATCH: Allows the flow to rebind to a new source IP address and port if the initial binding changes.

Media-Component-Description

517

Grouped

3GPP

Contains service-related information for a single media component within an Application Function (AF) session. This AVP is primarily utilized for QoS (Quality of Service) authorization, IP flow classification, and charging rule selection. It serves as a container for IP flows and bandwidth information that apply to the media component, supporting dynamic policy and charging control mechanisms within Policy and Charging Rules Function (PCRF).

The AVP structure is defined as follows:

Media-Component-Number (Mandatory): Unique ordinal number representing the media component.

Media-Sub-Component (Optional): List of flows associated with the media component.

AF-Application-Identifier (Optional): Identifies the application function context.

Media-Type (Optional): Type of media (e.g., Audio, Video) using the MediaTypeEnum.

Max-Requested-Bandwidth-UL (Optional): Maximum uplink bandwidth requested for the component (in bits per second).

Max-Requested-Bandwidth-DL (Optional): Maximum downlink bandwidth requested for the component (in bits per second).

Flow-Status (Optional): Indicates the status of flows (e.g., ACTIVE, REMOVED) using FlowStatusEnum.

RS-Bandwidth (Optional): Signaling bandwidth reserved for the component (in bits per second).

RR-Bandwidth (Optional): Receiving bandwidth reserved for the component (in bits per second).

Media-Sub-Component

519

Grouped

3GPP

Defines the requested QoS and IP flow filters for a set of IP flows identified by their Flow-Identifier. It is part of the Media-Component-Description AVP and allows for more granular control over individual flows within a media component, enabling bandwidth allocation and flow-specific policies.

The AVP structure is defined as follows:

Flow-Number (Mandatory): Unique ordinal number for the IP flow.

Flow-Description (Optional, 0–2 AVPs): Describes the direction (UL/DL) and filtering rules for the flow.

Flow-Status (Optional): Indicates the status of the flow, e.g., ACTIVE or REMOVED.

Flow-Usage (Optional): Specifies whether the flow is for real-time media or signaling, using FlowUsageEnum.

Max-Requested-Bandwidth-UL (Optional): Maximum uplink bandwidth requested for the flow (in bits per second).

Max-Requested-Bandwidth-DL (Optional): Maximum downlink bandwidth requested for the flow (in bits per second).

Usage Notes:

  • If optional parameters are omitted, previously defined values remain valid unless overridden in the encapsulating Media-Component-Description AVP.

  • Supplying a Flow-Status with a value of REMOVED permanently disables all IP flows within the Media-Sub-Component.

  • New Flow-Description AVPs replace all prior descriptions, even if their directions differ.

Overbooking-Indicator

460

Enumerated

ETSI

Used in the Gq interface to signal whether resource requests should be processed in overbooking mode. It is included during session initiation or session modification procedures, enabling dynamic resource allocation strategies based on network congestion or service priorities.

Values:

0 NO_OVERBOOKING: No overbooking is required; enforce strict resource allocation policies.

1 OVERBOOKING_REQUIRED: Overbooking mode is required; allow resource sharing and relaxed constraints if needed.

Port-Number

455

Unsigned32

ETSI

Specifies the port number used as the end-point for communication sessions in the Diameter protocol's Gq interface.

Value Range:

0–1023: Well-Known Ports (e.g., HTTP - 80, HTTPS - 443).

1024–49151: Registered Ports (used by specific applications).

49152–65535: Dynamic/Private Ports (used temporarily by clients).

Reservation-Class

456

Unsigned32

ETSI

Acts as an index to identify specific traffic characteristics for a given flow. These characteristics may include properties like burstiness and packet size, which are critical for resource reservation and Quality of Service (QoS) management in Diameter protocol Gq interface.

Value Range:

0: Best-effort, no specific QoS guarantees.

1: Low-latency, high-reliability traffic.

2: High-priority, multimedia traffic.

3–255: Vendor-specific or reserved traffic classes.

Reservation-Priority

458

Enumerated

ETSI

Used to specify the priority level associated with a resource reservation request in the Diameter protocol's Gq interface. It determines the relative importance of the reservation compared to others, ensuring priority handling for critical sessions.

Values:

0 (DEFAULT): Lowest priority; applied if AVP is not specified. Background data transfers (non-critical).

1 (PRIORITY-ONE): Highest priority for mission-critical tasks. Emergency services (e.g., E911 calls).

2–14: Intermediate priority levels. Streaming video, VoIP, gaming applications.

15 (PRIORITY-FIFTEEN): Lowest user-defined priority level. Bulk downloads, email synchronization.

Service-Class

459

UTF8String

ETSI

Specifies the service class requested by the Application Function (AF). It is primarily used for policy enforcement within the Session and Policy Decision Function (SPDF).

V4-Transport-Address

454

Grouped

ETSI

Used to define a single IPv4 address and a single port number. It specifies transport-level addressing information for IPv4-based communication in Diameter applications.

The AVP structure is defined as follows:

Framed-IP-Address: Specifies the IPv4 address (e.g., 192.168.1.1).

Port-Number: Specifies the port number associated with the transport address.

V6-Transport-Address

453

Grouped

ETSI

Used to define a single IPv6 address and a single port number. It specifies transport-layer addressing information for IPv6-based communication in Diameter applications.

The AVP structure is defined as follows:

Framed-IPv6-Prefix: Specifies the IPv6 address or prefix (e.g., 2001:db8::/64).

Port-Number: Specifies the port number associated with the transport address.  

 

 

 

Start innovating with Mobius

What's next? Let's talk!

Mobius Software

As a company you'll get:

  • Get started quickly

  • Support any business model

  • Join millions of businesses

Questions? websupport@mobius.com