Interface ReAuthRequest

  • All Superinterfaces:
    Cloneable, DiameterMessage

    public interface ReAuthRequest
    extends DiameterMessage
    Defines an interface representing the Re-Auth-Request command. From the Diameter Gx Reference Point Protocol Details (TGPP TS 29.212 V10.1.0) specification:
     5.6.4   Re-Auth-Request (RAR) Command
     
         The RAR command, indicated by the Command-Code field set to 258 and the 'R' bit set in the Command Flags field, 
         is sent by the PCRF to the BBERF/PCEF in order to provision QoS/PCC rules using the PUSH procedure initiate 
         the provision of unsolicited QoS/PCC rules. It is used to provision QoS/PCC rules, event triggers and 
         event report indications for the session. If the PCRF performs the bearer binding, PCC rules will be 
         provisioned at bearer level.
     
         Message Format:
         <Re-Auth-Request> ::= < Diameter Header: 258, REQ, PXY >
                      < Session-Id >
                      { Auth-Application-Id }
                      { Origin-Host }
                      { Origin-Realm }
                      { Destination-Realm }
                      { Destination-Host }
                      { Re-Auth-Request-Type }
                      [ Session-Release-Cause ]
                      [ Origin-State-Id ]
                     *[ Event-Trigger ]
                      [ Event-Report-Indication ]
                     *[ Charging-Rule-Remove ]
                     *[ Charging-Rule-Install ]
                      [ Default-EPS-Bearer-QoS ]
                     *[ QoS-Information ]
                      [ Revalidation-Time ]
                     *[ Usage-Monitoring-Information ]
                     *[ 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.
      • 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.
      • 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.
      • 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.
      • hasReAuthRequestType

        boolean hasReAuthRequestType()
        Returns true if the Re-Auth-Request-Type AVP is present in the message.
      • getReAuthRequestType

        ReAuthRequestType getReAuthRequestType()
        Returns the value of the Re-Auth-Request-Type AVP, of type Enumerated.
        Returns:
        the value of the Re-Auth-Request-Type AVP or null if it has not been set on this message
      • setReAuthRequestType

        void setReAuthRequestType​(ReAuthRequestType reAuthRequestType)
        Sets the value of the Re-Auth-Request-Type AVP, of type Enumerated.
        Throws:
        NullPointerException - if reAuthRequestType is null.
      • removeReAuthRequestType

        void removeReAuthRequestType()
        Removes the Re-Auth-Request-Type AVP from the message. If the Re-Auth-Request-Type AVP is not present, this method returns silently.
      • hasSessionReleaseCause

        boolean hasSessionReleaseCause()
        Returns true if the Session-Release-Cause AVP is present in the message.
      • getSessionReleaseCause

        SessionReleaseCause getSessionReleaseCause()
        Returns the value of the Session-Release-Cause AVP, of type Enumerated.
        Returns:
        the value of the Session-Release-Cause AVP or null if it has not been set on this message
      • setSessionReleaseCause

        void setSessionReleaseCause​(SessionReleaseCause sessionReleaseCause)
        Sets the value of the Session-Release-Cause AVP, of type Enumerated.
        Throws:
        NullPointerException - if sessionReleaseCause is null.
      • removeSessionReleaseCause

        void removeSessionReleaseCause()
        Removes the Session-Release-Cause AVP from the message. If the Session-Release-Cause AVP is not 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.
      • getEventTriggers

        EventTrigger[] getEventTriggers()
        Returns the set of Event-Trigger AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Event-Trigger AVPs have been set. The elements in the given array are EventTrigger objects.
      • setEventTrigger

        void setEventTrigger​(EventTrigger eventTrigger)
        Sets a single Event-Trigger AVP in the message, of type Enumerated.
        Throws:
        NullPointerException - if eventTrigger is null.
      • setEventTriggers

        void setEventTriggers​(EventTrigger[] eventTriggers)
        Sets the set of Event-Trigger 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 getEventTriggers() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if eventTriggers is null.
      • removeEventTriggers

        void removeEventTriggers()
        Removes all Event-Trigger AVPs from the message. If no Event-Trigger AVPs are present, this method returns silently.
      • hasEventReportIndication

        boolean hasEventReportIndication()
        Returns true if the Event-Report-Indication AVP is present in the message.
      • getEventReportIndication

        EventReportIndication getEventReportIndication()
        Returns the value of the Event-Report-Indication AVP, of type Grouped.
        Returns:
        the value of the Event-Report-Indication AVP or null if it has not been set on this message
      • setEventReportIndication

        void setEventReportIndication​(EventReportIndication eventReportIndication)
        Sets the value of the Event-Report-Indication AVP, of type Grouped.
        Throws:
        NullPointerException - if eventReportIndication is null.
      • removeEventReportIndication

        void removeEventReportIndication()
        Removes the Event-Report-Indication AVP from the message. If the Event-Report-Indication AVP is not present, this method returns silently.
      • getChargingRuleRemoves

        ChargingRuleRemove[] getChargingRuleRemoves()
        Returns the set of Charging-Rule-Remove AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Charging-Rule-Remove AVPs have been set. The elements in the given array are ChargingRuleRemove objects.
      • setChargingRuleRemove

        void setChargingRuleRemove​(ChargingRuleRemove chargingRuleRemove)
        Sets a single Charging-Rule-Remove AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if chargingRuleRemove is null.
      • setChargingRuleRemoves

        void setChargingRuleRemoves​(ChargingRuleRemove[] chargingRuleRemoves)
        Sets the set of Charging-Rule-Remove 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 getChargingRuleRemoves() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if chargingRuleRemoves is null.
      • removeChargingRuleRemoves

        void removeChargingRuleRemoves()
        Removes all Charging-Rule-Remove AVPs from the message. If no Charging-Rule-Remove AVPs are present, this method returns silently.
      • getChargingRuleInstalls

        ChargingRuleInstall[] getChargingRuleInstalls()
        Returns the set of Charging-Rule-Install AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Charging-Rule-Install AVPs have been set. The elements in the given array are ChargingRuleInstall objects.
      • setChargingRuleInstall

        void setChargingRuleInstall​(ChargingRuleInstall chargingRuleInstall)
        Sets a single Charging-Rule-Install AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if chargingRuleInstall is null.
      • setChargingRuleInstalls

        void setChargingRuleInstalls​(ChargingRuleInstall[] chargingRuleInstalls)
        Sets the set of Charging-Rule-Install 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 getChargingRuleInstalls() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if chargingRuleInstalls is null.
      • removeChargingRuleInstalls

        void removeChargingRuleInstalls()
        Removes all Charging-Rule-Install AVPs from the message. If no Charging-Rule-Install AVPs are present, this method returns silently.
      • hasDefaultEpsBearerQos

        boolean hasDefaultEpsBearerQos()
        Returns true if the Default-EPS-Bearer-QoS AVP is present in the message.
      • getDefaultEpsBearerQos

        DefaultEpsBearerQos getDefaultEpsBearerQos()
        Returns the value of the Default-EPS-Bearer-QoS AVP, of type Grouped.
        Returns:
        the value of the Default-EPS-Bearer-QoS AVP or null if it has not been set on this message
      • setDefaultEpsBearerQos

        void setDefaultEpsBearerQos​(DefaultEpsBearerQos defaultEpsBearerQos)
        Sets the value of the Default-EPS-Bearer-QoS AVP, of type Grouped.
        Throws:
        NullPointerException - if defaultEpsBearerQos is null.
      • removeDefaultEpsBearerQos

        void removeDefaultEpsBearerQos()
        Removes the Default-EPS-Bearer-QoS AVP from the message. If the Default-EPS-Bearer-QoS AVP is not present, this method returns silently.
      • getQosInformations

        QosInformation[] getQosInformations()
        Returns the set of QoS-Information AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no QoS-Information AVPs have been set. The elements in the given array are QosInformation objects.
      • setQosInformation

        void setQosInformation​(QosInformation qosInformation)
        Sets a single QoS-Information AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if qosInformation is null.
      • setQosInformations

        void setQosInformations​(QosInformation[] qosInformations)
        Sets the set of QoS-Information 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 getQosInformations() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if qosInformations is null.
      • removeQosInformations

        void removeQosInformations()
        Removes all QoS-Information AVPs from the message. If no QoS-Information AVPs are present, this method returns silently.
      • hasRevalidationTime

        boolean hasRevalidationTime()
        Returns true if the Revalidation-Time AVP is present in the message.
      • getRevalidationTime

        Date getRevalidationTime()
        Returns the value of the Revalidation-Time AVP, of type Time.
        Returns:
        the value of the Revalidation-Time AVP or null if it has not been set on this message
      • setRevalidationTime

        void setRevalidationTime​(Date revalidationTime)
        Sets the value of the Revalidation-Time AVP, of type Time.
        Throws:
        NullPointerException - if revalidationTime is null.
      • removeRevalidationTime

        void removeRevalidationTime()
        Removes the Revalidation-Time AVP from the message. If the Revalidation-Time AVP is not present, this method returns silently.
      • getUsageMonitoringInformations

        UsageMonitoringInformation[] getUsageMonitoringInformations()
        Returns the set of Usage-Monitoring-Information AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Usage-Monitoring-Information AVPs have been set. The elements in the given array are UsageMonitoringInformation objects.
      • setUsageMonitoringInformation

        void setUsageMonitoringInformation​(UsageMonitoringInformation usageMonitoringInformation)
        Sets a single Usage-Monitoring-Information AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if usageMonitoringInformation is null.
      • setUsageMonitoringInformations

        void setUsageMonitoringInformations​(UsageMonitoringInformation[] usageMonitoringInformations)
        Sets the set of Usage-Monitoring-Information 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 getUsageMonitoringInformations() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if usageMonitoringInformations is null.
      • removeUsageMonitoringInformations

        void removeUsageMonitoringInformations()
        Removes all Usage-Monitoring-Information AVPs from the message. If no Usage-Monitoring-Information AVPs are 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.