Layered IMS Provisioning over CAI3G
Ericsson Dynamic Activation 1

Contents

1Introduction
1.1Purpose and Scope
1.2Target Group
1.3Typographic Conventions
1.4Prerequisites
1.5Namespaces
1.6Legends
1.7Operations
1.8Web Service Interface
1.9MOType
1.10MOId

2

Create IMSAssociation
2.1Request Data
2.1.1Parameters
2.2Examples

3

Get IMSAssociation
3.1Request Data
3.1.1Parameters
3.2Response Data
3.2.1Parameters
3.3Examples

4

Set IMSAssociation
4.1Request Data
4.1.1Parameters
4.2Examples

5

Delete IMSAssociation
5.1Request Data
5.1.1Parameters
5.2Examples

6

Faults and Errors
6.1Subordinate IMS Error Codes
6.2CAI3G Error Message Example

Reference List

1   Introduction

This section is an introduction to this document. It contains information about the prerequisites, purpose, scope, and target group for the document. This section also contains explanations of typographic conventions used in this document.

1.1   Purpose and Scope

This document describes the supported operations or Customers Service Orders (CSOs) in the CAI3G interface, for provisioning of the IMS Subscription Manager (ISM) Module. This document also declares the types and occurrences of the attributes used in the operations.

This document is not a tutorial of CAI3G; it must be used together with Generic CAI3G Interface 1.2, Reference [2].

1.2   Target Group

The target group for this document is as follows:

For more information about the different target groups, see Library Overview, Reference [3].

1.3   Typographic Conventions

Typographic conventions are described in Library Overview, Reference [3].

In addition, this document uses the following to indicate operations:

C Create
S Set
G Get
D Delete

1.4   Prerequisites

To use this document fully, users must meet the following prerequisites:

1.5   Namespaces

This document refers to the following namespaces:

1.6   Legends

The following table shows the legends used in XML schema figures in this specification.

Table 1    Legends Used in XML Schema Figures in This Specification

Legend

Description

XML attribute

Optional XML element

Choice icon

Mandatory XML element

Structured element

Subobject element


The occurrence of this element is 0–15.

User-defined type


This is not a standard XML schema type. It is introduced to describe MO schema structure more clearly. In practice, this type is to be replaced by the corresponding elements.

Sequence icon


A list of elements, the sequence order must be followed.

1.7   Operations

One Managed Object (MO) with four operations are described in this document. See the following table for the commands and valid operations:

Table 2    IMSAssociation Provisioning MOs

MO

Operation

Create

Get

Set

Delete

IMSAssociation

x

x

x

x

1.8   Web Service Interface

The Web Services Definition Language (WSDL) and XML Schema Definition Language (XSD) files that describe the provisioning interface can be found in /home/dveinstaller/ma/. It is also possible to download the files and view or store them in an appropriate area by following below instruction:

  1. Save the zip file, Dynamic_Activation_WSDL_ and_ XSD_ files.zip, to a local folder.
  2. Unpack the zip file.

1.9   MOType

MOType is a plain text string based on the type xs:string. An MO type consists of two parts. One is the namespace of the MO, and the other is the MO name string that is always starting with an alphabetical character in either upper or lower case, followed by zero or more alphabetical characters, digits or underscores.

Those two parts are connected with symbol @. The syntax of the MOType string is MO_Name@MO_Namespace. The name string of an MO type must follow the regular expression: [A-Za-z][A-Za-z0-9]*

The MO name together with the MO namespace must be globally unique.

1.10   MOId

MOId is an Extensible Markup Language (XML) fragment containing the MOId parameter-value pairs that are used to identify an MO instance in the interface data model. CAI3G 1.2 standard supports compound MO identifiers or multiple MO identifier. The following is an example of an MOId:

Example 1   Example of MOId

<MOId>
   <msisdn>46455395000</msisdn>
   <imsi>46234563545000</imsi>
</MOId>

The MOId is defined as a sequence of xs:any element in CAI3G schema file. It is the developers responsibility to define the real schema for this parameter.

The MOId is also the key attributes that must be defined in the top-level element, CreateMODefinition or SetMODefinition, within MOAttributes parameter.

Each implementation of CAI3G interface is to define own logic relationship of MOId. It is also the CAI3GAgents responsibility to interpret this parameter correctly by either the hard-coded logic or the dynamic parsing of the schema.

2   Create IMSAssociation

This section covers the command CreateIMSAssociation.

MOType

IMSAssociation@http://schemas.ericsson.com/ma/HSS/

2.1   Request Data

Note:  
It is not allowed to create new services for a Subscriber (Multi Service Consumer, privateUser) when the Subscriber (Multi Service Consumer) is involved in an ongoing IMSI Changeover. This applies to both the old and new IMSI.

When assigning an associationId, the recommendation is to NOT use any of the Identifiers as associationId. Use any random value or other value the customer has, except the identifier for any of the services (like IMSI, MSISDN, IMPI, IMPU) in the solution. This, since features like IMSI Changeover will only handle the service identities.


2.1.1   Parameters

MOId

Table 3    Create IMSAssociation MOId

Parameter

Type

Occurrence

Description

associationId

String


maxLength value = "32"

Mandatory

Contains the identifier of the Association (subscriber).


Note that associationId is a new parameter to provision in UDC compared to Monolithic solution. The customer system should be properly adapted to make sure that the associationId does not exceed the maximum length 32. This means that it is not a good idea to use the subscriberId from Monolithic as associationId in UDC. The recommendation is also to NOT use any of the subscriber Identifiers (like IMSI, MSISDN, IMPI, IMPU) as associationId. This, since features like IMSI Changeover will only change impacted subscriber Identifiers, it will not change the assocaitionId. Use any random value or other value the customer has.

MOAttributes

The parameters that are used in the operation are shown in Figure 1.

Figure 1   Parameters in Create IMSAssociation

The following table covers the parameters that can be used in a CreateIMSAssociation request.

Table 4    Create IMSAssociation Parameters

Parameter

Type

Occurrence

Description

associationId

String


maxLength value = "32"

Mandatory

Contains the identifier of the Association (subscriber).


Note that associationId is a new parameter to provision in UDC compared to Monolithic solution. The customer system should be properly adapted to make sure that the associationId does not exceed the maximum length 32. This means that it is not a good idea to use the subscriberId from Monolithic as associationId in UDC. The recommendation is also to NOT use any of the subscriber Identifiers (like IMSI, MSISDN, IMPI, IMPU) as associationId. This, since features like IMSI Changeover will only change impacted subscriber Identifiers, it will not change the assocaitionId. Use any random value or other value the customer has.

chargingProfId

String


maxLength value = "255"

Optional (0-1)

Identifies the Charging Profile configured in HSS-FE.


Default value is: DefaultChargingProfile

chargingId

String


Pattern value = "\d{5,15}"


5-15 digits


Each digit is 0-9

Optional (0-1)

The MSISDN to use for charging purposes.

isPsi

Boolean {true, false}

Optional (0-1)

Indicates if the IMS users belonging to this subscriber are Public Service Identities, either Distinct or Wildcarded.


Default value is: false.

privacyIndicator

Boolean {true, false}

Optional (0-1)

Indicates if data sharing with the Application Servers (AS) is allowed.


privacyIndicator = false, means that data sharing with the AS is allowed.


privacyIndicator = true, means that the data is protected.


Default value is: false

defaultPrivateUserId

String


minLength value="5"


minLength value="70"

Optional (0-1)

Describes the private user identity that is applied by default. (1)

defaultRemoteReferenceAccessLocation

String


maxLength value = "255"

Optional (0-1)

Describes the default physical line identifier of the end equipment in the wireline access network.

asHostingPSI

String


maxLength value = "255"

Optional

Indicates the application server name hosting the PSI user used for Routing Purposes.

esrNumber

String


Pattern value="([0-9]{7})|(0-9]{10})"/

Optional

Indicates the Emergency Services Routing Number (ESRN) for a user with a public identity belonging to this subscriber.


This attribute is only applicable if routing of emergency calls based on ESRN is supported in the network.

tenantId

Integer


minInclusive value = "1"


maxInclusive value = "100"

Optional

Indicates the identifier of the Tenant Configuration associated to the IMS subscriber.


It can only take values in the range [1-100].

looseRouteId

String


Enumeration value = "LOOSE_ROUTE_REQUIRED"


Enumeration value = "LOOSE_ROUTE_NOT_REQUIRED"

Optional (0-1)

Indicates to the S-CSCF whether Loose Routing mechanism is to be applied or not.


This attribute can also be included in the IMS IMPI object.

privateUser

Sub-MO

Optional (0-n)

A list of PrivateUsers

privateUserId

String


minLength value="5"


maxLength value="70"

Mandatory

Identifies the PrivateUser.

userPassword

String


minLength value="4"


maxLength value="255"

Optional (0-1)

Used for SIP Digest authentication service purposes.


userPassword and userPrimaryHA1Password cannot be present at the same time. One of them must be set if allowedAuthMechanism = Digest and isPsi = FALSE.


Note: If isPsi = TRUE, userPassword, userPrimaryHA1Password, and allowedAuthMechanism do not take effect in the HSS traffic handling.

userPrimaryHA1Password

String


Pattern value="[0-9A-F]{1,32}"/

Optional (0-1)

Contains the A1 hashed value to be used in SIP Digest authentication when the digest username received matches the privateUserId.


userPassword and userPrimaryHA1Password cannot be present at the same time. One of them must be set if allowedAuthMechanism = Digest and isPsi = FALSE.


Note: If isPsi = TRUE, userPassword, userPrimaryHA1Password, and allowedAuthMechanism do not take effect in the HSS traffic handling.

userSecondaryHA1Password

String


Pattern value="[0-9A-F]{1,32}"/

Optional (0-1)

Contains the A1 hashed value to be used in SIP Digest authentication when the digest username received matches with the user part (removing the realm part) of the privateUserId.

secondPrivateUserId

Sub-MO

Optional (0-n)

A list of second Private User Id

 

secondPrivateUserId

String


minLength value="1"


maxLength value="255"

Mandatory

Identifies an additional IMPI associated to the Multi Service Consumer, a second private user id.


This IMPI must be derived from IMSI.


If privateUserId is derived or a user IMSI is provided, or both, the identified IMSI must be the same in all attributes.


If the IMSI is defined for another subscriber, it is not allowed.

allowedAuthMechanism

String


Enumeration value = "DIGEST"


Enumeration value = "SSO"


Enumeration value = "NBA"

Optional (0-n)

Contains a list of authentication mechanisms supported by the multiServiceConsumer (Private User).


If isPsi = FALSE:


  • IMS-AKA is always supported as default value in the list, regardless of this attribute.

  • If DIGEST is provide, either userPassworkd or userPrimaryHA1Password must be input as well.


If isPsi = TRUE:


  • userPassword, userPrimaryHA1Password, and allowedAuthMechanism do not take effect in the HSS traffic handling.

userBarringInd

Boolean {true, false}

Optional (0-1)

Indicates if the multiServiceConsumer (Private User) is barred or not.


Default value is: false

roamingAllowed

Boolean {true, false}

Optional (0-1)

Indicates whether the multiServiceConsumer (Private User) is allowed to roam or not.


Default value is: false

referenceAccessLocation

String


maxLength value = "255"

Optional (0-1)

Describes the physical line identifier of the end-user equipment in the wireline access network.


Cannot be provisioned if isPsi = TRUE.

userImsi

String


Pattern value = [0-9]*


minLength value = "6"


maxLength value = "15"

Optional (0-1)

Contains the IMSI associated to the PrivateUser. (2)

msisdn

String


Pattern value = [0-9]*


minLength value = "5"


maxLength value = "15"

Optional (0-1)

Identifies the Mobile Station ISDN number assigned to a PrivateUser.

looseRouteId

String


Enumeration value = "LOOSE_ROUTE_REQUIRED"


Enumeration value = "LOOSE_ROUTE_NOT_REQUIRED"

Optional (0-1)

Indicates to the S-CSCF whether Loose Routing mechanism is to be applied or not.


This attribute can also be included in the IMS Subscriber object.

ssoMsisdn

Sub-MO

Optional (0-n)

A list of MSISDN used for Single Sign-On (SSO) authentication.

ssoMsisdn

String


Pattern value = [0-9]*


minLength value = "5"


maxLength value = "15"

Mandatory

Identifies an MSISDN used for SSO authentication.

accessIdentifier

Sub-MO

Optional (0-n)

A list of Network Access Identifier assigned to the multiServiceConsumer (Private User).

accessIdentifier

String


maxLength value = "255"

Mandatory

Contains a Network Access Identifier assigned to the multiServiceConsumer (Private User).

userAccessLineIdentifier

Sub-MO

Optional (0-n)

Contains a list of physical line identifiers of end-user equipment in a wireline access network.

lineName

String


minLength value ="1"


maxLength value = "15"

Mandatory

Identifies the Access Line

value

String


Maximum Length = 255

Mandatory

Identifies the Access Line, physically.

authMechanism

String


Enumeration value = "NBA"


Enumeration value = "NBA_LINE_PROFILE"


Enumeration value = "DIGEST_LINE_PROFILE"

Optional (0-1)

Contains the authentication type to be supported by the Access Line.

publicData

Sub-MO

Optional (0-n)

A list of public data related to one or more MultiSCs (Private Users).

publicIdValue

String


SIP URI (restricted)= sip:userinfo host where userinfo=user or telephone-subscriber and in both cases followed by an @


User and telephone-subscriber do not allow the following:
" \", " <" or " >", " @", " [" or " ]", " "", " " (space), Tab, CR, or LF.


In case of a Wildcard SIP URI, the user or telephone-subscriber ends in “!.*!”


In case of a Wildcard Extended SIP URI, the user or telephone-subscriber contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Host=hostname or IPv4address or IPv6reference. See Reference [8] for detailed description of host contents. When the configuration parameter AllowSipUriWithoutDomain is set to true, host is not mandatory.


or


TEL URL (restricted)= tel:global-phone-number where global-phone-number= “+” followed by digits 0-9 . In case of a Wildcard TEL URL the global-phone-number ends in “!.*!”


In case of a Wildcard Extended TEL URI, the global-phone-number contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Maximum length = 255

Mandatory

Identifies the Public Identity. (3)


Can be either a:


Restricted SIP URI or TEL URL, Wildcard SIP URI or Wildcard TEL URL, Wildcard Extended SIP URI or Wildcard Extended TEL URL.


Examples:


  • sip -
    sip:impu1@operator.com

  • tel -
    tel:+34657881898


Can be derived from IMSI or MSISDN.


Examples:



Wildcard can be used in both SIP URI and TEL URL. The wildcard has the format !.*!.


For SIP URI, the wildcard is to be placed before the “@” character. For TEL URL, the wildcard is to be placed at the end of the parameter.


