The MMTel Subscriber Data Representation is a logical representation of supplementary service data as a group of POJO objects. It allows MMTel services/features to execute independently of any concrete schema for the supplementary service data. Therefore it can be loaded from the HSS or the HLR using the MMTel-Services XML schema or 3GPP MAP ASN.1 schema. For mapping details see SubscriberDataLookupFromHSS and SubscriberDataLookupFromHLR.
Motivation
The subscriber data schemas used by an HSS and HLR are very different. While HSS supports complex types in XML format (through the Sh interface), the HLR schema format is ASN.1 with different semantics (through the MAP interface).
One example of a simple concept is the 'active' flags. The HSS and Sh protocol provide an XML document that indicates if the service is active or not as an option boolean flag (active=true or false
, or not present). While the HLR and MAP protocol represents the data as a state vector which includes the service status indication with three values (Active and Operative
, Not Active
and Active and Quiescent
).
The objective of this representation is to decouple the concrete representation of Subscriber Data to an extensible internal representation that supports different schemas.
Description
The internal representation works by:
-
defining one subscriber data containing class for each MMTel feature, and defining a suitable session state field for an instance of that class
-
retrieving the supplementary service data from the suitable network element (HSS via Sh pull, or HLR via AnytimeSubscriptionInterrogation)
-
invoking a schema specific adapter class based on the response i.e. the simServes adaptor or the ASN.1 adaptor
-
for each MMTel feature, the adaptor writes an instance of the subscriber data containing class into the appropriate session state field
The adapter has the function of converting the concrete schema into the logical representation, and storing it into session state. After the adaptor has written the session state fields, the MMTel features are invoked and read their data from session state fields.
ServiceData Types
Each of these types has a corresponding Java class.
MMTelTIPServiceData
Attribute | Description |
---|---|
Active |
Indicates if the feature is active |
Override |
Indicates if the feature can take precedence over the TIR feature |
MMTelTIRServiceData
Attribute | Description |
---|---|
Active |
Indicates if the feature is active |
DefaultBehaviour |
Indicates if the the user data presentation is restricted or not |
Mode |
Indicates if it is permanent or temporary |
MMTelOIPServiceData
Attribute | Description |
---|---|
Active |
Indicates if the feature is active |
Override |
Indicates if the feature can take precedence over the OIR feature |
MMTelOIRServiceData
Attribute | Description |
---|---|
Active |
Indicates if the feature is active |
DefaultBehaviour |
Indicates if the user data presentation is restricted or not |
Mode |
Indicates if it is permanent or temporary |
MMTelCDIVServiceData
These properties are from the <communication-diversion>
element.
Attribute | Description |
---|---|
Active |
Indicates if the feature is active |
NoReplyTimeout |
The time waiting for the response to trigger the noReply rule |
Ruleset |
This is a Java implementation of IETF’s common policy Ruleset as used by 3GPPs CDIV specification. A ruleset is a collection of Rules |
Rule.ID |
Unique identification for the rule |
Rule.conditions |
The conditions |
Rule.forwardActions |
The actions to forward the session. It includes the destination address and the notification and privacy rules for the caller and called parties |
These properties are from the <operator-communication-diversion>
element.
Attribute | Description |
---|---|
OperatorTotalNumberOfDiversionsForEachCommunication |
The maximum number of times a communication may be diverted. |
OperatorCommunicationForwardingOnNoReplyTimer |
The time waiting for the response to trigger the noReply rule |
OperatorRuleset |
This is a Java implementation of IETF’s common policy Ruleset as used by 3GPPs CDIV specification. A ruleset is a collection of Rules |
![]() |
The schema for the Operator part of the Communication Diversion (CDIV) services has been extended to support an optional ruleset. This feature is supported by some HSS vendors. |
MMTelCWServiceData
Attribute | Description |
---|---|
Active |
Indicates if the feature is active |
MMTelOCBServiceData
Field | Description |
---|---|
Active |
Indicates if the feature is active |
Ruleset |
Contains the subscriber’s barring rules. Read from the HSS and configurable via XCAP or read from HLR. It is a Java-parsed representation of a Common Policy Ruleset. |
Rule.ID |
Unique identification for the rule |
Rule.conditions |
The conditions |
Rule.allow |
Allow or not allow the session to be forwarded |
MMTelICBServiceData
Field | Description |
---|---|
Active |
Indicates if the feature is active |
Ruleset |
Contains the subscriber’s barring rules. Read from the HSS and configurable via XCAP or read from HLR. It is a Java-parsed representation of a Common Policy Ruleset. |
Rule.ID |
Unique identification for the rule |
Rule.conditions |
The conditions |
Rule.allow |
Allow or not allow the session towards the served user |
MMTelFAServiceData
Attribute | Description |
---|---|
Authorized |
Indicates if the feature is active |
Identity |
The |
Group |
The group type for the Flexible Alerting |
Membership |
The membership type: |
Members |
List of member attached to the |
Members.Active |
If the member can be alerted |
Members.Uri |
The member URI identity |