public interface QosInformation extends GroupedAvp
5.3.16 QoS-Information The QoS-Information AVP (AVP code 1016) is of type Grouped, and it defines the QoS information for resources requested by the UE, an IP-CAN bearer, PCC rule, QCI or APN. When this AVP is sent from the PCEF to the PCRF, it indicates the requested QoS information associated with resources requested by the UE, an IP CAN bearer or the subscribed QoS information at APN level. When this AVP is sent from the PCRF to the PCEF, it indicates the authorized QoS for: - an IP CAN bearer (when appearing at CCA or RAR command level or - a service data flow (when included within the PCC rule) or - a QCI (when appearing at CCA or RAR command level with the QoS-Class-Identifier AVP and the Maximum-Requested-Bandwidth-UL AVP and/or the Maximum-Requested-Bandwidth-DL AVP) or - an APN (when appearing at CCA or RAR command level with APN-Aggregate-Max-Bitrate-UL and APN-Aggregate-Max-Bitrate-DL). The QoS class identifier identifies a set of IP-CAN specific QoS parameters that define QoS, excluding the applicable bitrates and ARP. It is applicable both for uplink and downlink direction. The Max-Requested-Bandwidth-UL defines the maximum bit rate allowed for the uplink direction. The Max-Requested-Bandwidth-DL defines the maximum bit rate allowed for the downlink direction. The Guaranteed-Bitrate-UL defines the guaranteed bit rate allowed for the uplink direction. The Guaranteed-Bitrate-DL defines the guaranteed bit rate allowed for the downlink direction. The APN-Aggregate-Max-Bitrate-UL defines the total bandwidth usage for the uplink direction of non-GBR QCIs at the APN. The APN-Aggregate-Max-Bitrate-DL defines the total bandwidth usage for the downlink direction of non-GBR QCIs at the APN. The Bearer Identifier AVP shall be included as part of the QoS-Information AVP if the QoS information refers to an IP CAN bearer initiated by the UE and the PCRF performs the bearer binding. The Bearer Identifier AVP identifies this bearer. Several QoS-Information AVPs for different Bearer Identifiers may be provided per command. When the QoS-Information AVP is provided within the CCR command along with the RESOURCE_MODIFICATION_REQUEST event trigger, the QoS-information AVP includes only the QoS-Class-Identifier AVP and Guaranteed-Bitrate-UL and/or Guaranteed-Bitrate-DL AVPs. The Allocation-Retention-Priority AVP is an indicator of the priority of allocation and retention for the Service Data Flow. If the QoS-Information AVP has been supplied previously but is omitted in a Diameter message or AVP, the previous information remains valid. If the QoS-Information AVP has not been supplied from the PCRF to the PCEF previously and is omitted in a Diameter message or AVP, no enforcement of the authorized QoS shall be performed. It has the following ABNF grammar: 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]
FLAG_RULE_MAY, FLAG_RULE_MUST, FLAG_RULE_MUSTNOT
Modifier and Type | Method and Description |
---|---|
AllocationRetentionPriority |
getAllocationRetentionPriority()
Returns the value of the Allocation-Retention-Priority AVP, of type Grouped.
|
long |
getApnAggregateMaxBitrateDl()
Returns the value of the APN-Aggregate-Max-Bitrate-DL AVP, of type Unsigned32.
|
long |
getApnAggregateMaxBitrateUl()
Returns the value of the APN-Aggregate-Max-Bitrate-UL AVP, of type Unsigned32.
|
byte[] |
getBearerIdentifier()
Returns the value of the Bearer-Identifier AVP, of type OctetString.
|
DiameterAvp[] |
getExtensionAvps()
Returns the set of extension AVPs.
|
long |
getGuaranteedBitrateDl()
Returns the value of the Guaranteed-Bitrate-DL AVP, of type Unsigned32.
|
long |
getGuaranteedBitrateUl()
Returns the value of the Guaranteed-Bitrate-UL AVP, of type Unsigned32.
|
long |
getMaxRequestedBandwidthDl()
Returns the value of the Max-Requested-Bandwidth-DL AVP, of type Unsigned32.
|
long |
getMaxRequestedBandwidthUl()
Returns the value of the Max-Requested-Bandwidth-UL AVP, of type Unsigned32.
|
QosClassIdentifier |
getQosClassIdentifier()
Returns the value of the QoS-Class-Identifier AVP, of type Enumerated.
|
boolean |
hasAllocationRetentionPriority()
Returns true if the Allocation-Retention-Priority AVP is present in the QoS-Information AVP.
|
boolean |
hasApnAggregateMaxBitrateDl()
Returns true if the APN-Aggregate-Max-Bitrate-DL AVP is present in the QoS-Information AVP.
|
boolean |
hasApnAggregateMaxBitrateUl()
Returns true if the APN-Aggregate-Max-Bitrate-UL AVP is present in the QoS-Information AVP.
|
boolean |
hasBearerIdentifier()
Returns true if the Bearer-Identifier AVP is present in the QoS-Information AVP.
|
boolean |
hasGuaranteedBitrateDl()
Returns true if the Guaranteed-Bitrate-DL AVP is present in the QoS-Information AVP.
|
boolean |
hasGuaranteedBitrateUl()
Returns true if the Guaranteed-Bitrate-UL AVP is present in the QoS-Information AVP.
|
boolean |
hasMaxRequestedBandwidthDl()
Returns true if the Max-Requested-Bandwidth-DL AVP is present in the QoS-Information AVP.
|
boolean |
hasMaxRequestedBandwidthUl()
Returns true if the Max-Requested-Bandwidth-UL AVP is present in the QoS-Information AVP.
|
boolean |
hasQosClassIdentifier()
Returns true if the QoS-Class-Identifier AVP is present in the QoS-Information AVP.
|
void |
removeAllocationRetentionPriority()
Removes the Allocation-Retention-Priority AVP from the QoS-Information AVP.
|
void |
removeApnAggregateMaxBitrateDl()
Removes the APN-Aggregate-Max-Bitrate-DL AVP from the QoS-Information AVP.
|
void |
removeApnAggregateMaxBitrateUl()
Removes the APN-Aggregate-Max-Bitrate-UL AVP from the QoS-Information AVP.
|
void |
removeBearerIdentifier()
Removes the Bearer-Identifier AVP from the QoS-Information AVP.
|
void |
removeExtensionAvps()
Removes all extension AVPs from the QoS-Information AVP.
|
void |
removeGuaranteedBitrateDl()
Removes the Guaranteed-Bitrate-DL AVP from the QoS-Information AVP.
|
void |
removeGuaranteedBitrateUl()
Removes the Guaranteed-Bitrate-UL AVP from the QoS-Information AVP.
|
void |
removeMaxRequestedBandwidthDl()
Removes the Max-Requested-Bandwidth-DL AVP from the QoS-Information AVP.
|
void |
removeMaxRequestedBandwidthUl()
Removes the Max-Requested-Bandwidth-UL AVP from the QoS-Information AVP.
|
void |
removeQosClassIdentifier()
Removes the QoS-Class-Identifier AVP from the QoS-Information AVP.
|
void |
setAllocationRetentionPriority(AllocationRetentionPriority allocationRetentionPriority)
Sets the value of the Allocation-Retention-Priority AVP, of type Grouped.
|
void |
setApnAggregateMaxBitrateDl(long apnAggregateMaxBitrateDl)
Sets the value of the APN-Aggregate-Max-Bitrate-DL AVP, of type Unsigned32.
|
void |
setApnAggregateMaxBitrateUl(long apnAggregateMaxBitrateUl)
Sets the value of the APN-Aggregate-Max-Bitrate-UL AVP, of type Unsigned32.
|
void |
setBearerIdentifier(byte[] bearerIdentifier)
Sets the value of the Bearer-Identifier AVP, of type OctetString.
|
void |
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.
|
void |
setGuaranteedBitrateDl(long guaranteedBitrateDl)
Sets the value of the Guaranteed-Bitrate-DL AVP, of type Unsigned32.
|
void |
setGuaranteedBitrateUl(long guaranteedBitrateUl)
Sets the value of the Guaranteed-Bitrate-UL AVP, of type Unsigned32.
|
void |
setMaxRequestedBandwidthDl(long maxRequestedBandwidthDl)
Sets the value of the Max-Requested-Bandwidth-DL AVP, of type Unsigned32.
|
void |
setMaxRequestedBandwidthUl(long maxRequestedBandwidthUl)
Sets the value of the Max-Requested-Bandwidth-UL AVP, of type Unsigned32.
|
void |
setQosClassIdentifier(QosClassIdentifier qosClassIdentifier)
Sets the value of the QoS-Class-Identifier AVP, of type Enumerated.
|
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorID, groupedAvpValue, intValue, longValue, stringValue
boolean hasQosClassIdentifier()
QosClassIdentifier getQosClassIdentifier()
void setQosClassIdentifier(QosClassIdentifier qosClassIdentifier)
java.lang.NullPointerException
- if qosClassIdentifier
is null
.void removeQosClassIdentifier()
boolean hasMaxRequestedBandwidthUl()
long getMaxRequestedBandwidthUl()
hasMaxRequestedBandwidthUl()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Max-Requested-Bandwidth-UL AVP has not been set.void setMaxRequestedBandwidthUl(long maxRequestedBandwidthUl)
void removeMaxRequestedBandwidthUl()
boolean hasMaxRequestedBandwidthDl()
long getMaxRequestedBandwidthDl()
hasMaxRequestedBandwidthDl()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Max-Requested-Bandwidth-DL AVP has not been set.void setMaxRequestedBandwidthDl(long maxRequestedBandwidthDl)
void removeMaxRequestedBandwidthDl()
boolean hasGuaranteedBitrateUl()
long getGuaranteedBitrateUl()
hasGuaranteedBitrateUl()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Guaranteed-Bitrate-UL AVP has not been set.void setGuaranteedBitrateUl(long guaranteedBitrateUl)
void removeGuaranteedBitrateUl()
boolean hasGuaranteedBitrateDl()
long getGuaranteedBitrateDl()
hasGuaranteedBitrateDl()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Guaranteed-Bitrate-DL AVP has not been set.void setGuaranteedBitrateDl(long guaranteedBitrateDl)
void removeGuaranteedBitrateDl()
boolean hasBearerIdentifier()
byte[] getBearerIdentifier()
void setBearerIdentifier(byte[] bearerIdentifier)
java.lang.NullPointerException
- if bearerIdentifier
is null
.void removeBearerIdentifier()
boolean hasAllocationRetentionPriority()
AllocationRetentionPriority getAllocationRetentionPriority()
void setAllocationRetentionPriority(AllocationRetentionPriority allocationRetentionPriority)
java.lang.NullPointerException
- if allocationRetentionPriority
is null
.void removeAllocationRetentionPriority()
boolean hasApnAggregateMaxBitrateUl()
long getApnAggregateMaxBitrateUl()
hasApnAggregateMaxBitrateUl()
to check the existence of this AVP.java.lang.IllegalStateException
- if the APN-Aggregate-Max-Bitrate-UL AVP has not been set.void setApnAggregateMaxBitrateUl(long apnAggregateMaxBitrateUl)
void removeApnAggregateMaxBitrateUl()
boolean hasApnAggregateMaxBitrateDl()
long getApnAggregateMaxBitrateDl()
hasApnAggregateMaxBitrateDl()
to check the existence of this AVP.java.lang.IllegalStateException
- if the APN-Aggregate-Max-Bitrate-DL AVP has not been set.void setApnAggregateMaxBitrateDl(long apnAggregateMaxBitrateDl)
void removeApnAggregateMaxBitrateDl()
DiameterAvp[] getExtensionAvps()
void setExtensionAvps(DiameterAvp[] avps) throws AvpNotAllowedException
AvpNotAllowedException
- if an AVP is encountered of a type already known to this class
(i.e. an AVP for which get/set methods already appear in this class)java.lang.NullPointerException
- if avps
is null
.void removeExtensionAvps()