Examples of SIP URI with wildcard:


  • sip:department1!.*!@operator.com

  • sip:!.*!@operator.com


Examples of TEL URL with wildcard:


  • tel:+34657!.*!

  • tel:+!.*!


Wildcard Extended is supported from 12B, and must be indicated as such with the isWildcardExtended parameter.


The wildcard extended has the format of a TEL URL or a SIP URI that can be defined with an extended regular expression.


Examples of Wildcard Extended are:


  • tel:+34!91[0-9]{7,7}!

  • tel:+34!91[0-9]{7,7}!4

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!@operator.com

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!_public@operator.com

privateUserId

String


minLength value="5"


maxLength value="70"

Optional (0-1)

This attribute indicates the associated PrivateUser to this PublicUser. If this attribute is not present, all PrivateUsers belonging to the subscriber which the PublicUser belongs to are associated to this PublicUser.

xcapAllowed

Boolean {true, false}

Optional (0-1)

States if the Public Identity can also be used in XCAP authentication.


Default value is: false.


If the IMPU is a PSI or if it is a wildcarded public identity or a TEL URL, then XCAP authentication must be set to false.

xcapPassword

String


minLength value="4"


minLength value="255"

Optional (0-1)

Used for XCAP authentication service purposes.


If value is not provisioned and xcapAllowed = TRUE, then the IMPI userPassword is used for XCAP authentication.

implicitRegSet

Integer

Mandatory

Identifies the Implicit Registration Set (IRS) which the Public Identity belongs to.


The first defined Public Identity of an ISR automatically becomes the default Public Identity in the ISR.


If the Public Identity does not belong to an IRS, the value of this attribute must be 0.


A wildcarded IMPU must belong to an IRS set to a value different from 0.

serviceProfileId

String


maxLength value="66"

Optional (0-1)

Serves as a reference to identify the Subscriber Service Profile assigned for the specific Public Identity.

wirelineAccessAllowed

String


Enumeration value = "ALLOWED_FROM_ANY_LOCATION"


Enumeration value = "ALLOWED_ONLY_FROM_RAL"


Enumeration value = "ALLOWED_FROM_AUTHORIZED_LOCATIONS"


Enumeration value = "ALLOWED_FROM_ANY_LOCATION_EXCEPT_IF_NO_PANI"


Enumeration value = "ALLOWED_ONLY_IF_PANI_INCL_AUTH_LOCATION"

Optional (0-1)

Indicates if the Public Identity is allowed to access from nomad locations.


The default value is ALLOWED_FROM_ANY_LOCATION.

authorizedVisitedAccessLine

String


maxLength value="255"

Optional (0-n)

Contains a list of userAccessLineIdentifier sub-MO identifiers, indicating the access lines that are allowed to be connected. (4)

sessionBarringInd

Boolean {true, false}

Optional (0-1)

Indicates if the Public Identity is barred for HSS session establishment.


Default value is: false

maxNumberOfContacts

Integer


When configuration parameter ExMaxNumberOfContacts is set to true:


minInclusive value="1"


maxInclusive value="200"


When configuration parameter ExMaxNumberOfContacts is set to false:


minInclusive value="1"


Pattern value =""\d{1}"


maxInclusive value="5"

Optional (0-1)

Indicates the maximum number of contacts that are allowed.


When configuration parameter ExMaxNumberOfContacts is set to false, default value is 1.

priorityLevel

Integer


minLength value="0"


maxLength value="4"

Optional (0-1)

Indicates the service priority level for the IMS Public Identity (IMPU).

isWildcardExtended

Boolean {true, false}

Optional (0-1)

This attribute indicates if the IMPU is defined as a Wildcard Extended public identity (using extended regular expression to define the identity).


true or false

aliasGroupId

String

Optional

Indicates which Alias Group the Public Identity belongs to.


When adding the IMPU to an Alias Group, the IMPU must already belong to an IRS. Also, the ImsIrs and ImsServProfId attributes of the IMPU must have the same values as other IMPUs in the Alias Group.


It is not allowed to move the IMPU between Alias Groups in a single operation just by changing the ImsAliasGroupId attribute from one non-zero value to another.


If the IMPU stores Transparent Data specific to the IMPU, then it is not allowed to add the IMPU to an Alias Group.

subscriberServiceProfile

Sub-MO

Optional (0-n)

A list of subscriber service profiles associated to a public identity.

serviceProfileId

String


maxLength value="66"

Mandatory

Identifies the subscriber service profile.

configuredServiceProfile

Sub-MO

Optional (0-n)

Contains a list of all the Service Profiles in HSS-FE associated to the Subscriber Service Profile.

configuredServiceProfileId

String


maxLength value="255"

Mandatory

Identifies the configured service profile.

subscribedMediaProfile

Unsigned integer

Optional (0-1)

Used to identify the set of session description parameters that the multiServiceConsumer (Private User) is authorized to request.

maxNumberSessions

Unsigned integer

Optional (0-1)

Defines the maximum number of simultaneous sessions allowed for the user equipment.


Default value is: 1

phoneContext

String


minLength Value = "0"


maxLength value = "255"

Optional (0-1)

Defines the default dialing context used by the S-CSCF to determine which dialing plan rules that applies to a request originating from a specific Public Identity when the terminating party is identified by local phone number. If a domain name is used, it does not need to be a routable domain since it is used for logically scooping dialing plans and not for IP routing. (5)


To pass validation, phoneContext must be: 1 to 15 digits with + at the beginning, or a Domain (where a . is mandatory).


1-15 digits


Example: +3586675550123


Domain


Example: fc3c399fb513f501c36b6dca35c7105de336b296d0.it

individualServiceProfile

Sub-MO

Optional (0-n)

Contains a list of individual service profiles associated to a specific subscriber service profile.

individualServiceProfileId

String


minLength value="5"


maxLength value="63"

Mandatory

Used to identify an individual service profile.

individualCapability

Unsigned integer

Optional (0-n)

Contains a list of capabilities needed for the execution of the service associated with this individual service profile.


It can only take values in the range [1 - 100].


The values in the set formed by individualCapability and individualOptionalCapability cannot be repeated.

individualOptionalCapability

Unsigned integer

Optional (0-n)

Contains a list of optional capabilities needed for the execution of the service associated with this individual service profile


The values in the set formed by individualCapability and individualOptionalCapability cannot be repeated.

individualTrigger

Sub-MO

Optional (0-n)

A list of individual triggers associated to a specific individual service profile.

triggerDescription

String


maxLength value="69"

Mandatory

Identifies the trigger.

triggerPriority

Unsigned integer

Mandatory

Identifies the priority of the trigger. The priority must be unique for a certain subscriber service profile.


Only even values are allowed.

isActive

Boolean {true, false}

Optional (0-1)

Indicates that this specific trigger is enabled.


Default value is: false

triggerType

String


Enumeration value = "ORIGINATING"


Enumeration value = "TERMINATING_REGISTERED"


Enumeration value = "TERMINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING"


Enumeration value = "NOT_TERMINATING_REGISTERED"


Enumeration value = "NOT_TERMINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_CDIV"


Enumeration value = "NOT_ORIGINATING_CDIV"

Optional (0-1)

Used to identify the type of the trigger. If this attribute is empty, the trigger applies to all registration cases.


The trigger criteria belong to the group 0.

detectionPoint

String


maxLength = "255"

Optional (0-1)

Indicates when the trigger is evaluated.


The trigger criteria belong to the group 0.

negatedDetectionPoint

Boolean {true, false}

Optional (0-1)

Indicates if the Detection Point is negated or not.

conditionType

String


Enumeration value = "AND"


Enumeration value = "OR"

Optional (0-1)

This attribute indicates the relationship among the different criteria within the same trigger criteria group. The condition applies only to the attributes: triggerType, detectionPoint, requestedURI, sipHeader, and registrationType.


"AND" means that the trigger criteria are linked by an AND operator.


"OR" means that the trigger criteria are linked by an OR operator.


The opposite as the one defined applies to the relation among the different groups.

requestedURI

String


maxLength = "255"

Optional (0-1)

Defines a trigger condition based on the content of the Request-uri for the request.


The trigger criteria belong to the group 0.

negatedRequestedURI

Boolean {true, false}

Optional (0-1)

Indicates if the Requested URI is negated or not.

sipHeader

String


maxLength = "255"

Optional (0-n)

Contains a list of structures identifying a SIP Header of this specific trigger.


The trigger criteria belong to the group 0.


Format:


The format shown below MUST be written on the same line.


<NegatedHeader>:<SIPHeaderName>:<SIPHeaderContent>
If a ":" character is used in the <SIPHeaderContent>, it needs to be escape, since this character is acting as a delimiter. The ":" character need to be written as "\:"
Example -
FALSE:Event:/presence/


TRUE:Refer-To:sip\:user2@ericsson.com


Or


<NegatedHeader>:<SIPHeaderName>


Type:


<Boolean>:<String>:<String>

applicationServer

String


maxLength = "255"

Mandatory

Presents the Application Server that is applied for this specific trigger.

registrationType

String


Enumeration value = "INITIAL_REGISTRATION"


Enumeration value = "RE-REGISTRATION"


Enumeration value = "DE-REGISTRATION"

Optional (0-2)

Contains a list of registration cases that restrict the trigger conditions when the trigger criteria group is 0. (6)

defaultHandling

String


Enumeration value = "SESSION_CONTINUED"


Enumeration value = "SESSION_TERMINATED"

Optional (0-1)

Represents the default handling of the S-CSCF when the connection with the Application Server of the current trigger cannot be established.

includeRegisterRequest

Boolean {true, false}

Optional (0-1)

This parameter indicates whether the tag IncludeRegisterRequest is included or not in the 3GPP User-Data AVP.

includeRegisterResponse

Boolean {true, false}

Optional (0-1)

This parameter indicates whether the tag IncludeRegisterResponse is included or not in the 3GPP User-Data AVP.

triggerCriteriaGroup

Sub-MO

Optional (0-n)

A list of trigger criteria groups associated to a specific individual TriggerA

groupId

Integer

Mandatory

This attribute identifies each SPT Group. The value cannot be 0.

sessionDescription

String


maxLength ="255"

Optional (0-n)

Defines the trigger criteria for the content of any Session Description Protocol (SDP) field within the body of a SIP method. Format: <NegatedSessionDescription>:<SDLine>: <Content>


Example:


FALSE:m:audio49170 RTP/AVP 0 Or


FALSE:m


Type:


<Boolean>:<String>:<String>

sessionCase

String


Enumeration value = "ORIGINATING"


Enumeration value = "TERMINATING_REGISTERED"


Enumeration value = "TERMINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING"


Enumeration value = "NOT_TERMINATING_REGISTERED"


Enumeration value = "NOT_TERMINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_CDIV"


Enumeration value = "NOT_ORIGINATING_CDIV"

Optional (0-n)

Defines the trigger criteria for the session cases. If this attribute is empty, the trigger applies to all registration cases.

sipMethod

String


maxLength ="255"

Optional (0-n)

Indicates when the trigger is evaluated. It includes the SIP method and the registration type when applies.


Format:


<NegatedSipMethod>:<SipMethod>: <RegistrationType>


Example:


FALSE:Subscribe


Or


FALSE:Register:2


Type:


<Boolean>:<String>:<enumerated>

groupRequestedURI

String


maxLength ="255"

Optional (0-n)

Defines a trigger condition based on the content of the Request-uri for the request.


Format:


<NegatedGroupRequestedUri>:<GroupRequestedUri>


Example:


FALSE:intranet.ericsson.com


Type:


<Boolean>:<String>

sipHeader

String


maxLength ="255"

Optional (0-n)

Contains a list of structures identifying a SIP Header of this specific trigger.


Format:


The format shown below MUST be written on the same line.


<NegatedHeader>:<SIPHeaderName>:<SIPHeaderContent>
If a ":" character is used in the <SIPHeaderContent>, it needs to be escape, since this character is acting as a delimiter. The ":" character need to be written as "\:"
Example -
FALSE:Event:/presence/


TRUE:Refer-To:sip\:user2@ericsson.com


Or


<NegatedHeader>:<SIPHeaderName>


Type:


<Boolean>:<String>:<String>

(1)  The format of this attribute is IMPI.

(2)  Only needed when an IMSI must be provisioned, where the IMPI is not derived from the IMSI. An IMSI must be provisioned if IMS service is provisioned for a subscriber that is defined in LTE, CSPS, AUC, or AVG.

(3)  The format of this attribute is IMPU.

(4)  If privateUserId is set to shared, this attribute has the format privateUserId$lineName

(5)  The format of this attribute is global phone number or domain name.

(6)  If this attribute is not present, the trigger applies to all registration cases.


The attribute, maxNumberOfContacts included in the table above, has different allowed type definitions, depending on which release of HSS-FE Dynamic Activation is configured to provision. To know which one to use there is a configuration parameter, ExMaxNumberOfContacts, in the activation logic function that must be set to indicate which HSS-FE release to provision. If the ExMaxNumberOfContacts parameter is set to true, Dynamic Activation is set up to provision HSS-FE 14A and onwards, using the extended range of this attribute. If it is set to false, Dynamic Activation is set up to provision HSS 12B or earlier releases. For more information, refer to Configuration Manual for Resource Activation, Reference [5], and User Guide for Resource Activation, Reference [6].

2.2   Examples

Request Example

This section gives an example of a CreateIMSAssociation request message, as shown in Example 2.

