Interface SessionTerminationRequest

  • All Superinterfaces:
    Cloneable, DiameterMessage

    public interface SessionTerminationRequest
    extends DiameterMessage
    Defines an interface representing the Session-Termination-Request command. From the Diameter Base Protocol (rfc6733.txt) specification:
     8.4.1.  Session-Termination-Request
     
        The Session-Termination-Request (STR), indicated by the Command Code
        set to 275 and the Command Flags' 'R' bit set, is sent by a Diameter
        client or by a Diameter proxy to inform the Diameter server that an
        authenticated and/or authorized session is being terminated.
     
        Message Format
     
           <Session-Termination-Request> ::= < Diameter Header: 275, REQ, PXY >
                     < Session-Id >
                     { Origin-Host }
                     { Origin-Realm }
                     { Destination-Realm }
                     { Auth-Application-Id }
                     { Termination-Cause }
                     [ User-Name ]
                     [ Destination-Host ]
                   * [ Class ]
                     [ Origin-State-Id ]
                   * [ Proxy-Info ]
                   * [ Route-Record ]
                   * [ AVP ]
     
    • Method Detail

      • hasSessionId

        boolean hasSessionId()
        Returns true if the Session-Id AVP is present in the message.
      • getSessionId

        String getSessionId()
        Returns the value of the Session-Id AVP, of type UTF8String.
        Specified by:
        getSessionId in interface DiameterMessage
        Returns:
        the value of the Session-Id AVP or null if it has not been set on this message
      • removeSessionId

        void removeSessionId()
        Removes the Session-Id AVP from the message. If the Session-Id AVP is not present, this method returns silently.
      • hasOriginHost

        boolean hasOriginHost()
        Returns true if the Origin-Host AVP is present in the message.
      • getOriginHost

        DiameterIdentity getOriginHost()
        Returns the value of the Origin-Host AVP, of type DiameterIdentity.
        Specified by:
        getOriginHost in interface DiameterMessage
        Returns:
        the value of the Origin-Host AVP or null if it has not been set on this message
      • removeOriginHost

        void removeOriginHost()
        Removes the Origin-Host AVP from the message. If the Origin-Host AVP is not present, this method returns silently.
      • hasOriginRealm

        boolean hasOriginRealm()
        Returns true if the Origin-Realm AVP is present in the message.
      • getOriginRealm

        DiameterIdentity getOriginRealm()
        Returns the value of the Origin-Realm AVP, of type DiameterIdentity.
        Specified by:
        getOriginRealm in interface DiameterMessage
        Returns:
        the value of the Origin-Realm AVP or null if it has not been set on this message
      • removeOriginRealm

        void removeOriginRealm()
        Removes the Origin-Realm AVP from the message. If the Origin-Realm AVP is not present, this method returns silently.
      • hasDestinationRealm

        boolean hasDestinationRealm()
        Returns true if the Destination-Realm AVP is present in the message.
      • getDestinationRealm

        DiameterIdentity getDestinationRealm()
        Returns the value of the Destination-Realm AVP, of type DiameterIdentity.
        Specified by:
        getDestinationRealm in interface DiameterMessage
        Returns:
        the value of the Destination-Realm AVP or null if it has not been set on this message
      • removeDestinationRealm

        void removeDestinationRealm()
        Removes the Destination-Realm AVP from the message. If the Destination-Realm AVP is not present, this method returns silently.
      • hasAuthApplicationId

        boolean hasAuthApplicationId()
        Returns true if the Auth-Application-Id AVP is present in the message.
      • getAuthApplicationId

        long getAuthApplicationId()
        Returns the value of the Auth-Application-Id AVP, of type Unsigned32. Use hasAuthApplicationId() to check the existence of this AVP.
        Returns:
        the value of the Auth-Application-Id AVP
        Throws:
        IllegalStateException - if the Auth-Application-Id AVP has not been set on this message
      • setAuthApplicationId

        void setAuthApplicationId​(long authApplicationId)
        Sets the value of the Auth-Application-Id AVP, of type Unsigned32.
      • removeAuthApplicationId

        void removeAuthApplicationId()
        Removes the Auth-Application-Id AVP from the message. If the Auth-Application-Id AVP is not present, this method returns silently.
      • hasTerminationCause

        boolean hasTerminationCause()
        Returns true if the Termination-Cause AVP is present in the message.
      • getTerminationCause

        TerminationCause getTerminationCause()
        Returns the value of the Termination-Cause AVP, of type Enumerated.
        Returns:
        the value of the Termination-Cause AVP or null if it has not been set on this message
      • setTerminationCause

        void setTerminationCause​(TerminationCause terminationCause)
        Sets the value of the Termination-Cause AVP, of type Enumerated.
        Throws:
        NullPointerException - if terminationCause is null.
      • removeTerminationCause

        void removeTerminationCause()
        Removes the Termination-Cause AVP from the message. If the Termination-Cause AVP is not present, this method returns silently.
      • hasUserName

        boolean hasUserName()
        Returns true if the User-Name AVP is present in the message.
      • getUserName

        String getUserName()
        Returns the value of the User-Name AVP, of type UTF8String.
        Returns:
        the value of the User-Name AVP or null if it has not been set on this message
      • setUserName

        void setUserName​(String userName)
        Sets the value of the User-Name AVP, of type UTF8String.
        Throws:
        NullPointerException - if userName is null.
      • removeUserName

        void removeUserName()
        Removes the User-Name AVP from the message. If the User-Name AVP is not present, this method returns silently.
      • hasDestinationHost

        boolean hasDestinationHost()
        Returns true if the Destination-Host AVP is present in the message.
      • getDestinationHost

        DiameterIdentity getDestinationHost()
        Returns the value of the Destination-Host AVP, of type DiameterIdentity.
        Specified by:
        getDestinationHost in interface DiameterMessage
        Returns:
        the value of the Destination-Host AVP or null if it has not been set on this message
      • removeDestinationHost

        void removeDestinationHost()
        Removes the Destination-Host AVP from the message. If the Destination-Host AVP is not present, this method returns silently.
      • getClassAvps

        byte[][] getClassAvps()
        Returns the set of Class AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Class AVPs have been set. The elements in the given array are byte[] objects.
      • setClassAvp

        void setClassAvp​(byte[] classAvp)
        Sets a single Class AVP in the message, of type OctetString.
        Throws:
        NullPointerException - if classAvp is null.
      • setClassAvps

        void setClassAvps​(byte[][] classAvps)
        Sets the set of Class AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getClassAvps() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if classAvps is null.
      • removeClassAvps

        void removeClassAvps()
        Removes all Class AVPs from the message. If no Class AVPs are present, this method returns silently.
      • hasOriginStateId

        boolean hasOriginStateId()
        Returns true if the Origin-State-Id AVP is present in the message.
      • getOriginStateId

        long getOriginStateId()
        Returns the value of the Origin-State-Id AVP, of type Unsigned32. Use hasOriginStateId() to check the existence of this AVP.
        Returns:
        the value of the Origin-State-Id AVP
        Throws:
        IllegalStateException - if the Origin-State-Id AVP has not been set on this message
      • setOriginStateId

        void setOriginStateId​(long originStateId)
        Sets the value of the Origin-State-Id AVP, of type Unsigned32.
      • removeOriginStateId

        void removeOriginStateId()
        Removes the Origin-State-Id AVP from the message. If the Origin-State-Id AVP is not present, this method returns silently.
      • getProxyInfos

        ProxyInfo[] getProxyInfos()
        Returns the set of Proxy-Info AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Proxy-Info AVPs have been set. The elements in the given array are ProxyInfo objects.
      • setProxyInfo

        void setProxyInfo​(ProxyInfo proxyInfo)
        Sets a single Proxy-Info AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if proxyInfo is null.
      • setProxyInfos

        void setProxyInfos​(ProxyInfo[] proxyInfos)
        Sets the set of Proxy-Info AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getProxyInfos() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if proxyInfos is null.
      • removeProxyInfos

        void removeProxyInfos()
        Removes all Proxy-Info AVPs from the message. If no Proxy-Info AVPs are present, this method returns silently.
      • getRouteRecords

        DiameterIdentity[] getRouteRecords()
        Returns the set of Route-Record AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Route-Record AVPs have been set. The elements in the given array are DiameterIdentity objects.
      • setRouteRecord

        void setRouteRecord​(DiameterIdentity routeRecord)
        Sets a single Route-Record AVP in the message, of type DiameterIdentity.
        Throws:
        NullPointerException - if routeRecord is null.
      • setRouteRecords

        void setRouteRecords​(DiameterIdentity[] routeRecords)
        Sets the set of Route-Record AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getRouteRecords() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if routeRecords is null.
      • removeRouteRecords

        void removeRouteRecords()
        Removes all Route-Record AVPs from the message. If no Route-Record AVPs are 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 message. 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 message 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 message. If no extension AVPs are present, this method returns silently.