Interface IsupCause

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface IsupCause
    extends GroupedAvp
    Defines an interface representing the ISUP-Cause grouped AVP type. From the Diameter Rf Reference Point Protocol Details (3GPP TS 32.299 V12.11.0) specification:
     7.2.80 B ISUP-Cause AVP
     
     The ISUP-Cause  AVP (AVP code 3416) is of type Grouped and indicates the reason a voice call service is released. 
     It has the following ABNF:
     
         ISUP-Cause ::= <AVP Header: 3416>
                         [ ISUP-Cause-Location ]
                         [ ISUP-Cause-Value ]
                         [ ISUP-Cause-Diagnostics ]
     
    Note:
    The support for extension AVPs is present even thou the ABNF grammar for this AVP does not contain the "* [ AVP ]" line. Be aware that adding any extension AVPs may result in interoperability problems with products that strongly validate the incoming diameter message for it's adherence to the specification.
    • Method Detail

      • hasIsupCauseLocation

        boolean hasIsupCauseLocation()
        Returns true if the ISUP-Cause-Location AVP is present in the ISUP-Cause AVP.
      • getIsupCauseLocation

        long getIsupCauseLocation()
        Returns the value of the ISUP-Cause-Location AVP, of type Unsigned32. Use hasIsupCauseLocation() to check the existence of this AVP.
        Returns:
        the value of the ISUP-Cause-Location AVP
        Throws:
        IllegalStateException - if the ISUP-Cause-Location AVP has not been set.
      • setIsupCauseLocation

        void setIsupCauseLocation​(long isupCauseLocation)
        Sets the value of the ISUP-Cause-Location AVP, of type Unsigned32.
      • removeIsupCauseLocation

        void removeIsupCauseLocation()
        Removes the ISUP-Cause-Location AVP from the ISUP-Cause AVP. If the ISUP-Cause-Location AVP is not present, this method returns silently.
      • hasIsupCauseValue

        boolean hasIsupCauseValue()
        Returns true if the ISUP-Cause-Value AVP is present in the ISUP-Cause AVP.
      • getIsupCauseValue

        long getIsupCauseValue()
        Returns the value of the ISUP-Cause-Value AVP, of type Unsigned32. Use hasIsupCauseValue() to check the existence of this AVP.
        Returns:
        the value of the ISUP-Cause-Value AVP
        Throws:
        IllegalStateException - if the ISUP-Cause-Value AVP has not been set.
      • setIsupCauseValue

        void setIsupCauseValue​(long isupCauseValue)
        Sets the value of the ISUP-Cause-Value AVP, of type Unsigned32.
      • removeIsupCauseValue

        void removeIsupCauseValue()
        Removes the ISUP-Cause-Value AVP from the ISUP-Cause AVP. If the ISUP-Cause-Value AVP is not present, this method returns silently.
      • hasIsupCauseDiagnostics

        boolean hasIsupCauseDiagnostics()
        Returns true if the ISUP-Cause-Diagnostics AVP is present in the ISUP-Cause AVP.
      • getIsupCauseDiagnostics

        byte[] getIsupCauseDiagnostics()
        Returns the value of the ISUP-Cause-Diagnostics AVP, of type OctetString.
        Returns:
        the value of the ISUP-Cause-Diagnostics AVP, or null if it has not been set.
      • setIsupCauseDiagnostics

        void setIsupCauseDiagnostics​(byte[] isupCauseDiagnostics)
        Sets the value of the ISUP-Cause-Diagnostics AVP, of type OctetString.
        Throws:
        NullPointerException - if isupCauseDiagnostics is null.
      • removeIsupCauseDiagnostics

        void removeIsupCauseDiagnostics()
        Removes the ISUP-Cause-Diagnostics AVP from the ISUP-Cause AVP. If the ISUP-Cause-Diagnostics 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 ISUP-Cause 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 ISUP-Cause 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 ISUP-Cause AVP. If no extension AVPs are present, this method returns silently.