Example 2   Create IMSAssociation Request Message

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" xmlns:hss="http://schemas.ericsson.com/
 ma/HSS/">
	<soapenv:Header>
		<cai3:SessionId>123456</cai3:SessionId>
	</soapenv:Header>
	<soapenv:Body>
		<cai3:Create xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
		xmlns:hss="http://schemas.ericsson.com/ma/HSS/"
		 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
		xmlns:xml="http://www.w3.org/XML/1998/namespace">
			<cai3:MOType>IMSAssociation@http://schemas.ericsson.com/
			ma/HSS/</cai3:MOType>
			<cai3:MOId>
				<hss:associationId>Assoc1</hss:associationId>
			</cai3:MOId>
			<cai3:MOAttributes>
				<hss:CreateIMSAssociation associationId="Assoc1">
					<hss:associationId>Assoc1</hss:associationId>
					<hss:chargingProfId>aaa://charging.node:3868;transport=tcp</hss:chargingProfId>
					<hss:chargingId>657881898</hss:chargingId>
					<hss:isPsi>false</hss:isPsi>
					<hss:tenantId>55</hss:tenantId>
					<hss:looseRouteId>LOOSE_ROUTE_REQUIRED</hss:looseRouteId>
					<hss:privateUser privateUserId="sip:2800856789@ims.mnc08.mcc280.3gppnetwork.org">
						<hss:privateUserId>sip:2800856789@ims.mnc08.mcc280.3gppnetwork.org
						</hss:privateUserId>
						<hss:userPassword>password</hss:userPassword>
						<hss:secondPrivateUserId secondPrivateUserId="
						 sip:2800856789@ics.mnc08.mcc280.3gppnetwork.org ">
							<hss:secondPrivateUserId> sip:2800856789@ics.mnc08.mcc280.3gppnetwork.org
							</hss:secondPrivateUserId>
						</hss:secondPrivateUserId>
						<hss:allowedAuthMechanism>SSO</hss:allowedAuthMechanism>
						<hss:allowedAuthMechanism>DIGEST</hss:allowedAuthMechanism>
						<hss:userBarringInd>false</hss:userBarringInd>
						<hss:roamingAllowed>true</hss:roamingAllowed>
						<hss:msisdn>657882009</hss:msisdn>
						<hss:looseRouteId>LOOSE_ROUTE_NOT_REQUIRED</hss:looseRouteId>
						<hss:ssoMsisdn ssoMsisdn="657881898">
							<hss:ssoMsisdn>657881898</hss:ssoMsisdn>
						</hss:ssoMsisdn>
						<hss:ssoMsisdn ssoMsisdn="657881897">
							<hss:ssoMsisdn>657881897</hss:ssoMsisdn>
						</hss:ssoMsisdn>
					</hss:privateUser>
					<hss:publicData publicIdValue="sip:user@operator.com">
						<hss:publicIdValue>sip:user@operator.com</hss:publicIdValue>
						<hss:privateUserId>sip:2800856789@ims.mnc08.mcc280.3gppnetwork.org
						</hss:privateUserId>
						<hss:xcapAllowed>true</hss:xcapAllowed>
						<hss:implicitRegSet>1</hss:implicitRegSet>
						<hss:serviceProfileId>SubscriberServiceProfile1</hss:serviceProfileId>
						<hss:maxNumberOfContacts>4</hss:maxNumberOfContacts>
						<hss:isWildcardExtended>false</hss:isWildcardExtended>
						<hss:aliasGroupId>ImsAliasGroup</hss:aliasGroupId>
					</hss:publicData>
					<hss:publicData publicIdValue="tel:+34657881222">
						<hss:publicIdValue>tel:+34657881222</hss:publicIdValue>
						<hss:privateUserId>sip:2800856789@ims.mnc08.mcc280.3gppnetwork.org
						</hss:privateUserId>
						<hss:xcapAllowed>false</hss:xcapAllowed>
						<hss:implicitRegSet>1</hss:implicitRegSet>
						<hss:serviceProfileId>SubscriberServiceProfile1</hss:serviceProfileId>
					</hss:publicData>
					<hss:subscriberServiceProfile serviceProfileId="SubscriberServiceProfile1">
						<hss:serviceProfileId>SubscriberServiceProfile1</hss:serviceProfileId>
						<hss:configuredServiceProfile configuredServiceProfileId=
						 "ConfiguredServiceProfile1">
							<hss:configuredServiceProfileId>ConfiguredServiceProfile1
							</hss:configuredServiceProfileId>
						</hss:configuredServiceProfile>
						<hss:maxNumberSessions>5</hss:maxNumberSessions>
						<hss:individualServiceProfile individualServiceProfileId="IndividualServiceProfile1">
							<hss:individualServiceProfileId>IndividualServiceProfile1
							</hss:individualServiceProfileId>
							<hss:individualCapability>3</hss:individualCapability>
							<hss:individualTrigger triggerDescription="IndividualTrigger">
								<hss:triggerDescription>IndividualTrigger</hss:triggerDescription>
								<hss:triggerPriority>6</hss:triggerPriority>
								<hss:isActive>true</hss:isActive>
								<hss:triggerType>ORIGINATING</hss:triggerType>
								<hss:detectionPoint>PUBLISH</hss:detectionPoint>
								<hss:negatedDetectionPoint>false</hss:negatedDetectionPoint>
								<hss:conditionType>OR</hss:conditionType>
								<hss:sipHeader>FALSE:Event:/presence/</hss:sipHeader>
								<hss:applicationServer>sip:pgm@operator.com</hss:applicationServer>
							</hss:individualTrigger>
						</hss:individualServiceProfile>
					</hss:subscriberServiceProfile>
				</hss:CreateIMSAssociation>
			</cai3:MOAttributes>
		</cai3:Create>
	</soapenv:Body>
</soapenv:Envelope>

An association is created, called Assoc1, with private users "sip:2800856789@ims.mnc08.mcc280.3gppnetwork.org" and "sip:2800856789@ics.mnc08.mcc280.3gppnetwork.org" and the public Id "sip:user@operator.com" and "tel:+34657881222".

Response Example

This section gives an example of a CreateIMSAssociation response message, as shown in Example 3.

Example 3   Create IMSAssociation Response Message

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/" 
 xmlns:hss="http://schemas.ericsson.com/ma/HSS/">
	<s:Header>
		<cai3:TransactionId xmlns:cai3=\"http://schemas.ericsson.com
		/cai3g1.2/\">22998</cai3:TransactionId> 
		<cai3:SessionId xmlns:cai3=\"http://schemas.ericsson.com/
		 cai3g1.2/\">"24262627782"</cai3:SessionId> 
	</s:Header> 
	<s:Body> 
		<ns2:CreateResponse xmlns:ns2=\"http://schemas.ericsson.com/ cai3g1.2/\"> 
		<ns2:MOId> 
		<hss:associationId xmlns: hss=\"http://schemas.ericsson.com/ma/HSS/\" >
		 "imssub"</hss:associationId>
		</ns2:MOId> 
		</ns2:CreateResponse> 
	</s:Body> 
</s:Envelope> 

3   Get IMSAssociation

This section covers the command GetIMSAssociation.

MOType

IMSAssociation@http://schemas.ericsson.com/ma/HSS/

3.1   Request Data

3.1.1   Parameters

The following table covers the parameters that can be received in a GetIMSAssociation request. One of the following three parameters needs to be chosen as MOId.

Table 5    Get IMSAssociation Parameters

Parameter

Type

Occurrence

Description

associationId

String


maxLength value = "32"

Optional

Contains the identifier of the Association (subscriber).


Note that associationId is a new parameter to provision in UDC compared to Monolithic solution. The customer system should be properly adapted to make sure that the associationId does not exceed the maximum length 32. This means that it is not a good idea to use the subscriberId from Monolithic as associationId in UDC. The recommendation is also to NOT use any of the subscriber Identifiers (like IMSI, MSISDN, IMPI, IMPU) as associationId. This, since features like IMSI Changeover will only change impacted subscriber Identifiers, it will not change the assocaitionId. Use any random value or other value the customer has.

impi

String


minLength value="5"


maxLength value="70"

Optional

Identifies the Private User.

impu

String


SIP URI (restricted)= sip:userinfo host where userinfo=user or telephone-subscriber and in both cases followed by an @


User and telephone-subscriber do not allow the following:
" \", " <" or " >", " @", " [" or " ]", " "", " " (space), Tab, CR, or LF.


In case of a Wildcard SIP URI, the user or telephone-subscriber ends in “!.*!”


In case of a Wildcard Extended SIP URI, the user or telephone-subscriber contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Host=hostname or IPv4address or IPv6reference. See Reference [8] for detailed description of host contents.


or


TEL URL (restricted)= tel:global-phone-number where global-phone-number= “+” followed by digits 0-9 . In case of a Wildcard TEL URL the global-phone-number ends in “!.*!”


In case of a Wildcard Extended TEL URI, the global-phone-number contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Maximum length = 255

Optional

Identifies the Public Identity. (1)


During an on going IMSICHO, only new IMPU will be returned.


Can be either a:


Restricted SIP URI or TEL URL, Wildcard SIP URI or Wildcard TEL URL, Wildcard Extended SIP URI or Wildcard Extended TEL URL.


Examples:


  • sip -
    sip:impu1@operator.com

  • tel -
    tel:+34657881898


Can be derived from IMSI or MSISDN.


Examples:



Wildcard can be used in both SIP URI and TEL URL. The wildcard has the format !.*!.


For SIP URI, the wildcard is to be placed before the “@” character. For TEL URL, the wildcard is to be placed at the end of the parameter.


Examples of SIP URI with wildcard:


  • sip:department1!.*!@operator.com

  • sip:!.*!@operator.com


Examples of TEL URL with wildcard:


  • tel:+34657!.*!

  • tel:+!.*!


Wildcard Extended is supported from 12B, and must be indicated as such with the isWildcardExtended parameter.


The wildcard extended has the format of a TEL URL or a SIP URI that can be defined with an extended regular expression.


Examples of Wildcard Extended are:


  • tel:+34!91[0-9]{7,7}!

  • tel:+34!91[0-9]{7,7}!4

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!@operator.com

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!_public@operator.com

(1)  The format of this attribute is IMPU.


3.2   Response Data

3.2.1   Parameters

MOAttributes

The parameters that are used in the operation are shown in Figure 2.

Figure 2   Parameters in Get Response IMSAssociation

The following table covers the parameters that can be received in a GetIMSAssociation response.

Note:  
The attributes userPassword, userPrimaryHA1Password, userSecondaryHA1Password, and xcapPassword are not returned in a Get IMSAssociation response.

Table 6    Get Response IMSAssociation Parameters

Parameter

Type

Occurrence

Description

associationId

String


maxLength value = "32"

Mandatory

Contains the identifier of the Association (subscriber).


Note that associationId is a new parameter to provision in UDC compared to Monolithic solution. The customer system should be properly adapted to make sure that the associationId does not exceed the maximum length 32. This means that it is not a good idea to use the subscriberId from Monolithic as associationId in UDC. The recommendation is also to NOT use any of the subscriber Identifiers (like IMSI, MSISDN, IMPI, IMPU) as associationId. This, since features like IMSI Changeover will only change impacted subscriber Identifiers, it will not change the assocaitionId. Use any random value or other value the customer has.

impi

String


minLength value="5"


maxLength value="70"

Optional

Identifies the Private User.

impu

String


SIP URI (restricted)= sip:userinfo host where userinfo=user or telephone-subscriber and in both cases followed by an @


User and telephone-subscriber do not allow the following:
" \", " <" or " >", " @", " [" or " ]", " "", " " (space), Tab, CR, or LF.


In case of a Wildcard SIP URI, the user or telephone-subscriber ends in “!.*!”


In case of a Wildcard Extended SIP URI, the user or telephone-subscriber contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Host=hostname or IPv4address or IPv6reference. See Reference [8] for detailed description of host contents.


or


TEL URL (restricted)= tel:global-phone-number where global-phone-number= “+” followed by digits 0-9 . In case of a Wildcard TEL URL the global-phone-number ends in “!.*!”


In case of a Wildcard Extended TEL URI, the global-phone-number contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Maximum length = 255

Optional

Identifies the Public Identity. (1)


During an on going IMSICHO, only new IMPU will be returned.


Can be either a:


Restricted SIP URI or TEL URL, Wildcard SIP URI or Wildcard TEL URL, Wildcard Extended SIP URI or Wildcard Extended TEL URL.


Examples:


  • sip -
    sip:impu1@operator.com

  • tel -
    tel:+34657881898


Can be derived from IMSI or MSISDN.


Examples:



Wildcard can be used in both SIP URI and TEL URL. The wildcard has the format !.*!.


For SIP URI, the wildcard is to be placed before the “@” character. For TEL URL, the wildcard is to be placed at the end of the parameter.


Examples of SIP URI with wildcard:


  • sip:department1!.*!@operator.com

  • sip:!.*!@operator.com


Examples of TEL URL with wildcard:


  • tel:+34657!.*!

  • tel:+!.*!


Wildcard Extended is supported from 12B, and must be indicated as such with the isWildcardExtended parameter.


The wildcard extended has the format of a TEL URL or a SIP URI that can be defined with an extended regular expression.


Examples of Wildcard Extended are:


  • tel:+34!91[0-9]{7,7}!

  • tel:+34!91[0-9]{7,7}!4

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!@operator.com

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!_public@operator.com

chargingProfId

String


maxLength value= "255"

Optional (0-1)

Identifies the Charging Profile configured in HSS-FE.


Default value is: DefaultChargingProfile

chargingId

String


Pattern value = "\d{5,15}"


5-15 digits


Each digit is 0-9

Optional (0-1)

The MSISDN to use for charging purposes.

isPsi

Boolean {true, false}

Optional (0-1)

Indicates if the IMS users belonging to this subscriber are Public Service Identities, either Distinct or Wildcarded.


Default value is: false

privacyIndicator

Boolean {true, false}

Optional (0-1)

Indicates if data sharing with the Application Servers (AS) is allowed.


privacyIndicator = false, means that data sharing with the AS is allowed.


privacyIndicator = true, means that the data is protected.


Default value is: false

defaultPrivateUserId

String


minLength value="5"


maxLength value="70"

Optional (0-1)

Describes the private user identity that is applied by default. (2)


During an ongoing IMSICHO, only new IMPI will be returned.

defaultRemoteReferenceAccess Location

String


maxLength value="255"

Optional (0-1)

Describes the default physical line identifier of the end equipment in the wireline access network.

asHostingPSI

String


maxLength value="255"

Optional

This attribute indicates the application server name hosting the PSI user used for Routing Purposes.

tenantId

Integer


minInclusive value = "1"


maxInclusive value = "100"

Optional

Indicates the identifier of the Tenant Configuration associated to the IMS subscriber.


It can only take values in the range [1-100].

looseRouteId

String


Enumeration value = "LOOSE_ROUTE_REQUIRED"


Enumeration value = "LOOSE_ROUTE_NOT_REQUIRED"

Optional (0-1)

Indicates to the S-CSCF whether Loose Routing mechanism is to be applied or not.


This attribute can also be included in the IMS IMPI object.

esrNumber

String


Pattern value="([0-9]{7})|(0-9]{10})"/

Optional

Indicates the Emergency Services Routing Number (ESRN) for a user with a public identity belonging to this subscriber.


This attribute is only applicable if routing of emergency calls based on ESRN is supported in the network.

originatingCallsS-CSCF

String


maxLength value="255"

Optional

This attribute identifies the S-CSCF that serves the registered Public Identities for originating calls.

terminatingCallsS-CSCF

String


maxLength value="255"

Optional

This attribute identifies the S-CSCF that serves the registered Public Identities for terminating calls.

diaServId

String


maxLength value="255"

Optional

This attribute indicates the Diameter Identity of the S-CSCF serving this Private Identity.

diaServRealm

String


maxLength value="255"

Optional

This attribute indicates the Diameter realm of the S-CSCF serving this Private Identity.

privateUser

Sub-MO

Optional (0-n)

A list of PrivateUsers

privateUserId

String


minLength value="5"


maxLength value="70"

Mandatory

Identifies the PrivateUser. (2)


During an ongoing IMSICHO, only new IMPI will be returned.

