Interface EventReportIndication

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface EventReportIndication
    extends GroupedAvp
    Defines an interface representing the Event-Report-Indication grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V10.1.0) specification:
     5.3.30  Event-Report-Indication
     
         The Event-Report-Indication AVP (AVP code 1033) is of type Grouped. When sent from the PCRF to the PCEF, it is used to report an event coming from the Access Network GW (BBERF) and relevant info to the PCEF. When sent from the PCEF to the PCRF, it is used to provide the information about the required event triggers to the PCRF. Only Event-Trigger AVP will be supplied in this case.
         The PCEF may require adding new event triggers or removing the already provided ones. In order to do so, the PCEF shall provide the new complete list of applicable event triggers within the Event-Trigger AVP included in the Event-Report-Indication AVP to the PCRF.
         The PCEF may require removing all previously provided event triggers by providing the Event-Trigger AVP set to the value NO_EVENT_TRIGGERS included in the Event-Report-Indication AVP to the PCRF.
         If the event triggers required by the PCEF are associated with certain parameter values, the PCRF shall provide those values to the PCEF.
         The PCEF may provide the following Event-Trigger values to the PCRF: QOS_CHANGE, RAI_CHANGE, RAT_CHANGE, USER_LOCATION_CHANGE, UE_TIME_ZONE_CHANGE, SGSN_CHANGE, USER_CSG_INFORMATION_CHANGE, TAI_CHANGE and ECGI_CHANGE.
         Event-Trigger value QOS_CHANGE shall be used to report a change in APN-Aggregate-Max-Bitrate-DL AVP and/or APN-Aggregate-Max-Bitrate-UL AVP included within the QoS-Information AVP.
         Applicability of the Event-Triggers to the different accesses is defined in clause 5.3.7.
     
         It has the following ABNF grammar:
     
         Event-Report-Indication ::= < AVP Header: 1033 >
                                 *[Event-Trigger]
                                  [User-CSG-Information]
                                  [RAT-Type]
                                  [QoS-Information]
                                  [RAI]
                                  [TGPP-User-Location-Info]
                                  [Trace-Data]
                                  [Trace-Reference]
                                  [TGPP2-BSID]
                                  [TGPP-MS-TimeZone]
                                  [TGPP-SGSN-Address]
                                  [TGPP-SGSN-IPv6-Address]
                                 *[AVP]
     
     
    • Method Detail

      • getEventTriggers

        EventTrigger[] getEventTriggers()
        Returns the set of Event-Trigger AVPs. The returned array contains the AVPs in the order they appear in the Event-Report-Indication AVP. 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 Event-Report-Indication AVP, 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 the Event-Report-Indication 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 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 Event-Report-Indication AVP. If no Event-Trigger AVPs are present, this method returns silently.
      • hasUserCsgInformation

        boolean hasUserCsgInformation()
        Returns true if the User-CSG-Information AVP is present in the Event-Report-Indication AVP.
      • getUserCsgInformation

        UserCsgInformation getUserCsgInformation()
        Returns the value of the User-CSG-Information AVP, of type Grouped.
        Returns:
        the value of the User-CSG-Information AVP, or null if it has not been set.
      • setUserCsgInformation

        void setUserCsgInformation​(UserCsgInformation userCsgInformation)
        Sets the value of the User-CSG-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if userCsgInformation is null.
      • removeUserCsgInformation

        void removeUserCsgInformation()
        Removes the User-CSG-Information AVP from the Event-Report-Indication AVP. If the User-CSG-Information AVP is not present, this method returns silently.
      • hasRatType

        boolean hasRatType()
        Returns true if the RAT-Type AVP is present in the Event-Report-Indication AVP.
      • getRatType

        RatType getRatType()
        Returns the value of the RAT-Type AVP, of type Enumerated.
        Returns:
        the value of the RAT-Type AVP, or null if it has not been set.
      • setRatType

        void setRatType​(RatType ratType)
        Sets the value of the RAT-Type AVP, of type Enumerated.
        Throws:
        NullPointerException - if ratType is null.
      • removeRatType

        void removeRatType()
        Removes the RAT-Type AVP from the Event-Report-Indication AVP. If the RAT-Type AVP is not present, this method returns silently.
      • hasQosInformation

        boolean hasQosInformation()
        Returns true if the QoS-Information AVP is present in the Event-Report-Indication AVP.
      • getQosInformation

        QosInformation getQosInformation()
        Returns the value of the QoS-Information AVP, of type Grouped.
        Returns:
        the value of the QoS-Information AVP, or null if it has not been set.
      • setQosInformation

        void setQosInformation​(QosInformation qosInformation)
        Sets the value of the QoS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if qosInformation is null.
      • removeQosInformation

        void removeQosInformation()
        Removes the QoS-Information AVP from the Event-Report-Indication AVP. If the QoS-Information AVP is not present, this method returns silently.
      • hasRai

        boolean hasRai()
        Returns true if the RAI AVP is present in the Event-Report-Indication AVP.
      • getRai

        String getRai()
        Returns the value of the RAI AVP, of type UTF8String.
        Returns:
        the value of the RAI AVP, or null if it has not been set.
      • setRai

        void setRai​(String rai)
        Sets the value of the RAI AVP, of type UTF8String.
        Throws:
        NullPointerException - if rai is null.
      • removeRai

        void removeRai()
        Removes the RAI AVP from the Event-Report-Indication AVP. If the RAI AVP is not present, this method returns silently.
      • hasTgppUserLocationInfo

        boolean hasTgppUserLocationInfo()
        Returns true if the TGPP-User-Location-Info AVP is present in the Event-Report-Indication AVP.
      • getTgppUserLocationInfo

        byte[] getTgppUserLocationInfo()
        Returns the value of the TGPP-User-Location-Info AVP, of type OctetString.
        Returns:
        the value of the TGPP-User-Location-Info AVP, or null if it has not been set.
      • setTgppUserLocationInfo

        void setTgppUserLocationInfo​(byte[] tgppUserLocationInfo)
        Sets the value of the TGPP-User-Location-Info AVP, of type OctetString.
        Throws:
        NullPointerException - if tgppUserLocationInfo is null.
      • removeTgppUserLocationInfo

        void removeTgppUserLocationInfo()
        Removes the TGPP-User-Location-Info AVP from the Event-Report-Indication AVP. If the TGPP-User-Location-Info AVP is not present, this method returns silently.
      • hasTraceData

        boolean hasTraceData()
        Returns true if the Trace-Data AVP is present in the Event-Report-Indication AVP.
      • getTraceData

        TraceData getTraceData()
        Returns the value of the Trace-Data AVP, of type Grouped.
        Returns:
        the value of the Trace-Data AVP, or null if it has not been set.
      • setTraceData

        void setTraceData​(TraceData traceData)
        Sets the value of the Trace-Data AVP, of type Grouped.
        Throws:
        NullPointerException - if traceData is null.
      • removeTraceData

        void removeTraceData()
        Removes the Trace-Data AVP from the Event-Report-Indication AVP. If the Trace-Data AVP is not present, this method returns silently.
      • hasTraceReference

        boolean hasTraceReference()
        Returns true if the Trace-Reference AVP is present in the Event-Report-Indication AVP.
      • getTraceReference

        byte[] getTraceReference()
        Returns the value of the Trace-Reference AVP, of type OctetString.
        Returns:
        the value of the Trace-Reference AVP, or null if it has not been set.
      • setTraceReference

        void setTraceReference​(byte[] traceReference)
        Sets the value of the Trace-Reference AVP, of type OctetString.
        Throws:
        NullPointerException - if traceReference is null.
      • removeTraceReference

        void removeTraceReference()
        Removes the Trace-Reference AVP from the Event-Report-Indication AVP. If the Trace-Reference AVP is not present, this method returns silently.
      • hasTgpp2Bsid

        boolean hasTgpp2Bsid()
        Returns true if the TGPP2-BSID AVP is present in the Event-Report-Indication AVP.
      • getTgpp2Bsid

        String getTgpp2Bsid()
        Returns the value of the TGPP2-BSID AVP, of type UTF8String.
        Returns:
        the value of the TGPP2-BSID AVP, or null if it has not been set.
      • setTgpp2Bsid

        void setTgpp2Bsid​(String tgpp2Bsid)
        Sets the value of the TGPP2-BSID AVP, of type UTF8String.
        Throws:
        NullPointerException - if tgpp2Bsid is null.
      • removeTgpp2Bsid

        void removeTgpp2Bsid()
        Removes the TGPP2-BSID AVP from the Event-Report-Indication AVP. If the TGPP2-BSID AVP is not present, this method returns silently.
      • hasTgppMsTimezone

        boolean hasTgppMsTimezone()
        Returns true if the TGPP-MS-TimeZone AVP is present in the Event-Report-Indication AVP.
      • getTgppMsTimezone

        byte[] getTgppMsTimezone()
        Returns the value of the TGPP-MS-TimeZone AVP, of type OctetString.
        Returns:
        the value of the TGPP-MS-TimeZone AVP, or null if it has not been set.
      • setTgppMsTimezone

        void setTgppMsTimezone​(byte[] tgppMsTimezone)
        Sets the value of the TGPP-MS-TimeZone AVP, of type OctetString.
        Throws:
        NullPointerException - if tgppMsTimezone is null.
      • removeTgppMsTimezone

        void removeTgppMsTimezone()
        Removes the TGPP-MS-TimeZone AVP from the Event-Report-Indication AVP. If the TGPP-MS-TimeZone AVP is not present, this method returns silently.
      • hasTgppSgsnAddress

        boolean hasTgppSgsnAddress()
        Returns true if the TGPP-SGSN-Address AVP is present in the Event-Report-Indication AVP.
      • getTgppSgsnAddress

        byte[] getTgppSgsnAddress()
        Returns the value of the TGPP-SGSN-Address AVP, of type OctetString.
        Returns:
        the value of the TGPP-SGSN-Address AVP, or null if it has not been set.
      • setTgppSgsnAddress

        void setTgppSgsnAddress​(byte[] tgppSgsnAddress)
        Sets the value of the TGPP-SGSN-Address AVP, of type OctetString.
        Throws:
        NullPointerException - if tgppSgsnAddress is null.
      • removeTgppSgsnAddress

        void removeTgppSgsnAddress()
        Removes the TGPP-SGSN-Address AVP from the Event-Report-Indication AVP. If the TGPP-SGSN-Address AVP is not present, this method returns silently.
      • hasTgppSgsnIpv6Address

        boolean hasTgppSgsnIpv6Address()
        Returns true if the TGPP-SGSN-IPv6-Address AVP is present in the Event-Report-Indication AVP.
      • getTgppSgsnIpv6Address

        byte[] getTgppSgsnIpv6Address()
        Returns the value of the TGPP-SGSN-IPv6-Address AVP, of type OctetString.
        Returns:
        the value of the TGPP-SGSN-IPv6-Address AVP, or null if it has not been set.
      • setTgppSgsnIpv6Address

        void setTgppSgsnIpv6Address​(byte[] tgppSgsnIpv6Address)
        Sets the value of the TGPP-SGSN-IPv6-Address AVP, of type OctetString.
        Throws:
        NullPointerException - if tgppSgsnIpv6Address is null.
      • removeTgppSgsnIpv6Address

        void removeTgppSgsnIpv6Address()
        Removes the TGPP-SGSN-IPv6-Address AVP from the Event-Report-Indication AVP. If the TGPP-SGSN-IPv6-Address 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 Event-Report-Indication 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 Event-Report-Indication 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 Event-Report-Indication AVP. If no extension AVPs are present, this method returns silently.