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 V11.9.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.
         Whenever the PCEF subscribes to an event report indication by using the CCR command, the PCRF shall only send the corresponding currently applicable values which have been updated (e.g. 3GPP-User-Location-Info, 3GPP2-BSID, etc.) to the PCEF in the CCA if available. In this case, the Event-Trigger AVPs shall not be included.
         NOTE:  The PCRF can get the currently applicable values during the IP-CAN session establishment procedure or during the information reporting from the BBERF when the BBERF gets event subscription from the PCRF as defined in subclause 5.3.7.
         The PCEF may subscribe to different or common set of event triggers at different BBERFs by including the Routing-IP-Address AVP in the Event-Report-Indication AVP to the PCRF.
         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, USER_CSG_INFORMATION_CHANGE, USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE, USER_CSG_HYBRID_UNSUBSCRIBED_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]
                                  [IP-CAN-Type]
                               0*2[AN-GW-Address]
                                  [TGPP-SGSN-Address]
                                  [TGPP-SGSN-IPv6-Address]
                                  [TGPP-SGSN-MCC-MNC]
                                  [Framed-IP-Address]
                                  [RAT-Type]
                                  [QoS-Information]
                                  [RAI]
                                  [TGPP-User-Location-Info]
                                  [Trace-Data]
                                  [Trace-Reference]
                                  [TGPP2-BSID]
                                  [TGPP-MS-TimeZone]
                                  [Routing-IP-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.
      • hasIpCanType

        boolean hasIpCanType()
        Returns true if the IP-CAN-Type AVP is present in the Event-Report-Indication AVP.
      • getIpCanType

        IpCanType getIpCanType()
        Returns the value of the IP-CAN-Type AVP, of type Enumerated.
        Returns:
        the value of the IP-CAN-Type AVP, or null if it has not been set.
      • setIpCanType

        void setIpCanType​(IpCanType ipCanType)
        Sets the value of the IP-CAN-Type AVP, of type Enumerated.
        Throws:
        NullPointerException - if ipCanType is null.
      • removeIpCanType

        void removeIpCanType()
        Removes the IP-CAN-Type AVP from the Event-Report-Indication AVP. If the IP-CAN-Type AVP is not present, this method returns silently.
      • getAnGwAddresses

        Address[] getAnGwAddresses()
        Returns the set of AN-GW-Address 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 AN-GW-Address AVPs have been set. The elements in the given array are Address objects.
      • setAnGwAddress

        void setAnGwAddress​(Address anGwAddress)
        Sets a single AN-GW-Address AVP in the Event-Report-Indication AVP, of type Address.
        Throws:
        NullPointerException - if anGwAddress is null.
      • setAnGwAddresses

        void setAnGwAddresses​(Address[] anGwAddresses)
        Sets the set of AN-GW-Address 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 getAnGwAddresses() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if anGwAddresses is null.
      • removeAnGwAddresses

        void removeAnGwAddresses()
        Removes all AN-GW-Address AVPs from the Event-Report-Indication AVP. If no AN-GW-Address AVPs are 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.
      • hasTgppSgsnMccMnc

        boolean hasTgppSgsnMccMnc()
        Returns true if the TGPP-SGSN-MCC-MNC AVP is present in the Event-Report-Indication AVP.
      • getTgppSgsnMccMnc

        String getTgppSgsnMccMnc()
        Returns the value of the TGPP-SGSN-MCC-MNC AVP, of type UTF8String.
        Returns:
        the value of the TGPP-SGSN-MCC-MNC AVP, or null if it has not been set.
      • setTgppSgsnMccMnc

        void setTgppSgsnMccMnc​(String tgppSgsnMccMnc)
        Sets the value of the TGPP-SGSN-MCC-MNC AVP, of type UTF8String.
        Throws:
        NullPointerException - if tgppSgsnMccMnc is null.
      • removeTgppSgsnMccMnc

        void removeTgppSgsnMccMnc()
        Removes the TGPP-SGSN-MCC-MNC AVP from the Event-Report-Indication AVP. If the TGPP-SGSN-MCC-MNC AVP is not present, this method returns silently.
      • hasFramedIpAddress

        boolean hasFramedIpAddress()
        Returns true if the Framed-IP-Address AVP is present in the Event-Report-Indication AVP.
      • getFramedIpAddress

        byte[] getFramedIpAddress()
        Returns the value of the Framed-IP-Address AVP, of type OctetString.
        Returns:
        the value of the Framed-IP-Address AVP, or null if it has not been set.
      • setFramedIpAddress

        void setFramedIpAddress​(byte[] framedIpAddress)
        Sets the value of the Framed-IP-Address AVP, of type OctetString.
        Throws:
        NullPointerException - if framedIpAddress is null.
      • removeFramedIpAddress

        void removeFramedIpAddress()
        Removes the Framed-IP-Address AVP from the Event-Report-Indication AVP. If the Framed-IP-Address 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.
      • hasRoutingIpAddress

        boolean hasRoutingIpAddress()
        Returns true if the Routing-IP-Address AVP is present in the Event-Report-Indication AVP.
      • getRoutingIpAddress

        Address getRoutingIpAddress()
        Returns the value of the Routing-IP-Address AVP, of type Address.
        Returns:
        the value of the Routing-IP-Address AVP, or null if it has not been set.
      • setRoutingIpAddress

        void setRoutingIpAddress​(Address routingIpAddress)
        Sets the value of the Routing-IP-Address AVP, of type Address.
        Throws:
        NullPointerException - if routingIpAddress is null.
      • removeRoutingIpAddress

        void removeRoutingIpAddress()
        Removes the Routing-IP-Address AVP from the Event-Report-Indication AVP. If the Routing-IP-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.