secondPrivateUserId

Sub-MO

Optional (0-n)

A list of second Private User Id

 

secondPrivateUserId

String


minLength value="1"


maxLength value="255"

Mandatory

Identifies an additional IMPI associated to the Multi Service Consumer, a second private user id.


It must be derived from an IMSI.

allowedAuthMechanism

String


Enumeration value = "DIGEST"


Enumeration value = "SSO"


Enumeration value = "NBA"

Optional (0-n)

Contains a list of authentication mechanisms supported by the multiServiceConsumer (Private User).


If isPsi = FALSE:


  • IMS-AKA is always supported as default value in the list, regardless of this attribute.

  • If DIGEST is provide, either userPassworkd or userPrimaryHA1Password must be input as well.


If isPsi = TRUE:


  • userPassword, userPrimaryHA1Password, and allowedAuthMechanism do not take effect in the HSS traffic handling.

userBarringInd

Boolean {true, false}

Optional (0-1)

Indicates if the multiServiceConsumer (Private User) is barred or not.


Default value is: false

roamingAllowed

Boolean {true, false}

Optional (0-1)

Indicates whether the multiServiceConsumer (Private User) is allowed to roam or not.


Default value is: false

referenceAccessLocation

String


maxLength value= "255"

Optional (0-1)

Describes the physical line identifier of the end-user equipment in the wireline access network.


Cannot be provisioned if isPsi = TRUE.

userImsi

String


Pattern value = [0-9]*


minLength value = "6"


maxLength value = "15"

Optional (0-1)

Contains the IMSI associated to the PrivateUser (3)


During an ongoing IMSICHO, only new IMSI will be returned.

msisdn

String


Pattern value = [0-9]*


minLength value = "5"


maxLength value = "15"

Optional (0-1)

Identifies the Mobile Station ISDN number assigned to a multiServiceConsumer.

looseRouteId

String


Enumeration value = "LOOSE_ROUTE_REQUIRED"


Enumeration value = "LOOSE_ROUTE_NOT_REQUIRED"

Optional (0-1)

Indicates to the S-CSCF whether Loose Routing mechanism is to be applied or not.


This attribute can also be included in the IMS Subscriber object.

ssoMsisdn

Sub-MO

Optional (0-n)

A list of MSISDN used for Single Sign-On (SSO) authentication.

ssoMsisdn

String


Pattern value = [0-9]*


minLength value = "5"


maxLength value = "15"

Mandatory

Identifies an MSISDN used for SSO authentication.

numOfFailedSipAuthAttempts

Integer

Optional (0-1)

Contains the number of failed authentication attempts.

accessIdentifier

Sub-MO

Optional (0-n)

A list of Network Access Identifier assigned to the multiServiceConsumer (Private User).

accessIdentifier

String


maxLength value = "255"

Mandatory

Contains a Network Access Identifier assigned to the multiServiceConsumer (Private User).

userAccessLineIdentifier

Sub-MO

Optional (0-n)

Contains a list of physical line identifiers of end-user equipment in a wireline access network.

lineName

String


minLength value="1"


maxLength value="15"

Mandatory

Identifies the Access Line

value

String


maxLength value="255"

Mandatory

Identifies the Access Line, physically.

authMechanism

String


Enumeration value = "NBA"


Enumeration value = "NBA_LINE_PROFILE"


Enumeration value = "DIGEST_LINE_PROFILE"

Optional (0-1)

Contains the authentication type to be supported by the Access Line.

publicData

Sub-MO

Optional (0-n)

A list of public data related to one or more MultiSCs (Private Users).

publicIdValue

String


SIP URI (restricted)= sip:userinfo host where userinfo=user or telephone-subscriber and in both cases followed by an @


User and telephone-subscriber do not allow the following:
" \", " <" or " >", " @", " [" or " ]", " "", " " (space), Tab, CR, or LF.


In case of a Wildcard SIP URI, the user or telephone-subscriber ends in “!.*!”


In case of a Wildcard Extended SIP URI, the user or telephone-subscriber contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Host=hostname or IPv4address or IPv6reference. See Reference [8] for detailed description of host contents.


or


TEL URL (restricted)= tel:global-phone-number where global-phone-number= “+” followed by digits 0-9 . In case of a Wildcard TEL URL the global-phone-number ends in “!.*!”


In case of a Wildcard Extended TEL URI, the global-phone-number contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Maximum length = 255

Mandatory

Identifies the Public Identity. (4)


During an on going IMSICHO, only new IMPU will be returned.


Can be either a:


Restricted SIP URI or TEL URL, Wildcard SIP URI or Wildcard TEL URL, Wildcard Extended SIP URI or Wildcard Extended TEL URL.


Examples:


  • sip -
    sip:impu1@operator.com

  • tel -
    tel:+34657881898


Can be derived from IMSI or MSISDN.


Examples:



Wildcard can be used in both SIP URI and TEL URL. The wildcard has the format !.*!.


For SIP URI, the wildcard is to be placed before the “@” character. For TEL URL, the wildcard is to be placed at the end of the parameter.


Examples of SIP URI with wildcard:


  • sip:department1!.*!@operator.com

  • sip:!.*!@operator.com


Examples of TEL URL with wildcard:


  • tel:+34657!.*!

  • tel:+!.*!


Wildcard Extended is supported from 12B, and must be indicated as such with the isWildcardExtended parameter.


The wildcard extended has the format of a TEL URL or a SIP URI that can be defined with an extended regular expression.


Examples of Wildcard Extended are:


  • tel:+34!91[0-9]{7,7}!

  • tel:+34!91[0-9]{7,7}!4

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!@operator.com

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!_public@operator.com

privateUserId

String


minLength value="5"


maxLength value="70"

Mandatory

This attribute indicates the associated PrivateUser to this PublicUser (2). If the PublicUser is connected to multiple PrivateUsers, then the value will be shared.


During an ongoing IMSICHO, only new IMPI will be returned.

xcapAllowed

Boolean {true, false}

Optional (0-1)

States if the Public Identity can also be used in XCAP authentication.


Default value is: false.


If the IMPU is a PSI or if it is a wildcarded public identity or a TEL URL, then XCAP authentication must be set to false.

implicitRegSet

Integer

Mandatory

Identifies the Implicit Registration Set (IRS) which the Public Identity belongs to.


The first defined Public Identity of an ISR automatically becomes the default Public Identity in the ISR.


If the Public Identity does not belong to an IRS, the value of this attribute must be 0.


A wildcarded IMPU must belong to an IRS set to a value different from 0.

isDefault

Boolean {true, false}

Mandatory

This attribute indicates if the Public Identity is the default of its IRS.


When an IMPU of a specific type is set to default, the former one of the same types is unmarked automatically as such. Only one IMPU of each type (SIP URI or TEL URL) can be defined as default in a set. The first IMPU of an IRS must be marked as default.

serviceProfileId

String


maxLength value="66"

Optional (0-1)

Serves as a reference to identify the Subscriber Service Profile assigned for the specific Public Identity.

wirelineAccessAllowed

String


Enumeration value = "ALLOWED_FROM_ANY_LOCATION"


Enumeration value = "ALLOWED_ONLY_FROM_RAL"


Enumeration value = "ALLOWED_FROM_AUTHORIZED_LOCATIONS"


Enumeration value = "ALLOWED_FROM_ANY_LOCATION_EXCEPT_IF_NO_PANI"


Enumeration value = "ALLOWED_ONLY_IF_PANI_INCL_AUTH_LOCATION"

Optional (0-1)

Indicates if the Public Identity is allowed to access from nomad locations.

authorizedVisitedAccessLine

String


maxLength value = "255"

Optional (0-n)

Contains a list of userAccessLineIdentifier sub-MO identifiers, indicating the access lines that are allowed to be connected. (5)

sessionBarringInd

Boolean {true, false}

Optional (0-1)

Indicates if the Public Identity is barred for HSS session establishment.


Default value is: false

maxNumberOfContacts

Integer


When configuration parameter ExMaxNumberOfContacts is set to true:


minInclusive value="1"


maxInclusive value="200"


When configuration parameter ExMaxNumberOfContacts is set to false:


minInclusive value="1"


Pattern value =""\d{1}"


maxInclusive value="5"

Optional (0-1)

Indicates the maximum number of contacts that are allowed.


When configuration parameter ExMaxNumberOfContacts is set to false, default value is 1.

priorityLevel

Integer


minLength value="0"


maxLength value="4"

Optional (0-1)

Indicates the service priority level for the IMS Public Identity (IMPU).

isWildcardExtended

Boolean {true, false}

Optional (0-1)

This attribute indicates if the IMPU is defined as a Wildcard Extended public identity (using extended regular expression to define the identity).


true or false

aliasGroupId

String

Optional

Indicates which Alias Group the Public Identity belongs to.


When adding the IMPU to an Alias Group, the IMPU must already belong to an IRS. Also, the ImsIrs and ImsServProfId attributes of the IMPU must have the same values as other IMPUs in the Alias Group.


It is not allowed to move the IMPU between Alias Groups in a single operation just by changing the ImsAliasGroupId attribute from one non-zero value to another.


If the IMPU stores Transparent Data specific to the IMPU, then it is not allowed to add the IMPU to an Alias Group.

privateUserIdState

Sub-MO

Optional (0-1)

Contains a list of structures indicating the registration state of each of the Private Identities associated to a specific Public Identity.

 

privatesUserId

String


minLength value="5"


maxLength value="70"

Mandatory

Identifies the PrivateUser

state

String


Enumeration value = "NOT_REGISTERED"

Mandatory

Contains the registration state.


State can only be set to NOT_REGISTERED

numOfFailedXcapAuthAttempts

Integer

Optional (0-1)

Contains the number of failed XCAP authentication attempts.


numOfFailedXcapAuthAttempts can only be set to 0.

subscriberServiceProfile

Sub-MO

Optional (0-n)

A list of subscriber service profiles associated to a public identity.

serviceProfileId

String


maxLength value="66"

Mandatory

Identifies the subscriber service profile.

configuredServiceProfile

Sub-MO

Optional (0-n)

Contains a list of all the Service Profiles in HSS-FE associated to the Subscriber Service Profile.

configuredServiceProfileId

String


maxLength value="255"

Mandatory

Identifies the configured service profile.

subscribedMediaProfile

Unsigned integer

Optional (0-1)

Used to identify the set of session description parameters that the multiServiceConsumer (Private User) is authorized to request.

maxNumberSessions

Unsigned integer

Optional (0-1)

Defines the maximum number of simultaneous sessions allowed for the user equipment.


Default value is: 1

phoneContext

String


minLength Value = "0"


maxLength value = "255"

Optional (0-1)

Defines the default dialing context used by the S-CSCF to determine which dialing plan rules that applies to a request originating from a specific Public Identity when the terminating party is identified by local phone number. If a domain name is used, it does not need to be a routable domain since it is used for logically scooping dialing plans and not for IP routing. (6)


Can consist of digits or domain value:


1-15 digits


Example: +3586675550123


Domain


Example: fc3c399fb513f501c36b6dca35c7105de336b296d0.it

individualServiceProfile

Sub-MO

Optional (0-n)

Contains a list of individual service profiles associated to a specific subscriber service profile.

individualServiceProfileId

String


minLength value="5"


maxLength value="63"

Mandatory

Used to identify an individual service profile.

individualCapability

Unsigned integer

Optional (0-n)

Contains a list of capabilities needed for the execution of the service associated with this individual service profile.

individualOptionalCapability

Unsigned integer

Optional (0-n)

Contains a list of optional capabilities needed for the execution of the service associated with this individual service profile

individualTrigger

Sub-MO

Optional (0-n)

A list of individual triggers associated to a specific individual service profile.

triggerDescription

String


maxLength value="69"

Mandatory

Identifies the trigger.

triggerPriority

Unsigned integer

Mandatory

Identifies the priority of the trigger. The priority must be unique for a certain subscriber service profile.


Only even values are allowed.

isActive

Boolean {true, false}

Optional (0-1)

Indicates that this specific trigger is enabled.


Default value is: false

triggerType

String


Enumeration value = "ORIGINATING"


Enumeration value = "TERMINATING_REGISTERED"


Enumeration value = "TERMINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING"


Enumeration value = "NOT_TERMINATING_REGISTERED"


Enumeration value = "NOT_TERMINATING _UNREGISTERED"


Enumeration value = "NOT_ORIGINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_CDIV"


Enumeration value = "NOT_ORIGINATING_CDIV"

Optional (0-1)

Used to identify the type of the trigger. If this attribute is empty, the trigger applies to all registration cases.


The trigger criteria belong to the group 0.

detectionPoint

String


maxLength = "255"

Optional (0-1)

Indicates when the trigger is evaluated.


The trigger criteria belong to the group 0.

negatedDetectionPoint

Boolean {true, false}

Optional (0-1)

Indicates if the Detection Point is negated or not.

conditionType

String


Enumeration value = "AND"


Enumeration value = "OR"

Optional (0-1)

This attribute indicates the relationship among the different criteria within the same trigger criteria group. The condition applies only to the attributes: triggerType, detectionPoint, requestedURI, sipHeader, and registrationType.


"AND" means that the trigger criteria are linked by an AND operator.


"OR" means that the trigger criteria are linked by an OR operator.


The opposite as the one defined applies to the relation among the different groups.

requestedURI

String


maxLength = "255"

Optional (0-1)

Defines a trigger condition based on the content of the Request-uri for the request.


The trigger criteria belong to the group 0.

negatedRequestedURI

Boolean {true, false}

Optional (0-1)

Indicates if the Requested URI is negated or not.

sipHeader

String


maxLength = "255"

Optional (0-n)

Contains a list of structures identifying a SIP Header of this specific trigger.


The trigger criteria belong to the group 0.


Format:


The format shown below MUST be written on the same line.


<NegatedHeader>:<SIPHeaderName>:<SIPHeaderContent>
If a ":" character is used in the <SIPHeaderContent>, it needs to be escape, since this character is acting as a delimiter. The ":" character need to be written as "\:"
Example -
FALSE:Event:/presence/


TRUE:Refer-To:sip\:user2@ericsson.com


Or


<NegatedHeader>:<SIPHeaderName>


Type:


<Boolean>:<String>:<String>

applicationServer

String


maxLength = "255"

Mandatory

Presents the Application Server that is applied for this specific trigger.

registrationType

String


Enumeration value = "INITIAL_REGISTRATION"


Enumeration value = "RE-REGISTRATION"


Enumeration value = "DE-REGISTRATION"

Optional (0-2)

Contains a list of registration cases that restrict the trigger conditions when the trigger criteria group is 0. (7)

defaultHandling

String


Enumeration value = "SESSION_CONTINUED"


Enumeration value = "SESSION_TERMINATED"

Optional (0-1)

