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.
-
-
Field Summary
-
Fields inherited from interface org.jainslee.resources.diameter.base.DiameterAvp
FLAG_RULE_MAY, FLAG_RULE_MUST, FLAG_RULE_MUSTNOT
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DiameterAvp[]getExtensionAvps()Returns the set of extension AVPs.SubscriberRolegetSubscriberRole()Returns the value of the Subscriber-Role AVP, of type Enumerated.SupplementaryService[]getSupplementaryServices()Returns the set of Supplementary-Service AVPs.booleanhasSubscriberRole()Returns true if the Subscriber-Role AVP is present in the MMTel-Information AVP.voidremoveExtensionAvps()Removes all extension AVPs from the MMTel-Information AVP.voidremoveSubscriberRole()Removes the Subscriber-Role AVP from the MMTel-Information AVP.voidremoveSupplementaryServices()Removes all Supplementary-Service AVPs from the MMTel-Information AVP.voidsetExtensionAvps(DiameterAvp[] avps)Sets the set of extension AVPs with all the values in the given array.voidsetSubscriberRole(SubscriberRole subscriberRole)Sets the value of the Subscriber-Role AVP, of type Enumerated.voidsetSupplementaryService(SupplementaryService supplementaryService)Sets a single Supplementary-Service AVP in the MMTel-Information AVP, of type Grouped.voidsetSupplementaryServices(SupplementaryService[] supplementaryServices)Sets the set of Supplementary-Service AVPs, with all the values in the given array.-
Methods inherited from interface org.jainslee.resources.diameter.base.DiameterAvp
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorID, groupedAvpValue, intValue, longValue, stringValue
-
-
-
-
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- ifsupplementaryServiceisnull.
-
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- ifsupplementaryServicesisnull.
-
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- ifsubscriberRoleisnull.
-
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- ifavpsisnull.
-
removeExtensionAvps
void removeExtensionAvps()
Removes all extension AVPs from the MMTel-Information AVP. If no extension AVPs are present, this method returns silently.
-
-