Interface MmtelInformation

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface MmtelInformation
    extends GroupedAvp
    Defines an interface representing the MMTel-Information grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V11.8.0) specification:
     7.2.111    MMTel-Information AVP
     The MMTel-Information AVP (AVP code 2030) is of type Grouped. Its purpose is to allow the transmission of additional MMtel  
     service specific information elements. It holds MMTel supplementary services invoked during MMTel service.
     It has the following ABNF grammar:
     
         MMTel-Information ::=   < AVP Header: 2030>
                                 * [ Supplementary-Service]
                                   [ Subscriber-Role ]
     
    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

      • getSupplementaryServices

        SupplementaryService[] getSupplementaryServices()
        Returns the set of Supplementary-Service AVPs. The returned array contains the AVPs in the order they appear in the MMTel-Information AVP. A return value of null implies that no Supplementary-Service AVPs have been set. The elements in the given array are SupplementaryService objects.
      • setSupplementaryService

        void setSupplementaryService​(SupplementaryService supplementaryService)
        Sets a single Supplementary-Service AVP in the MMTel-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if supplementaryService is null.
      • setSupplementaryServices

        void setSupplementaryServices​(SupplementaryService[] supplementaryServices)
        Sets the set of Supplementary-Service AVPs, with all the values in the given array. The AVPs will be added to the MMTel-Information 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 getSupplementaryServices() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if supplementaryServices is null.
      • removeSupplementaryServices

        void removeSupplementaryServices()
        Removes all Supplementary-Service AVPs from the MMTel-Information AVP. If no Supplementary-Service AVPs are present, this method returns silently.
      • hasSubscriberRole

        boolean hasSubscriberRole()
        Returns true if the Subscriber-Role AVP is present in the MMTel-Information AVP.
      • getSubscriberRole

        SubscriberRole getSubscriberRole()
        Returns the value of the Subscriber-Role AVP, of type Enumerated.
        Returns:
        the value of the Subscriber-Role AVP, or null if it has not been set.
      • setSubscriberRole

        void setSubscriberRole​(SubscriberRole subscriberRole)
        Sets the value of the Subscriber-Role AVP, of type Enumerated.
        Throws:
        NullPointerException - if subscriberRole is null.
      • removeSubscriberRole

        void removeSubscriberRole()
        Removes the Subscriber-Role AVP from the MMTel-Information AVP. If the Subscriber-Role 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 MMTel-Information 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 MMTel-Information 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 MMTel-Information AVP. If no extension AVPs are present, this method returns silently.