Represents the default handling of the S-CSCF when the connection with the Application Server of the current trigger cannot be established.

includeRegisterRequest

Boolean {true, false}

Optional (0-1)

This parameter indicates whether the tag IncludeRegisterRequest is included or not in the 3GPP User-Data AVP.

includeRegisterResponse

Boolean {true, false}

Optional (0-1)

This parameter indicates whether the tag IncludeRegisterResponse is included or not in the 3GPP User-Data AVP.

triggerCriteriaGroup

Sub-MO

Optional (0-n)

A list of trigger criteria groups associated to a specific individual TriggerA

groupId

Integer

Mandatory

This attribute identifies each SPT Group. The value cannot be 0.

sessionDescription

String


maxLength ="255"

Optional (0-n)

Defines the trigger criteria for the content of any Session Description Protocol (SDP) field within the body of a SIP method. Format: <NegatedSessionDescription>:<SDLine>: <Content>


Example:


FALSE:m:audio49170 RTP/AVP 0 Or


FALSE:m


Type:


<Boolean>:<String>:<String>

sessionCase

String


Enumeration value = "ORIGINATING"


Enumeration value = "TERMINATING_REGISTERED"


Enumeration value = "TERMINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING"


Enumeration value = "NOT_TERMINATING_REGISTERED"


Enumeration value = "NOT_TERMINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_CDIV"


Enumeration value = "NOT_ORIGINATING_CDIV"

Optional (0-n)

Defines the trigger criteria for the session cases. If this attribute is empty, the trigger applies to all registration cases.

sipMethod

String


maxLength ="255"

Optional (0-n)

Indicates when the trigger is evaluated. It includes the SIP method and the registration type when applies.


Format:


<NegatedSipMethod>:<SipMethod>: <RegistrationType>


Example:


FALSE:Subscribe


Or


FALSE:Register:2


Type:


<Boolean>:<String>:<enumerated>

groupRequestedURI

String


maxLength ="255"

Optional (0-n)

Defines a trigger condition based on the content of the Request-uri for the request.


Format:


<NegatedGroupRequestedUri>:<GroupRequestedUri>


Example:


FALSE:intranet.ericsson.com


Type:


<Boolean>:<String>

sipHeader

String


maxLength ="255"

Optional (0-n)

Contains a list of structures identifying a SIP Header of this specific trigger.


Format:


The format shown below MUST be written on the same line.


<NegatedHeader>:<SIPHeaderName>:<SIPHeaderContent>
If a ":" character is used in the <SIPHeaderContent>, it needs to be escape, since this character is acting as a delimiter. The ":" character need to be written as "\:"
Example -
FALSE:Event:/presence/


TRUE:Refer-To:sip\:user2@ericsson.com


Or


<NegatedHeader>:<SIPHeaderName>


Type:


<Boolean>:<String>:<String>

aliasGroup

Sub-MO

Optional (0-n)

A list of alias groups associated to a public identity.

aliasGroupId

String

Mandatory

Identifies the Alias Group assigned to a subscriber (public identity).

(1)  The format of this attribute is IMPU.

(2)  The format of this attribute is IMPI.

(3)  Only needed when an IMSI must be provisioned, where the IMPI is not derived from the IMSI.

(4)  The format of this attribute is IMPU.

(5)  If privateUserId is set to shared, this attribute has the format privateUserId$lineName

(6)  The format of this attribute is global phone number or domain name.

(7)  If this attribute is not present, the trigger applies to all registration cases.


3.3   Examples

Request Example

The following is an example of a GetIMSAssociation request message by associationId.

Example 4   Get IMSAssociation Request Message by associationId

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/"
xmlns:hss="http://schemas.ericsson.com/ma/HSS/">
	<soapenv:Header>
		<cai3g:SessionId>123456</cai3g:SessionId>
	</soapenv:Header>
	<soapenv:Body>
		<cai3g:Get>
			<cai3g:MOType>
			 IMSAssociation@http://schemas.ericsson.com/ma/HSS/
			</cai3g:MOType>
			<cai3g:MOId>
				<hss:associationId>xy</hss:associationId>
			</cai3g:MOId>
		</cai3g:Get>
	</soapenv:Body>
</soapenv:Envelope>

The following is an example of a GetIMSAssociation request message by impi.

Example 5   Get IMSAssociation Request Message by impi

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
xmlns:hss="http://schemas.ericsson.com/ma/HSS/">
   <soapenv:Header>
       <cai3:SessionId>ac6f05cb8fd24cf4a0f5531e6992c854</cai3:SessionId>
   </soapenv:Header>
   <soapenv:Body>
      <cai3:Get>
         <cai3:MOType>IMSAssociation@http://schemas.ericsson.com/ma/HSS/</cai3:MOType>
         <cai3:MOId>
            <hss:impi>460080100031076@ims.mnc008.mcc460.3gppnetwork.org</hss:impi>
         </cai3:MOId>
      </cai3:Get>
   </soapenv:Body>
</soapenv:Envelope>

The following is an example of a GetIMSAssociation request message by impu.

Example 6   Get IMSAssociation Request Message by impu

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
xmlns:hss="http://schemas.ericsson.com/ma/HSS/">
   <soapenv:Header>
       <cai3:SessionId>ac6f05cb8fd24cf4a0f5531e6992c854</cai3:SessionId>
   </soapenv:Header>
   <soapenv:Body>
      <cai3:Get>
         <cai3:MOType>IMSAssociation@http://schemas.ericsson.com/ma/HSS/</cai3:MOType>
         <cai3:MOId>
            <hss:impu>sip:460080100031077@ims.mnc008.mcc460.3gppnetwork.org</hss:impu>
         </cai3:MOId>
      </cai3:Get>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

This section gives an example of a GetIMSAssociation response message, as shown in Example 7.

Example 7   Get IMSAssociation Response Message

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/">
   <S:Header>
      <cai3g:SessionId>123456</cai3g:SessionId>
   </S:Header>
   <S:Body>
      <ns2:GetResponse xmlns:ns2="http://schemas.ericsson.com/cai3g1.2/">
         <ns2:MOAttributes>
            <ns:GetResponseIMSAssociation associationId="Assoc1"
            xmlns:ns="http://schemas.ericsson.com/ma/HSS/">
               <ns:associationId>Assoc1</ns:associationId>
               <ns:chargingProfId>aaa://charging.node:3868;transport=tcp
               </ns:chargingProfId>
               <ns:chargingId>657997722</ns:chargingId>
               <ns:isPsi>false</ns:isPsi>
               <ns:privacyIndicator>false</ns:privacyIndicator>
               <ns:looseRouteId>LOOSE_ROUTE_REQUIRED</ns:looseRouteId>
               <ns:privateUser privateUserId="sip:molly@ims.operator.org">
                  <ns:privateUserId>sip:molly@ims.operator.org</ns:privateUserId>
                  <ns:secondPrivateUserId>sip:2800856789@ics.mnc08.mcc280.3gppnetwork.org
                     <ns:secondPrivateUserId>sip:2800856789@ics.mnc08.mcc280.3gppnetwork.org
                     </ns:secondPrivateUserId>
                  </ns:secondPrivateUserId>
                  <ns:allowedAuthMechanism>DIGEST</ns:allowedAuthMechanism>
                  <ns:allowedAuthMechanism>NBA</ns:allowedAuthMechanism>
                  <ns:allowedAuthMechanism>SSO</ns:allowedAuthMechanism>
                  <ns:userBarringInd>true</ns:userBarringInd>
                  <ns:roamingAllowed>true</ns:roamingAllowed>
                  <ns:referenceAccessLocation>adsl;line-id=33</ns:referenceAccessLocation>
                  <ns:msisdn>234562347623</ns:msisdn>
                  <ns:looseRouteId>LOOSE_ROUTE_REQUIRED</ns:looseRouteId>
                  <ns:ssoMsisdn ssoMsisdn="657997722">
                     <ns:ssoMsisdn>657997722</ns:ssoMsisdn>
                  </ns:ssoMsisdn>
                  <ns:ssoMsisdn ssoMsisdn="657997723">
                     <ns:ssoMsisdn>657997723</ns:ssoMsisdn>
                  </ns:ssoMsisdn>
                  <ns:numOfFailedSipAuthAttempts>0</ns:numOfFailedSipAuthAttempts>
                  <ns:accessIdentifier accessIdentifier="user17@realm.org">
                     <ns:accessIdentifier>user17@realm.org</ns:accessIdentifier>
                  </ns:accessIdentifier>
                  <ns:accessIdentifier accessIdentifier="user27@realm.org">
                     <ns:accessIdentifier>user27@realm.org</ns:accessIdentifier>
                  </ns:accessIdentifier>
                  <ns:userAccessLineIdentifier lineName="airport">
                     <ns:lineName>airport</ns:lineName>
                     <ns:value>adsl;line-id=00077</ns:value>
                     <ns:authMechanism>NBA</ns:authMechanism>
                  </ns:userAccessLineIdentifier>
                  <ns:userAccessLineIdentifier lineName="away">
                     <ns:lineName>away</ns:lineName>
                     <ns:value>adsl;line-id=00066</ns:value>
                     <ns:authMechanism>NBA</ns:authMechanism>
                  </ns:userAccessLineIdentifier>
                  <ns:userAccessLineIdentifier lineName="home">
                     <ns:lineName>home</ns:lineName>
                     <ns:value>adsl;line-id=44</ns:value>
                     <ns:authMechanism>NBA</ns:authMechanism>
                  </ns:userAccessLineIdentifier>
                  <ns:userAccessLineIdentifier lineName="office">
                     <ns:lineName>office</ns:lineName>
                     <ns:value>adsl;line-id=33</ns:value>
                     <ns:authMechanism>NBA</ns:authMechanism>
                  </ns:userAccessLineIdentifier>
               </ns:privateUser>
               <ns:privateUser privateUserId="sip:polly@ims.operator.org">
                  <ns:privateUserId>sip:polly@ims.operator.org</ns:privateUserId>
                  <ns:allowedAuthMechanism>DIGEST</ns:allowedAuthMechanism>
                  <ns:userBarringInd>false</ns:userBarringInd>
                  <ns:roamingAllowed>false</ns:roamingAllowed>
                  <ns:referenceAccessLocation>adsl;line-id=41</ns:referenceAccessLocation>
                  <ns:looseRouteId>LOOSE_ROUTE_NOT_REQUIRED</ns:looseRouteId>
                  <ns:numOfFailedSipAuthAttempts>0</ns:numOfFailedSipAuthAttempts>
                  <ns:userAccessLineIdentifier lineName="airport">
                     <ns:lineName>airport</ns:lineName>
                     <ns:value>adsl;line-id=000876w</ns:value>
                     <ns:authMechanism>NBA</ns:authMechanism>
                  </ns:userAccessLineIdentifier>
                  <ns:userAccessLineIdentifier lineName="away">
                     <ns:lineName>away</ns:lineName>
                     <ns:value>adsl;line-id=000876z</ns:value>
                     <ns:authMechanism>NBA</ns:authMechanism>
                  </ns:userAccessLineIdentifier>
                  <ns:userAccessLineIdentifier lineName="home">
                     <ns:lineName>home</ns:lineName>
                     <ns:value>adsl;line-id=000876t</ns:value>
                     <ns:authMechanism>NBA</ns:authMechanism>
                  </ns:userAccessLineIdentifier>
                  <ns:userAccessLineIdentifier lineName="office">
                     <ns:lineName>office</ns:lineName>
                     <ns:value>adsl;line-id=000873i</ns:value>
                     <ns:authMechanism>NBA</ns:authMechanism>
                  </ns:userAccessLineIdentifier>
               </ns:privateUser>
               <ns:publicData publicIdValue="sip:alice@operator.com">
                  <ns:publicIdValue>sip:alice@operator.com</ns:publicIdValue>
                  <ns:privateUserId>shared</ns:privateUserId>
                  <ns:xcapAllowed>true</ns:xcapAllowed>
                  <ns:implicitRegSet>0</ns:implicitRegSet>
                  <ns:isDefault>false</ns:isDefault>
                  <ns:serviceProfileId>SubscriberServiceProfile1</ns:serviceProfileId>
                  <ns:wirelineAccessAllowed>ALLOWED_FROM_AUTHORIZED_LOCATIONS
                  </ns:wirelineAccessAllowed>
                  <ns:sessionBarringInd>true</ns:sessionBarringInd>
                  <ns:maxNumberOfContacts>4</ns:maxNumberOfContacts>
                  <ns:isWildcardExtended>false</ns:isWildcardExtended>
                  <ns:aliasGroupId>Test</ns:aliasGroupId>
                  <ns:privateUserIdState privateUserId="sip:molly@ims.operator.org">
                     <ns:privateUserId>sip:molly@ims.operator.org</ns:privateUserId>
                     <ns:state>REGISTERED</ns:state>
                  </ns:privateUserIdState>
                  <ns:privateUserIdState privateUserId="sip:polly@ims.operator.org">
                     <ns:privateUserId>sip:polly@ims.operator.org</ns:privateUserId>
                     <ns:state>REGISTERED</ns:state>
                  </ns:privateUserIdState>
               </ns:publicData>
               <ns:publicData publicIdValue="tel:+565659999">
                  <ns:publicIdValue>tel:+565659999</ns:publicIdValue>
                  <ns:privateUserId>sip:molly@ims.operator.org</ns:privateUserId>
                  <ns:xcapAllowed>true</ns:xcapAllowed>
                  <ns:implicitRegSet>0</ns:implicitRegSet>
                  <ns:isDefault>false</ns:isDefault>
                  <ns:serviceProfileId>SubscriberServiceProfile1</ns:serviceProfileId>
                  <ns:wirelineAccessAllowed>ALLOWED_FROM_AUTHORIZED_LOCATIONS
                  </ns:wirelineAccessAllowed>
                  <ns:sessionBarringInd>true</ns:sessionBarringInd>
                  <ns:maxNumberOfContacts>4</ns:maxNumberOfContacts>
                  <ns:privateUserIdState privateUserId="sip:molly@ims.operator.org">
                     <ns:privateUserId>sip:molly@ims.operator.org</ns:privateUserId>
                     <ns:state>REGISTERED</ns:state>
                  </ns:privateUserIdState>
               </ns:publicData>
               <ns:subscriberServiceProfile serviceProfileId="SubscriberServiceProfile1">
                  <ns:serviceProfileId>SubscriberServiceProfile1
                  </ns:serviceProfileId>
                  <ns:configuredServiceProfile configuredServiceProfileId=
                   "ConfServProfile33">
                     <ns:configuredServiceProfileId>ConfServProfile33
                     </ns:configuredServiceProfileId>
                  </ns:configuredServiceProfile>
                  <ns:configuredServiceProfile configuredServiceProfileId=
                   "ConfServProfile44">
                     <ns:configuredServiceProfileId>ConfServProfile44
                     </ns:configuredServiceProfileId>
                  </ns:configuredServiceProfile>
                  <ns:configuredServiceProfile configuredServiceProfileId=
                   "ConfServProfile55">
                     <ns:configuredServiceProfileId>ConfServProfile55
                     </ns:configuredServiceProfileId>
                  </ns:configuredServiceProfile>
                  <ns:maxNumberSessions>4</ns:maxNumberSessions>
                  <ns:individualServiceProfile individualServiceProfileId=
                   "IndividualServiceProfile1">
                     <ns:individualServiceProfileId>IndividualServiceProfile1
                     </ns:individualServiceProfileId>
                     <ns:individualCapability>2</ns:individualCapability>
                     <ns:individualCapability>3</ns:individualCapability>
                     <ns:individualTrigger triggerDescription="IndividualTrigger">
                        <ns:triggerDescription>IndividualTrigger</ns:triggerDescription>
                        <ns:triggerPriority>6</ns:triggerPriority>
                        <ns:isActive>true</ns:isActive>
                        <ns:triggerType>ORIGINATING</ns:triggerType>
                        <ns:detectionPoint>REGISTER</ns:detectionPoint>
                        <ns:negatedDetectionPoint>false</ns:negatedDetectionPoint>
                        <ns:conditionType>OR</ns:conditionType>
                        <ns:sipHeader>FALSE:Event:/presence/</ns:sipHeader>
                        <ns:sipHeader>TRUE:Reply-To:sip\:user2@ericsson.com</ns:sipHeader>
                        <ns:applicationServer>sip:pgm@operator.com</ns:applicationServer>
                        <ns:registrationType>INITIAL_REGISTRATION</ns:registrationType>
                        <ns:registrationType>RE-REGISTRATION</ns:registrationType>
                     </ns:individualTrigger>
                  </ns:individualServiceProfile>
               </ns:subscriberServiceProfile>
               <ns:aliasGroup aliasGroupId="Test">
                  <ns:aliasGroupId>Test</ns:aliasGroupId>
               </ns:aliasGroup>
            </ns:GetResponseIMSAssociation>
         </ns2:MOAttributes>
      </ns2:GetResponse>
   </S:Body>
