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 Rf Reference Point Protocol Details (3GPP TS 32.299 V10.0.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.SubscriberRole
getSubscriberRole()
Returns the value of the Subscriber-Role AVP, of type Enumerated.SupplementaryService[]
getSupplementaryServices()
Returns the set of Supplementary-Service AVPs.boolean
hasSubscriberRole()
Returns true if the Subscriber-Role AVP is present in the MMTel-Information AVP.void
removeExtensionAvps()
Removes all extension AVPs from the MMTel-Information AVP.void
removeSubscriberRole()
Removes the Subscriber-Role AVP from the MMTel-Information AVP.void
removeSupplementaryServices()
Removes all Supplementary-Service AVPs from the MMTel-Information AVP.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.void
setSubscriberRole(SubscriberRole subscriberRole)
Sets the value of the Subscriber-Role AVP, of type Enumerated.void
setSupplementaryService(SupplementaryService supplementaryService)
Sets a single Supplementary-Service AVP in the MMTel-Information AVP, of type Grouped.void
setSupplementaryServices(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
- ifsupplementaryService
isnull
.
-
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
- ifsupplementaryServices
isnull
.
-
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
- ifsubscriberRole
isnull
.
-
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
- ifavps
isnull
.
-
removeExtensionAvps
void removeExtensionAvps()
Removes all extension AVPs from the MMTel-Information AVP. If no extension AVPs are present, this method returns silently.
-
-