Interface DefaultQosInformation
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface DefaultQosInformation extends GroupedAvp
Defines an interface representing the Default-QoS-Information grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V11.9.0) specification:5.3.103 Default-QoS-Information AVP (FBA access type) The Default-QoS-Information AVP (AVP code 2816) is of type Grouped, and it defines the Default QoS information for the IP-CAN session in the Fixed Broadband Access.When this AVP is sent from the PCEF to the PCRF, it indicates the default QoS information provided by the Fixed Broadband Access network. When this AVP is sent from the PCRF to the PCEF, it indicates the authorized Default QoS for the IP-CAN session. The Default-QoS-Information AVP can be dynamically provided or preconfigured in the PCEF. When dynamically provided, it consists of a QCI (QoS-Class-Identifier AVP) and MBR (Max-Requested-Bandwidth-UL AVP and Max-Requested-Bandwidth-DL AVP). When it is preconfigured in the PCEF it consists of the default QoS profile name included in Default-QoS-Name AVP. The QoS-Class-Identifier AVP identifies a set of IP-CAN specific QoS parameters that define the Default QoS. The Max-Requested-Bandwidth-UL AVP defines the maximum bit rate allowed for the uplink direction. The Max-Requested-Bandwidth-DL AVP defines the maximum bit rate allowed for the downlink direction. The Default-QoS-Name AVP defines the default QoS profile pre-defined in the PCEF. If the Default-QoS-Information AVP is omitted in a Diameter message, the previous information remains valid. AVP Format: Default-QoS-Information ::= < AVP Header: 2816 > [ QoS-Class-Identifier ] [ Max-Requested-Bandwidth-UL ] [ Max-Requested-Bandwidth-DL ] [ Default-QoS-Name ] *[ AVP ]
-
-
Field Summary
-
Fields inherited from interface org.jainslee.resources.diameter.base.DiameterAvp
FLAG_RULE_MAY, FLAG_RULE_MUST, FLAG_RULE_MUSTNOT
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
getDefaultQosName()
Returns the value of the Default-QoS-Name AVP, of type UTF8String.DiameterAvp[]
getExtensionAvps()
Returns the set of extension AVPs.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
hasDefaultQosName()
Returns true if the Default-QoS-Name AVP is present in the Default-QoS-Information AVP.boolean
hasMaxRequestedBandwidthDl()
Returns true if the Max-Requested-Bandwidth-DL AVP is present in the Default-QoS-Information AVP.boolean
hasMaxRequestedBandwidthUl()
Returns true if the Max-Requested-Bandwidth-UL AVP is present in the Default-QoS-Information AVP.boolean
hasQosClassIdentifier()
Returns true if the QoS-Class-Identifier AVP is present in the Default-QoS-Information AVP.void
removeDefaultQosName()
Removes the Default-QoS-Name AVP from the Default-QoS-Information AVP.void
removeExtensionAvps()
Removes all extension AVPs from the Default-QoS-Information AVP.void
removeMaxRequestedBandwidthDl()
Removes the Max-Requested-Bandwidth-DL AVP from the Default-QoS-Information AVP.void
removeMaxRequestedBandwidthUl()
Removes the Max-Requested-Bandwidth-UL AVP from the Default-QoS-Information AVP.void
removeQosClassIdentifier()
Removes the QoS-Class-Identifier AVP from the Default-QoS-Information AVP.void
setDefaultQosName(String defaultQosName)
Sets the value of the Default-QoS-Name AVP, of type UTF8String.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.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.-
Methods inherited from interface org.jainslee.resources.diameter.base.DiameterAvp
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorID, groupedAvpValue, intValue, longValue, stringValue
-
-
-
-
Method Detail
-
hasQosClassIdentifier
boolean hasQosClassIdentifier()
Returns true if the QoS-Class-Identifier AVP is present in the Default-QoS-Information AVP.
-
getQosClassIdentifier
QosClassIdentifier getQosClassIdentifier()
Returns the value of the QoS-Class-Identifier AVP, of type Enumerated.- Returns:
- the value of the QoS-Class-Identifier AVP, or null if it has not been set.
-
setQosClassIdentifier
void setQosClassIdentifier(QosClassIdentifier qosClassIdentifier)
Sets the value of the QoS-Class-Identifier AVP, of type Enumerated.- Throws:
NullPointerException
- ifqosClassIdentifier
isnull
.
-
removeQosClassIdentifier
void removeQosClassIdentifier()
Removes the QoS-Class-Identifier AVP from the Default-QoS-Information AVP. If the QoS-Class-Identifier AVP is not present, this method returns silently.
-
hasMaxRequestedBandwidthUl
boolean hasMaxRequestedBandwidthUl()
Returns true if the Max-Requested-Bandwidth-UL AVP is present in the Default-QoS-Information AVP.
-
getMaxRequestedBandwidthUl
long getMaxRequestedBandwidthUl()
Returns the value of the Max-Requested-Bandwidth-UL AVP, of type Unsigned32. UsehasMaxRequestedBandwidthUl()
to check the existence of this AVP.- Returns:
- the value of the Max-Requested-Bandwidth-UL AVP
- Throws:
IllegalStateException
- if the Max-Requested-Bandwidth-UL AVP has not been set.
-
setMaxRequestedBandwidthUl
void setMaxRequestedBandwidthUl(long maxRequestedBandwidthUl)
Sets the value of the Max-Requested-Bandwidth-UL AVP, of type Unsigned32.
-
removeMaxRequestedBandwidthUl
void removeMaxRequestedBandwidthUl()
Removes the Max-Requested-Bandwidth-UL AVP from the Default-QoS-Information AVP. If the Max-Requested-Bandwidth-UL AVP is not present, this method returns silently.
-
hasMaxRequestedBandwidthDl
boolean hasMaxRequestedBandwidthDl()
Returns true if the Max-Requested-Bandwidth-DL AVP is present in the Default-QoS-Information AVP.
-
getMaxRequestedBandwidthDl
long getMaxRequestedBandwidthDl()
Returns the value of the Max-Requested-Bandwidth-DL AVP, of type Unsigned32. UsehasMaxRequestedBandwidthDl()
to check the existence of this AVP.- Returns:
- the value of the Max-Requested-Bandwidth-DL AVP
- Throws:
IllegalStateException
- if the Max-Requested-Bandwidth-DL AVP has not been set.
-
setMaxRequestedBandwidthDl
void setMaxRequestedBandwidthDl(long maxRequestedBandwidthDl)
Sets the value of the Max-Requested-Bandwidth-DL AVP, of type Unsigned32.
-
removeMaxRequestedBandwidthDl
void removeMaxRequestedBandwidthDl()
Removes the Max-Requested-Bandwidth-DL AVP from the Default-QoS-Information AVP. If the Max-Requested-Bandwidth-DL AVP is not present, this method returns silently.
-
hasDefaultQosName
boolean hasDefaultQosName()
Returns true if the Default-QoS-Name AVP is present in the Default-QoS-Information AVP.
-
getDefaultQosName
String getDefaultQosName()
Returns the value of the Default-QoS-Name AVP, of type UTF8String.- Returns:
- the value of the Default-QoS-Name AVP, or null if it has not been set.
-
setDefaultQosName
void setDefaultQosName(String defaultQosName)
Sets the value of the Default-QoS-Name AVP, of type UTF8String.- Throws:
NullPointerException
- ifdefaultQosName
isnull
.
-
removeDefaultQosName
void removeDefaultQosName()
Removes the Default-QoS-Name AVP from the Default-QoS-Information AVP. If the Default-QoS-Name AVP is not present, this method returns silently.
-
getExtensionAvps
DiameterAvp[] getExtensionAvps()
Returns the set of extension AVPs. The returned array contains the extension AVPs in the order they appear in the Default-QoS-Information AVP. A return value of null implies that no extensions AVPs have been set.
-
setExtensionAvps
void setExtensionAvps(DiameterAvp[] avps) throws AvpNotAllowedException
Sets the set of extension AVPs with all the values in the given array. The AVPs will be added to Default-QoS-Information AVP in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getExtensionAvps() is not guaranteed to return the same array instance, e.g. an "==" check would fail.- Throws:
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)NullPointerException
- ifavps
isnull
.
-
removeExtensionAvps
void removeExtensionAvps()
Removes all extension AVPs from the Default-QoS-Information AVP. If no extension AVPs are present, this method returns silently.
-
-