</S:Envelope>

Data stored for association, Assoc1, is returned. It contains the following private users:

These private users are returned (shared) together with the public ids "sip:alice@operator.com" and "tel:+565659999".

4   Set IMSAssociation

This section covers the command SetIMSAssociation.

If the command fails or gets partly executed, depending on the exact request, it can be resolved by resending the same command. If the problem persists, it must be deleted and recreated again.

It is not allowed to send a setIMSAssociation request that impacts the old IMPI/IMPUs (derived from the old IMSI) during an ongoing IMSICHO. Otherwise, this request will be rejected.

MOType

IMSAssociation@http://schemas.ericsson.com/ma/HSS/

4.1   Request Data

Note:  
It is not allowed to do a set on services for a Subscriber (Multi Service Consumer, privateUser) when the Subscriber (Multi Service Consumer) is involved in an ongoing IMSI Changeover. This applies to both the old and new IMSI.

When performing a Set operation with a Sub-MO, there is a difference between a 'Set-Set' operation and a 'Set-Add' operation. When performing a Set operation and adding new data (Set-Add) the Sub-MOs id attribute must be present, for example, when adding individualServiceProfile, individualServiceProfileId must be present. When performing a Set operation on an already existing data (Set-Set) the Sub-MOs id attribute must be omitted.

If the wish is to delete a parameter, a new set operation (Set-Delete) is to be sent:

  1. The Heading is to include the path, marked in bold in the following example:

    <soapenv:Envelope xmlns:soapenv="http://
     schemas.xmlsoap.org\
    /soap/envelope/"
    xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/"
    xmlns:hss="http://schemas.ericsson.com/ma/HSS/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    

  2. The definition, marked with bold in the following example, is to be included in the affected attribute.

    <hss:includeRegisterResponse
     xsi:nil="true">
    </includeRegisterResponse>


4.1.1   Parameters

MOId

Table 7    Set IMSAssociation Parameters

Parameter

Type

Occurrence

Description

associationId

String


maxLength value = "32"

Mandatory

Contains the identifier of the Association (subscriber).


Note that associationId is a new parameter to provision in UDC compared to Monolithic solution. The customer system should be properly adapted to make sure that the associationId does not exceed the maximum length 32. This means that it is not a good idea to use the subscriberId from Monolithic as associationId in UDC. The recommendation is also to NOT use any of the subscriber Identifiers (like IMSI, MSISDN, IMPI, IMPU) as associationId. This, since features like IMSI Changeover will only change impacted subscriber Identifiers, it will not change the assocaitionId. Use any random value or other value the customer has.

MOAttributes

The parameters that are used in the operation are shown in Figure 3.

Figure 3   Set IMSAssociation

The following table covers the parameters that only apply when sending a SetIMSAssociation request.

Table 8    Set IMSAssociation Parameters

Parameter

Type

Occurrence

Description

associationId

String


maxLength value = "32"

Mandatory

Contains the identifier of the Association (subscriber).


Note that associationId is a new parameter to provision in UDC compared to Monolithic solution. The customer system should be properly adapted to make sure that the associationId does not exceed the maximum length 32. This means that it is not a good idea to use the subscriberId from Monolithic as associationId in UDC. The recommendation is also to NOT use any of the subscriber Identifiers (like IMSI, MSISDN, IMPI, IMPU) as associationId. This, since features like IMSI Changeover will only change impacted subscriber Identifiers, it will not change the assocaitionId. Use any random value or other value the customer has.

chargingProfId

String


maxLength value = "255"

Optional (0-1)

Identifies the Charging Profile configured in HSS-FE.


Default value is: DefaultChargingProfile

chargingId

String


Pattern value = "\d{5,15}"


5-15 digits


Each digit is 0-9

Optional (0-1)

The MSISDN to use for charging purposes.

isPsi

Boolean {true, false}

Optional (0-1)

Indicates if the IMS users belonging to this subscriber are Public Service Identities, either Distinct or Wildcarded.


Default value is: false

privacyIndicator

Boolean {true, false}

Optional (0-1)

Indicates if data sharing with the Application Servers (AS) is allowed.


privacyIndicator = false, means that data sharing with the AS is allowed.


privacyIndicator = true, means that the data is protected.


Default value is: false

defaultPrivateUserId

String


minLength value = "5"


maxLength value = "70"

Optional (0-1)

Describes the private user identity that is applied by default. (1)

defaultRemoteReferenceAccessLocation

String


maxLength value = "255"

Optional (0-1)

Describes the default physical line identifier of the end equipment in the wireline access network.


Cannot be provisioned if isPsi = TRUE.

asHostingPSI

String


maxLength value = "255"

Optional

This attribute indicates the application server name hosting the PSI user used for Routing Purposes.

esrNumber

String


Pattern value="([0-9]{7})|(0-9]{10})"/

Optional

Indicates the Emergency Services Routing Number (ESRN) for a user with a public identity belonging to this subscriber.


This attribute is only applicable if routing of emergency calls based on ESRN is supported in the network.

tenantId

Integer


minInclusive value = "1"


maxInclusive value = "100"

Optional

Indicates the identifier of the Tenant Configuration associated to the IMS subscriber.


It can only take values in the range [1-100].

looseRouteId

String


Enumeration value = "LOOSE_ROUTE_REQUIRED"


Enumeration value = "LOOSE_ROUTE_NOT_REQUIRED"

Optional (0-1)

Indicates to the S-CSCF whether Loose Routing mechanism is to be applied or not.


This attribute may also be included in the IMS IMPI object.

privateUser

Sub-MO [nillable]

Optional (0-n)

A list of PrivateUsers

privateUserId

String


minLength value="5"


maxLength value="70"

Optional (0-1)


Can only be added

Identifies the PrivateUser.

userPassword

String


minLength value="4"


maxLength value="255"

Optional (0-1)

Used for SIP Digest authentication service purposes.


userPassword and userPrimaryHA1Password cannot be present at the same time. One of them must be set if allowedAuthMechanism = Digest and isPsi = FALSE.


Note: If isPsi = TRUE, userPassword, userPrimaryHA1Password, and allowedAuthMechanism do not take effect in the HSS traffic handling.

userPrimaryHA1Password

String


Pattern value="[0-9A-F]{1,32}"/

Optional (0-1)

Contains the A1 hashed value to be used in SIP Digest authentication when the digest username received matches the privateUserId.


userPassword and userPrimaryHA1Password cannot be present at the same time. One of them must be set if allowedAuthMechanism = Digest and isPsi = FALSE.


Note: If isPsi = TRUE, userPassword, userPrimaryHA1Password, and allowedAuthMechanism do not take effect in the HSS traffic handling.

userSecondaryHA1Password

String


Pattern value="[0-9A-F]{1,32}"/

Optional (0-1)

Contains the A1 hashed value to be used in SIP Digest authentication when the digest username received matches with the user part (not the realm part) of the privateUserId.

secondPrivateUserId

Sub-MO [nillable]

Optional (0-n)

A list of second Private User Id

 

secondPrivateUserId

String


minLength value="1"


maxLength value="255"

Mandatory

Identifies an additional IMPI associated to the Multi Service Consumer, a second private user id. It is not allowed to modify the value of secondPrivateUserId. It must be deleted and then created with the new value.


It must be derived from an IMSI.

allowedAuthMechanism

String


Enumeration value = "DIGEST"


Enumeration value = "SSO"


Enumeration value = "NBA"


Enumeration value = ""

Optional (0-n)

Contains a list of authentication mechanisms supported by the multiServiceConsumer (Private User).


If isPsi = FALSE:


  • IMS-AKA is always supported as default value in the list, regardless of this attribute.

  • The Set operation uses value "" to clear up the list. Then only IMS-AKA is supported.

  • If DIGEST is provide, either userPassworkd or userPrimaryHA1Password must be input as well.


If isPsi = TRUE:


  • userPassword, userPrimaryHA1Password, and allowedAuthMechanism do not take effect in the HSS traffic handling.

userBarringInd

Boolean {true, false}

Optional (0-1)

Indicates if the multiServiceConsumer (Private User) is barred or not.


Default value is: false

roamingAllowed

Boolean {true, false}

Optional (0-1)

Indicates whether the multiServiceConsumer (Private User) is allowed to roam or not.


Default value is: false

referenceAccessLocation

String


maxLength value = "255"

Optional (0-1)

Describes the physical line identifier of the end-user equipment in the wireline access network.


Cannot be provisioned if isPsi = TRUE.

userImsi

String


Pattern value = [0-9]*


minLength value = "6"


maxLength value = "15"

Optional (0-1)


Can only be added

Contains the IMSI associated to the PrivateUser (2)

msisdn

String


Pattern value = [0-9]*


minLength value = "5"


maxLength value = "15"

Optional (0-1)


Can only be added

Identifies the Mobile Station ISDN number assigned to a PrivateUser.

looseRouteId

String


Enumeration value = "LOOSE_ROUTE_REQUIRED"


Enumeration value = "LOOSE_ROUTE_NOT_REQUIRED"

Optional (0-1)

Indicates to the S-CSCF whether Loose Routing mechanism is to be applied or not.


This attribute may also be included in the IMS Subscriber object.

ssoMsisdn

Sub-MO [nillable]

Optional (0-n)

A list of MSISDN used for Single Sign-On (SSO) authentication.

 

ssoMsisdn

String


Pattern value = [0-9]*


minLength value = "5"


maxLength value = "15"

Mandatory

Identifies an MSISDN used for SSO authentication.

numOfFailedSipAuthAttempts

Integer

Optional (0-1)

Contains the number of failed authentication attempts.

accessIdentifier

Sub-MO [nillable]

Optional (0-n)

A list of Network Access Identifier assigned to the multiServiceConsumer (Private User).

 

accessIdentifier

String


maxLength value = "255"

Mandatory

Contains a Network Access Identifier assigned to the multiServiceConsumer (Private User).

userAccessLineIdentifier

Sub-MO [nillable]

Optional (0-n)

Contains a list of physical line identifiers of end-user equipment in a wireline access network.

lineName

String


minLength value="1"


maxLength value="15"

Optional (0-1)

Identifies the Access Line

value

String


maxLength value =" 255"

Optional (0-1)

Identifies the Access Line, physically.

authMechanism

String


Enumeration value = "NBA"


Enumeration value = "NBA_LINE_PROFILE"


Enumeration value = "DIGEST_LINE_PROFILE"

Optional (0-1)

Contains the authentication type to be supported by the Access Line.

publicData

Sub-MO [nillable]

Optional (0-n)

A list of public data related to one or more MultiSCs (Private Users).

publicIdValue

String


SIP URI (restricted)= sip:userinfo host where userinfo=user or telephone-subscriber and in both cases followed by an @


User and telephone-subscriber do not allow the following:
" \", " <" or " >", " @", " [" or " ]", " "", " " (space), Tab, CR, or LF.


In case of a Wildcard SIP URI, the user or telephone-subscriber ends in “!.*!”


In case of a Wildcard Extended SIP URI, the user or telephone-subscriber contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Host=hostname or IPv4address or IPv6reference. See Reference [8] for detailed description of host contents. When the configuration parameter AllowSipUriWithoutDomain is set to true, host is not mandatory.


or


TEL URL (restricted)= tel:global-phone-number where global-phone-number= “+” followed by digits 0-9 . In case of a Wildcard TEL URL the global-phone-number ends in “!.*!”


In case of a Wildcard Extended TEL URI, the global-phone-number contains an Extended Regular Expression placed between a pair of exclamation marks (" !").


Maximum length = 255

Mandatory


Can only be added

Identifies the Public Identity. (3)


Can be either a:


Restricted SIP URI or TEL URL, Wildcard SIP URI or Wildcard TEL URL, Wildcard Extended SIP URI or Wildcard Extended TEL URL.


Examples:


  • sip -
    sip:impu1@operator.com

  • tel -
    tel:+34657881898


Can be derived from IMSI or MSISDN.


Examples:



Wildcard can be used in both SIP URI and TEL URL. The wildcard has the format !.*!.


For SIP URI, the wildcard is to be placed before the “@” character. For TEL URL, the wildcard is to be placed at the end of the parameter.


Examples of SIP URI with wildcard:


  • sip:department1!.*!@operator.com

  • sip:!.*!@operator.com


Examples of TEL URL with wildcard:


  • tel:+34657!.*!

  • tel:+!.*!


Wildcard Extended is supported from 12B, and must be indicated as such with the isWildcardExtended parameter.


The wildcard extended has the format of a TEL URL or a SIP URI that can be defined with an extended regular expression.


Examples of Wildcard Extended are:


  • tel:+34!91[0-9]{7,7}!

  • tel:+34!91[0-9]{7,7}!4

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!@operator.com

  • sip:ExW.Us![a-zA-Z]{2,2}[0-9]!_public@operator.com

