Interface SupplementaryService

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface SupplementaryService
    extends GroupedAvp
    Defines an interface representing the Supplementary-Service grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V9.6.0) specification:
     7.2.219        Supplementary-Service AVP
     The Supplementary-Service AVP (AVP code 2048) is of type Grouped and holds the specific supplementary service details 
     for one MMTel supplementary service.
     It has the following ABNF grammar:
     
         Supplementary-Service ::=   < AVP Header: 2048>
                                         [ Service-Type ]
                                         [ Service-Mode ]
                                         [ Number-Of-Diversions ]
                                         [ Associated-Party-Address ]
                                         [ Service-Id ]
                                         [ Change-Time ]
                                         [ Number-Of-Participants ]
                                         [ Participant-Action-Type ]
                                         [ CUG-Information ]
     
     
    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

      • hasServiceType

        boolean hasServiceType()
        Returns true if the Service-Type AVP is present in the Supplementary-Service AVP.
      • getServiceType

        long getServiceType()
        Returns the value of the Service-Type AVP, of type Unsigned32. Use hasServiceType() to check the existence of this AVP.
        Returns:
        the value of the Service-Type AVP
        Throws:
        IllegalStateException - if the Service-Type AVP has not been set.
      • setServiceType

        void setServiceType​(long serviceType)
        Sets the value of the Service-Type AVP, of type Unsigned32.
      • removeServiceType

        void removeServiceType()
        Removes the Service-Type AVP from the Supplementary-Service AVP. If the Service-Type AVP is not present, this method returns silently.
      • hasServiceMode

        boolean hasServiceMode()
        Returns true if the Service-Mode AVP is present in the Supplementary-Service AVP.
      • getServiceMode

        long getServiceMode()
        Returns the value of the Service-Mode AVP, of type Unsigned32. Use hasServiceMode() to check the existence of this AVP.
        Returns:
        the value of the Service-Mode AVP
        Throws:
        IllegalStateException - if the Service-Mode AVP has not been set.
      • setServiceMode

        void setServiceMode​(long serviceMode)
        Sets the value of the Service-Mode AVP, of type Unsigned32.
      • removeServiceMode

        void removeServiceMode()
        Removes the Service-Mode AVP from the Supplementary-Service AVP. If the Service-Mode AVP is not present, this method returns silently.
      • hasNumberOfDiversions

        boolean hasNumberOfDiversions()
        Returns true if the Number-Of-Diversions AVP is present in the Supplementary-Service AVP.
      • getNumberOfDiversions

        long getNumberOfDiversions()
        Returns the value of the Number-Of-Diversions AVP, of type Unsigned32. Use hasNumberOfDiversions() to check the existence of this AVP.
        Returns:
        the value of the Number-Of-Diversions AVP
        Throws:
        IllegalStateException - if the Number-Of-Diversions AVP has not been set.
      • setNumberOfDiversions

        void setNumberOfDiversions​(long numberOfDiversions)
        Sets the value of the Number-Of-Diversions AVP, of type Unsigned32.
      • removeNumberOfDiversions

        void removeNumberOfDiversions()
        Removes the Number-Of-Diversions AVP from the Supplementary-Service AVP. If the Number-Of-Diversions AVP is not present, this method returns silently.
      • hasAssociatedPartyAddress

        boolean hasAssociatedPartyAddress()
        Returns true if the Associated-Party-Address AVP is present in the Supplementary-Service AVP.
      • getAssociatedPartyAddress

        String getAssociatedPartyAddress()
        Returns the value of the Associated-Party-Address AVP, of type UTF8String.
        Returns:
        the value of the Associated-Party-Address AVP, or null if it has not been set.
      • setAssociatedPartyAddress

        void setAssociatedPartyAddress​(String associatedPartyAddress)
        Sets the value of the Associated-Party-Address AVP, of type UTF8String.
        Throws:
        NullPointerException - if associatedPartyAddress is null.
      • removeAssociatedPartyAddress

        void removeAssociatedPartyAddress()
        Removes the Associated-Party-Address AVP from the Supplementary-Service AVP. If the Associated-Party-Address AVP is not present, this method returns silently.
      • hasServiceId

        boolean hasServiceId()
        Returns true if the Service-Id AVP is present in the Supplementary-Service AVP.
      • getServiceId

        String getServiceId()
        Returns the value of the Service-Id AVP, of type UTF8String.
        Returns:
        the value of the Service-Id AVP, or null if it has not been set.
      • setServiceId

        void setServiceId​(String serviceId)
        Sets the value of the Service-Id AVP, of type UTF8String.
        Throws:
        NullPointerException - if serviceId is null.
      • removeServiceId

        void removeServiceId()
        Removes the Service-Id AVP from the Supplementary-Service AVP. If the Service-Id AVP is not present, this method returns silently.
      • hasChangeTime

        boolean hasChangeTime()
        Returns true if the Change-Time AVP is present in the Supplementary-Service AVP.
      • getChangeTime

        Date getChangeTime()
        Returns the value of the Change-Time AVP, of type Time.
        Returns:
        the value of the Change-Time AVP, or null if it has not been set.
      • setChangeTime

        void setChangeTime​(Date changeTime)
        Sets the value of the Change-Time AVP, of type Time.
        Throws:
        NullPointerException - if changeTime is null.
      • removeChangeTime

        void removeChangeTime()
        Removes the Change-Time AVP from the Supplementary-Service AVP. If the Change-Time AVP is not present, this method returns silently.
      • hasNumberOfParticipants

        boolean hasNumberOfParticipants()
        Returns true if the Number-Of-Participants AVP is present in the Supplementary-Service AVP.
      • getNumberOfParticipants

        long getNumberOfParticipants()
        Returns the value of the Number-Of-Participants AVP, of type Unsigned32. Use hasNumberOfParticipants() to check the existence of this AVP.
        Returns:
        the value of the Number-Of-Participants AVP
        Throws:
        IllegalStateException - if the Number-Of-Participants AVP has not been set.
      • setNumberOfParticipants

        void setNumberOfParticipants​(long numberOfParticipants)
        Sets the value of the Number-Of-Participants AVP, of type Unsigned32.
      • removeNumberOfParticipants

        void removeNumberOfParticipants()
        Removes the Number-Of-Participants AVP from the Supplementary-Service AVP. If the Number-Of-Participants AVP is not present, this method returns silently.
      • hasParticipantActionType

        boolean hasParticipantActionType()
        Returns true if the Participant-Action-Type AVP is present in the Supplementary-Service AVP.
      • getParticipantActionType

        ParticipantActionType getParticipantActionType()
        Returns the value of the Participant-Action-Type AVP, of type Enumerated.
        Returns:
        the value of the Participant-Action-Type AVP, or null if it has not been set.
      • setParticipantActionType

        void setParticipantActionType​(ParticipantActionType participantActionType)
        Sets the value of the Participant-Action-Type AVP, of type Enumerated.
        Throws:
        NullPointerException - if participantActionType is null.
      • removeParticipantActionType

        void removeParticipantActionType()
        Removes the Participant-Action-Type AVP from the Supplementary-Service AVP. If the Participant-Action-Type AVP is not present, this method returns silently.
      • hasCugInformation

        boolean hasCugInformation()
        Returns true if the CUG-Information AVP is present in the Supplementary-Service AVP.
      • getCugInformation

        byte[] getCugInformation()
        Returns the value of the CUG-Information AVP, of type OctetString.
        Returns:
        the value of the CUG-Information AVP, or null if it has not been set.
      • setCugInformation

        void setCugInformation​(byte[] cugInformation)
        Sets the value of the CUG-Information AVP, of type OctetString.
        Throws:
        NullPointerException - if cugInformation is null.
      • removeCugInformation

        void removeCugInformation()
        Removes the CUG-Information AVP from the Supplementary-Service AVP. If the CUG-Information 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 Supplementary-Service 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 Supplementary-Service 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 Supplementary-Service AVP. If no extension AVPs are present, this method returns silently.