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 ]
     
     
    • 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 - if qosClassIdentifier is null.
      • 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. Use hasMaxRequestedBandwidthUl() 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. Use hasMaxRequestedBandwidthDl() 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 - if defaultQosName is null.
      • 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 - if avps is null.
      • removeExtensionAvps

        void removeExtensionAvps()
        Removes all extension AVPs from the Default-QoS-Information AVP. If no extension AVPs are present, this method returns silently.