privateUserId

String


minLength value="5"


maxLength value="70"

Optional (0-1)


Can only be added

This attribute indicates the associated PrivateUser to this PublicUser. If this attribute is not present, all PrivateUsers belonging to the subscriber which the PublicUser belongs to are associated to this PublicUser.

xcapAllowed

Boolean {true, false}

Optional (0-1)

States if the Public Identity can also be used in XCAP authentication.


Default value is: false.


If the IMPU is a PSI or if it is a wildcarded public identity or a TEL URL, then XCAP authentication must be set to false.

xcapPassword

String [nillable]


minLength value="4"


minLength value="255"

Optional (0-1)

Used for XCAP authentication service purposes.


If value is not provisioned and xcapAllowed = TRUE, then the IMPI userPassword is used for XCAP authentication.

implicitRegSet

Integer

Mandatory

Identifies the Implicit Registration Set (IRS) which the Public Identity belongs to.


The first defined Public Identity of an ISR automatically becomes the default Public Identity in the ISR.


If the Public Identity does not belong to an IRS, the value of this attribute must be 0.


A wildcarded IMPU must belong to an IRS set to a value different from 0.

isDefault

Boolean {true, false}

Optional (0-1)

This attribute indicates if the Public Identity is the default of its IRS.


When an IMPU of a specific type is set to default, the former one of the same types is unmarked automatically as such. Only one IMPU of each type (SIP URI or TEL URL) can be defined as default in a set. The first IMPU of an IRS must be marked as default.

serviceProfileId

String


maxLength value="66"

Optional (0-1)

Serves as a reference to identify the Subscriber Service Profile assigned for the specific Public Identity.

wirelineAccessAllowed

String


Enumeration value = "ALLOWED_FROM_ANY_LOCATION"


Enumeration value = "ALLOWED_ONLY_FROM_RAL"


Enumeration value = "ALLOWED_FROM_AUTHORIZED_LOCATIONS"


Enumeration value = "ALLOWED_FROM_ANY_LOCATION_EXCEPT_IF_NO_PANI"


Enumeration value = "ALLOWED_ONLY_IF_PANI_INCL_AUTH_LOCATION"

Optional (0-1)

Indicates if the Public Identity is allowed to access from nomad locations.

authorizedVisitedAccessLine

String


maxLength value="255"

Optional (0-n)

Contains a list of userAccessLineIdentifier sub-MO identifiers, indicating the access lines that are allowed to be connected. (4)

sessionBarringInd

Boolean {true, false}

Optional (0-1)

Indicates if the Public Identity is barred for HSS session establishment.


Default value is: false

maxNumberOfContacts

Integer


When configuration parameter ExMaxNumberOfContacts is set to true:


minInclusive value="1"


maxInclusive value="200"


When configuration parameter ExMaxNumberOfContacts is set to false:


minInclusive value="1"


Pattern value =""\d{1}"


maxInclusive value="5"

Optional (0-1)

Indicates the maximum number of contacts that are allowed.


When configuration parameter ExMaxNumberOfContacts is set to false, default value is 1.

priorityLevel

Integer [nillable]


minLength value="0"


maxLength value="4"

Optional (0-1)

Indicates the service priority level for the IMS Public Identity (IMPU).

isWildcardExtended

Boolean {true, false}

Optional (0-1)

This attribute indicates if the IMPU is defined as a Wildcard Extended public identity (using extended regular expression to define the identity).


true or false

aliasGroupId

String [nillable]

Optional

Indicates which Alias Group the Public Identity belongs to.


When adding the IMPU to an Alias Group, the IMPU must already belong to an IRS. Also, the ImsIrs and ImsServProfId attributes of the IMPU must have the same values as other IMPUs in the Alias Group.


It is not allowed to move the IMPU between Alias Groups in a single operation just by changing the ImsAliasGroupId attribute from one non-zero value to another.


If the IMPU stores Transparent Data specific to the IMPU, then it is not allowed to add the IMPU to an Alias Group.

privateUserIdState

Sub-MO

Optional (0-1)

Contains a list of structures indicating the registration state of each of the Private Identities associated to a specific Public Identity.

 

privateUserId

String


minLength value="5"


maxLength value="70"

Mandatory

Identifies the PrivateUser

state

String


Enumeration value = "NOT_REGISTERED"

Mandatory

Contains the registration state.


State can only be set to NOT_REGISTERED

numOfFailedXcapAuthAttempts

Integer

Optional (0-1)

Contains the number of failed XCAP authentication attempts.


numOfFailedXcapAuthAttempts can only be set to 0.

subscriberServiceProfile

Sub-MO [nillable]

Optional (0-n)

A list of subscriber service profiles associated to a public identity.

serviceProfileId

String


maxLength value="66"

Optional (0-1)

Identifies the subscriber service profile.

configuredServiceProfile

Sub-MO [nillable]

Optional (0-n)

Contains a list of all the Service Profiles in HSS-FE associated to the Subscriber Service Profile.

configuredServiceProfileId

String


maxLength value="255"

Mandatory

Identifies the configured service profile.

subscribedMediaProfile

Unsigned integer

Optional (0-1)

Used to identify the set of session description parameters that the PrivateUser is authorized to request.

maxNumberSessions

Unsigned integer

Optional (0-1)

Defines the maximum number of simultaneous sessions allowed for the user equipment.


Default value is: 1

phoneContext

String


minLength Value = "0"


maxLength value = "255"

Optional (0-1)

Defines the default dialing context used by the S-CSCF to determine which dialing plan rules that applies to a request originating from a specific Public Identity when the terminating party is identified by local phone number. If a domain name is used, it does not need to be a routable domain since it is used for logically scooping dialing plans and not for IP routing. (5)


To pass validation, phoneContext must be: 1 to 15 digits with + at the beginning, or a Domain (where a . is mandatory).


1-15 digits


Example: +3586675550123


Domain


Example: fc3c399fb513f501c36b6dca35c7105de336b296d0.it

individualServiceProfile

Sub-MO [nillable]

Optional (0-n)

Contains a list of individual service profiles associated to a specific subscriber service profile.

individualServiceProfileId

String


minLength value="5"


maxLength value="63"

Optional (0-1)

Used to identify an individual service profile.

individualCapability

Unsigned integer [nillable]

Optional (0-n)

Contains a list of capabilities needed for the execution of the service associated with this individual service profile.


It can only take values in the range [1 - 100].


The values in the set formed by individualCapability and individualOptionalCapability cannot be repeated.

individualOptionalCapability

Unsigned integer [nillable]

Optional (0-n)

Contains a list of optional capabilities needed for the execution of the service associated with this individual service profile


The values in the set formed by individualCapability and individualOptionalCapability cannot be repeated.

individualTrigger

Sub-MO [nillable]

Optional (0-n)

A list of individual triggers associated to a specific individual service profile.

triggerDescription

String


maxLength value="69"

Optional (0-1)

Identifies the trigger.

triggerPriority

Unsigned integer

Optional (0-1)

Identifies the priority of the trigger. The priority must be unique for a certain subscriber service profile.


Only even values are allowed.

isActive

Boolean {true, false}

Optional (0-1)

Indicates that this specific trigger is enabled.


Default value is: false

triggerType

String


Enumeration value = "ORIGINATING"


Enumeration value = "TERMINATING_REGISTERED"


Enumeration value = "TERMINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING"


Enumeration value = "NOT_TERMINATING_REGISTERED"


Enumeration value = "NOT_TERMINATING _UNREGISTERED"


Enumeration value = "NOT_ORIGINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_CDIV"


Enumeration value = "NOT_ORIGINATING_CDIV"

Optional (0-1)

Used to identify the type of the trigger. If this attribute is empty, the trigger applies to all registration cases.


The trigger criteria belong to the group 0.

detectionPoint

String


maxLength value="255"

Optional (0-1)

Indicates when the trigger is evaluated.


The trigger criteria belong to the group 0.

negatedDetectionPoint

Boolean {true, false}

Optional (0-1)

Indicates if the Detection Point is negated or not.

conditionType

String


Enumeration value = "AND"


Enumeration value = "OR"

Optional (0-1)

This attribute indicates the relationship among the different criteria within the same trigger criteria group. The condition applies only to the attributes: triggerType, detectionPoint, requestedURI, sipHeader, and registrationType.


"AND" means that the trigger criteria are linked by an AND operator.


"OR" means that the trigger criteria are linked by an OR operator.


The opposite as the one defined applies to the relation among the different groups.

requestedURI

String


maxLength value="255"

Optional (0-1)

Defines a trigger condition based on the content of the Request-uri for the request.


The trigger criteria belong to the group 0.

negatedRequestedURI

Boolean {true, false}

Optional (0-1)

Indicates if the Requested URI is negated or not.

sipHeader

String [nillable]


maxLength value="255"

Optional (0-n)

Contains a list of structures identifying a SIP Header of this specific trigger.


The trigger criteria belong to the group 0.


Format:


The format shown below MUST be written on the same line.


<NegatedHeader>:<SIPHeaderName>:<SIPHeaderContent>
If a ":" character is used in the <SIPHeaderContent>, it needs to be escape, since this character is acting as a delimiter. The ":" character need to be written as "\:"
Example -
FALSE:Event:/presence/


TRUE:Refer-To:sip\:user2@ericsson.com


Or


<NegatedHeader>:<SIPHeaderName>


Type:


<Boolean>:<String>:<String>

applicationServer

String


maxLength value="255"

Optional (0-1)

Presents the Application Server that is applied for this specific trigger.

registrationType

String [nillable]


Enumeration value = "INITIAL_REGISTRATION"


Enumeration value = "RE-REGISTRATION"


Enumeration value = "DE-REGISTRATION"

Optional (0-2)

Contains a list of registration cases that restrict the trigger conditions when the trigger criteria group is 0. (6)

defaultHandling

String


Enumeration value = "SESSION_CONTINUED"


Enumeration value = "SESSION_TERMINATED"

Optional (0-1)

Represents the default handling of the S-CSCF when the connection with the Application Server of the current trigger cannot be established.

includeRegisterRequest

Boolean {true, false} [nillable]

Optional (0-1)

This parameter indicates if whether the tag IncludeRegisterRequest is included or not in the 3GPP User-Data AVP.

includeRegisterResponse

Boolean {true, false} [nillable]

Optional (0-1)

This parameter indicates whether the tag IncludeRegisterResponse is included or not in the 3GPP User-Data AVP.

triggerCriteriaGroup

Sub-MO [nillable]

Optional (0-n)

A list of trigger criteria groups associated to a specific individual TriggerA

groupId

Integer

Optional (0-1)

This attribute identifies each SPT Group. The value cannot be 0.

sessionDescription

String [nillable]


maxLength value="255"

Optional (0-1)

Defines the trigger criteria for the content of any Session Description Protocol (SDP) field within the body of a SIP method. Format: <NegatedSessionDescription>:<SDLine>: <Content>


Example:


FALSE:m:audio49170 RTP/AVP 0 Or


FALSE:m


Type:


<Boolean>:<String>:<String>

sessionCase

String [nillable]


Enumeration value = "ORIGINATING"


Enumeration value = "TERMINATING_REGISTERED"


Enumeration value = "TERMINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING"


Enumeration value = "NOT_TERMINATING_REGISTERED"


Enumeration value = "NOT_TERMINATING_UNREGISTERED"


Enumeration value = "NOT_ORIGINATING_UNREGISTERED"


Enumeration value = "ORIGINATING_CDIV"


Enumeration value = "NOT_ORIGINATING_CDIV"

Optional (0-1)

Defines the trigger criteria for the session cases. If this attribute is empty, the trigger applies to all registration cases.

sipMethod

String [nillable]


maxLength value="255"

Optional (0-1)

Indicates when the trigger is evaluated. It includes the SIP method and the registration type when applies.


Format:


<NegatedSipMethod>:<SipMethod>: <RegistrationType>


Example:


FALSE:Subscribe


Or


FALSE:Register:2


Type:


<Boolean>:<String>:<enumerated>

groupRequestedURI

String [nillable]


maxLength value="255"

Optional (0-1)

Defines a trigger condition based on the content of the Request-uri for the request.


Format:


<NegatedGroupRequestedUri>:<GroupRequestedUri>


Example:


FALSE:intranet.ericsson.com


Type:


<Boolean>:<String>

sipHeader

String [nillable]


maxLength value="255"

Optional (0-1)

Contains a list of structures identifying a SIP Header of this specific trigger.


Format:


The format shown below MUST be written on the same line.


<NegatedHeader>:<SIPHeaderName>:<SIPHeaderContent>
If a ":" character is used in the <SIPHeaderContent>, it needs to be escape, since this character is acting as a delimiter. The ":" character need to be written as "\:"
Example -
FALSE:Event:/presence/


TRUE:Refer-To:sip\:user2@ericsson.com


Or


<NegatedHeader>:<SIPHeaderName>


Type:


<Boolean>:<String>:<String>

(1)  The format of this attribute is IMPI.

(2)  Only needed when an IMSI must be provisioned, where the IMPI is not derived from the IMSI.

(3)  The format of this attribute is IMPU.

(4)  If privateUserId is set to shared, this attribute has the format privateUserId$lineName

(5)  The format of this attribute is global phone number or domain name.

(6)  If this attribute is not present, the trigger applies to all registration cases.


The attribute, maxNumberOfContacts included in the table above, has different allowed type definitions, depending on which release of HSS-FE Dynamic Activation is configured to provision. To know which one to use there is a configuration parameter, ExMaxNumberOfContacts, in the activation logic function that must be set to indicate which HSS-FE release to provision. If the ExMaxNumberOfContacts parameter is set to true, Dynamic Activation is set up to provision HSS-FE 14A and onwards, using the extended range of this attribute. If it is set to false, Dynamic Activation is set up to provision HSS 12B or earlier releases. For more information, refer to Configuration Manual for Resource Activation, Reference [5], and User Guide for Resource Activation, Reference [6].

4.2   Examples

Request Example

This section shows examples of a Set-Add individualServiceProfileId request, as shown in Example 8, and a Set-Set individualServiceProfileId request, as shown in Example 9.

To add a new individualServiceProfileId (Set-Add), add a new leaf in the database. Both the individualServiceProfileId element level and the individualServiceProfileId attribute level are needed. In Example 8, a new individualServiceProfileId IndividualServiceProfile1 is added with MO attribute individualServiceProfileId set to IndividualServiceProfile1 and some additional parameters.

To set an attribute on an existing individualServiceProfileId (Set-Set), update an entry in an existing leaf in the database. Only attribute level is needed. The attribute level is left and the element is omitted. In Example 9, the individualServiceProfileId IndividualServiceProfile1 is set to individualCapacity 1.

To remove an aliasGroupId (Set-Remove), delete an entry in an existing leaf in the database. See Example 10.

Example 8   Set-Add individualServiceProfileId Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" xmlns:hss=
 "http://schemas.ericsson.com/ma/HSS/" xmlns:xsi="http://www.w3.org/
 2001/XMLSchema-instance">
	<soapenv:Header>
		<cai3:SessionId>123456</cai3:SessionId>
	</soapenv:Header>
	<soapenv:Body>
		<cai3:Set xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
		 xmlns:hss="http://schemas.ericsson.com/ma/HSS/"
		 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
		 xmlns:xml="http://www.w3.org/XML/1998/namespace"
		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<cai3:MOType>IMSAssociation@http://schemas.ericsson.com/ma/HSS/</cai3:MOType>
			<cai3:MOId>
				<hss:associationId>Assoc1</hss:associationId>
			</cai3:MOId>
			<cai3:MOAttributes>
				<hss:SetIMSAssociation associationId="Assoc1">
					<hss:tenantId>66</hss:tenantId>
					<hss:looseRouteId>LOOSE_ROUTE_NOT_REQUIRED</hss:looseRouteId>
					<hss:privateUser privateUserId="sip:2800856789@ims.mnc08.mcc280.3gppnetwork.org">
						<hss:looseRouteId>LOOSE_ROUTE_REQUIRED</hss:looseRouteId>
					</hss:privateUser>
					<hss:publicData publicIdValue="sip:user@operator.com">
						<hss:implicitRegSet>1</hss:implicitRegSet>
						<hss:isWildcardExtended>false</hss:isWildcardExtended>
						<hss:aliasGroupId>ImsAliasGroupSecond</hss:aliasGroupId>
					</hss:publicData>
					<hss:subscriberServiceProfile serviceProfileId="SubscriberServiceProfile1">
						<hss:serviceProfileId>SubscriberServiceProfile1</hss:serviceProfileId>
						<hss:configuredServiceProfile configuredServiceProfileId="ServiceProfile1">
							<hss:configuredServiceProfileId>ServiceProfile1</hss:configuredServiceProfileId>
						</hss:configuredServiceProfile>
						<hss:maxNumberSessions>5</hss:maxNumberSessions>
						<hss:individualServiceProfile individualServiceProfileId="IndividualServiceProfile1">
							<hss:individualCapability>1</hss:individualCapability>
						</hss:individualServiceProfile>
					</hss:subscriberServiceProfile>
				</hss:SetIMSAssociation>
			</cai3:MOAttributes>
		</cai3:Set>
	</soapenv:Body>
</soapenv:Envelope>

Example 9   Set-Set individualServiceProfileId Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/"xmlns:hss=
 "http://schemas.ericsson.com/ma/HSS/"> 
	<soapenv:Header> 
		<cai3:SessionId>123456</cai3:SessionId> 
	</soapenv:Header> 
	<soapenv:Body> 
		<cai3:Set> 
			<cai3:MOType>IMSAssociation@http://schemas.ericsson.com 
			/ma/HSS/</cai3:MOType> 
			<cai3:MOId> 
				<hss:associationId>xy</hss:associationId> 
			</cai3:MOId> 
			<cai3:MOAttributes> 
				<hss:SetIMSAssociation associationId="xy"> 
					<hss:subscriberServiceProfile serviceProfileId= 
					"SubscriberServiceProfile1"> 
						<hss:serviceProfileId>SubscriberServiceProfile1 
						</hss:serviceProfileId> 
						<hss:configuredServiceProfile 
						configuredServiceProfileId="ServiceProfile1"> 
							<hss:configuredServiceProfileId>ServiceProfile1 
							</hss:configuredServiceProfileId> 
						</hss:configuredServiceProfile> 
						<hss:maxNumberSessions>5</hss:maxNumberSessions> 
						<hss:individualServiceProfile individualServiceProfileId= 
						"IndividualServiceProfile1"> 
							<hss:individualCapability>1</hss:individualCapability> 
							</hss:individualServiceProfile> 
					</hss:subscriberServiceProfile> 
				</hss:SetIMSAssociation> 
			</cai3:MOAttributes> 
		</cai3:Set> 
	</soapenv:Body> 
</soapenv:Envelope> 

Example 10   Set-Remove aliasGroupId Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" xmlns:hss=
 "http://schemas.ericsson.com/ma/HSS/"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header>
      <cai3:SessionId>123456</cai3:SessionId>
   </soapenv:Header>
   <soapenv:Body>
      <cai3:Set>
         <cai3:MOType>IMSAssociation@http://schemas.ericsson.com/ma/HSS/</cai3:MOType>
         <cai3:MOId>
            <hss:associationId>Assoc1</hss:associationId>
         </cai3:MOId>
         <cai3:MOAttributes>
            <hss:SetIMSAssociation associationId="Assoc1">
               <hss:tenantId>66</hss:tenantId>
              <hss:publicData publicIdValue="sip:user@operator.com">
                  <hss:implicitRegSet>1</hss:implicitRegSet>
    <hss:aliasGroupId nil="true"></hss:aliasGroupId>
               </hss:publicData>
            </hss:SetIMSAssociation>
         </cai3:MOAttributes>
      </cai3:Set>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

This section gives an example of a SetIMSAssociation response message, as shown in Example 3.

Example 11   Set IMSAssociation Response Message

<S:Envelope
 xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/">
	<S:Header>
		<cai3:TransactionId xmlns:cai3=\"http://schemas.ericsson.com/ cai3g1.2/\">22998
		</cai3:TransactionId> 
		<cai3:SessionId xmlns:cai3=\"http://schemas.ericsson.com/ cai3g1.2/\">"24262627782&"
		</cai3:SessionId> 
	</s:Header> 
	<s:Body> 
		<ns2:SetResponse xmlns:ns2=\"http://schemas.ericsson.com/ cai3g1.2/\"> </ns2:SetResponse> 
	</S:Body>
</S:Envelope>

5   Delete IMSAssociation

This section covers the command DeleteIMSAssociation.

This command is always capable of removing an IMS service, even if a previous Create or Delete has failed.

During an ongoing IMSICHO, this operation will also remove the old IMSI in service AUC for the subscriber that only has service AUC and IMS,

MOType

IMSAssociation@http://schemas.ericsson.com/ma/HSS/

5.1   Request Data

5.1.1   Parameters

MOId

Table 9    Delete IMSAssociation MOId

Parameter

Type

Occurrence

Description

associationId

String


maxLength value = "32"

Mandatory

Contains the identifier of the Association (subscriber).


Note that associationId is a new parameter to provision in UDC compared to Monolithic solution. The customer system should be properly adapted to make sure that the associationId does not exceed the maximum length 32. This means that it is not a good idea to use the subscriberId from Monolithic as associationId in UDC. The recommendation is also to NOT use any of the subscriber Identifiers (like IMSI, MSISDN, IMPI, IMPU) as associationId. This, since features like IMSI Changeover will only change impacted subscriber Identifiers, it will not change the assocaitionId. Use any random value or other value the customer has.

MOAttributes

The following table covers the parameters that can be used in a DeleteIMSAssociation request.

Table 10    Delete IMSAssociation Parameters

Parameter

Type

Occurrence

Description

associationId

String


maxLength value = "32"

Mandatory

Contains the identifier of the Association (subscriber).


Note that associationId is a new parameter to provision in UDC compared to Monolithic solution. The customer system should be properly adapted to make sure that the associationId does not exceed the maximum length 32. This means that it is not a good idea to use the subscriberId from Monolithic as associationId in UDC. The recommendation is also to NOT use any of the subscriber Identifiers (like IMSI, MSISDN, IMPI, IMPU) as associationId. This, since features like IMSI Changeover will only change impacted subscriber Identifiers, it will not change the assocaitionId. Use any random value or other value the customer has.

5.2   Examples

Request Example

This section gives an example of a DeleteIMSAssociation request message, as shown in Example 2.

Example 12   Delete IMSAssociation Request Message

<soapenv:Envelope
 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/"
 xmlns:hss="http://schemas.ericsson.com/ma/HSS/">
	<soapenv:Header>
		<cai3g:SessionId>123456</cai3g:SessionId>
	</soapenv:Header>
	<soapenv:Body>
		<cai3g:Delete>
			<cai3g:MOType>IMSAssociation@http://schemas.ericsson.com/ma/HSS/</cai3g:MOType>
			<cai3g:MOId><hss:associationId>xy</hss:associationId></cai3g:MOId>
		</cai3g:Delete>
	</soapenv:Body>
</soapenv:Envelope>

The Delete association request deletes all data stored for association, xy.

Response Example

This section gives an example of a DeleteIMSAssociation response message, as shown in Example 3.

Example 13   Delete IMSAssociation Response Message

<S:Envelope
 xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/">
	<S:Header>
		<cai3:TransactionId xmlns:cai3=\"http://schemas.ericsson.com/cai3g1.2/\">22998
		</cai3:TransactionId> 
		<cai3:SessionId xmlns:cai3=\"http://schemas.ericsson.com/cai3g1.2/\">"24262627782"
		</cai3:SessionId> 
</S:Header>
	<S:Body>
		<ns2:DeleteResponse xmlns:ns2=\"http://schemas.ericsson.com/cai3g1.2/\"> 
			<ns2:MOId> 
				<hss:imsi xmlns:hss=\"http://schemas.ericsson.com/ma/HSS/\" >"445009897"</hss:imsi> 
			</ns2:MOId> 
		</ns2:DeleteResponse>
	</S:Body>
</S:Envelope>

6   Faults and Errors

The generic structure for fault responses is covered in Generic CAI3G Interface 1.2, Reference [2]. That document also covers the generic fault codes, which are applicable to all CAI3G operations.

This section covers the subordinate CAI3G errors. They can appear in the errorcode element in the error message.

Only IMS specific error codes are described in this section. These error codes are included in the Fault type IMSFault.

For generic error codes, and information about the different Fault types, see CAI3G Implementation, Reference [7].

6.1   Subordinate IMS Error Codes

The following table covers subordinate error codes for IMS commands over the CAI3G interface.

Table 11    Subordinate IMS Error Codes

Error Code

Error Message

Description

MO

Operation

12006

DATABASE LOCKED FOR BACKUP

This information varies depending on the actual error.

IMSAssociation

C/S/D

12013

OPERATION FAILED, ROLLBACK HAS BEEN PERFORMED SUCCESSFULLY

This information varies depending on the actual error.

IMSAssociation

C

12014

OPERATION FAILED, ROLLBACK WAS UNSUCCESSFUL

This information varies depending on the actual error.

IMSAssociation

C

13001

SERVICE NOT DEFINED

IMPI not defined

IMSAssociation

S

IMPU not defined

IMSAssociation

S

13002

SERVICE ALREADY DEFINED

IMPI defined and IMS service exist

IMSAssociation

C/S

IMSI defined and IMS service exist

IMSAssociation

C/S

MSISDN defined and IMS service exist

IMSAssociation

S

secIMPI already defined for this IMPI: <IMPI>

IMSAssociation

S

13003

IDENTITY MISMATCH

MSISDN joint to other identities

IMSAssociation

C/S

IMSI joint to other identities

IMSAssociation

C/S

IMPU joint to other association (subscriber)

IMSAssociation

C/S

IMSI identities are in conflict

IMSAssociation

C/S

IMSI changeover ongoing

IMSAssociation

C/S

This secIMPI is not valid: <secIMPI>

IMSAssociation

C/S

13004

ASSOCIATION ALREADY DEFINED

This information varies depending on the actual error.

IMSAssociation

C

13005

ASSOCIATION NOT DEFINED

This information varies depending on the actual error.

IMSAssociation

S/G/D

13006

INCONSISTENT DATA IN CUDB

This information varies depending on the actual error.

IMSAssociation

C/S/G/D

13007

SERVICE DATA DOES NOT EXIST

List of one or more MO Attributes that do not exist for this service.

IMSAssociation

S

13008

OPERATION NOT ALLOWED

Operation not allowed during IMSICHO.

IMSAssociation

S

14001

CONSTRAINT VIOLATION

MO Attributes which are incompatible(1).

IMSAssociation

C/S

(1)  See Reference [4] for information about what constraints that are checked.


6.2   CAI3G Error Message Example

The following, shown in Example 14, is an example of a CAI3G error message:

Example 14   CAI3G Error Message

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/">
   <S:Header>
      <cai3g:SessionId>8cc91b59edae48758dbfc5b4bd02ec5c</cai3g:SessionId>
   </S:Header>
   <S:Body>
      <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" 
      xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
         <faultcode>ns2:Server</faultcode>
         <faultstring>This is a server fault</faultstring>
         <detail>
            <Cai3gFault:Cai3gFault xmlns="http://schemas.ericsson.com/cai3g1.2/" 
            xmlns:Cai3gFault="http://schemas.ericsson.com/cai3g1.2/">
               <faultcode>4006</faultcode>
               <faultreason>
                  <reasonText>External error.</reasonText>
               </faultreason>
               <faultrole>MF</faultrole>
               <details>
                  <IMSFault:IMSFault xmlns="http://schemas.ericsson.com/ma/HSS/" 
                  xmlns:IMSFault="http://schemas.ericsson.com/ma/HSS/">
                     <errorcode>13004</errorcode>
                     <errormessage>ASSOCIATION ALREADY DEFINED</errormessage>
                     <errordetails>- [Processed by PG Node: CL23-PL-6]
                     </errordetails>
                  </IMSFault:IMSFault>
               </details>
            </Cai3gFault:Cai3gFault>
         </detail>
      </ns2:Fault>
   </S:Body>
</S:Envelope>

Reference List

Ericsson Documents
[1] Glossary of Terms and Acronyms, 0033-CSH 109 628 Uen
[2] Generic CAI3G Interface 1.2 Specification, 2/155 19-FAY 302 0003 Uen
[3] Library Overview, 18/1553-CSH 109 628 Uen
[4] Front End Provisioning Datamodel Description in HSS, 3/155 19-CSH 150 0063/7 Uen
[5] Configuration Manual for Resource Activation, 2/1543-CSH 109 628 Uen
[6] User Guide for Resource Activation, 1/1553-CSH 109 628 Uen
[7] CAI3G Implementation, 26/155 19-CSH 109 628 Uen
Online References
[8] SIP: Session Initiation Protocol, https://www.ietf.org/rfc/rfc3261.txt.


Copyright

© Ericsson AB 2017. All rights reserved. No part of this document may be reproduced in any form without the written permission of the copyright owner.

Disclaimer

The contents of this document are subject to revision without notice due to continued progress in methodology, design and manufacturing. Ericsson shall have no liability for any error or damage of any kind resulting from the use of this document.

Trademark List
All trademarks mentioned herein are the property of their respective owners. These are shown in the document Trademark Information.

    Layered IMS Provisioning over CAI3G         Ericsson Dynamic Activation 1