IPWorks/ENUM 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 DNS Subscription
2.1Request Data
2.2Examples

3

Get DNS Subscription
3.1Request Data
3.2Response Data
3.3Examples

4

Set DNS Subscription
4.1Request Data
4.2Examples

5

Delete DNS Subscription
5.1Request Data
5.2Examples

6

Set DNS Domain
6.1Request Data
6.2Examples

7

Faults or Errors
7.1Dynamic Activation Internal Errors

Reference List

1   Introduction

This document describes the interface exposed by Ericsson™ Dynamic Activation (EDA) for provisioning of IPWorks/Telephone Number Mapping (ENUM). The interface exposes a number of Customers Service Orders (CSOs) that enables management of ENUM data in IPWorks.

The exposed interface can be used by a Customer Administration System (CAS) or any other provisioning system.

1.1   Purpose and Scope

This document describes the supported Customers Service Orders (CSOs) in the CAI3G interface which is used for provisioning of ENUM data in IPWorks.

CAI3G is an Ericsson propriety interface which enables provisioning of user and subscriber data in telecommunication and IT networks. It is a web service interface based on Simple Object Access Protocol (SOAP) 1.1. This document is not a tutorial of CAI3G, the document must be read together with the Generic CAI3G specification, which is described in Generic CAI3G Interface 1.2, Reference [2]

1.2   Target Group

The target groups for this document are as follows:

For more information about other 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

The following namespaces are referred to in this document:

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

See the following table for the operations, or Managed Objects (MOs), and valid operations covered in this document.

Table 2    IPWorks ENUM Provisioning CSOs

MO

Operations

Create

Get

Set

Delete

DNSSubscription
(Layered and monolithic)

x

x

x

x

DNSDomain
(Monolithic only)

   

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/da/. 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, Multi_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 DNS Subscription

This section covers the CreateDNSSubscription command.

The CreateDNSSubscription creates a subscriber in IPWorks.

MOType

DNSSubscription@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/

2.1   Request Data

2.1.1   Parameters

MOId

Table 3    Create DNS Subscription MOId

Parameter

Type

Occurrence

Description

msisdn(1)

String


Pattern value="tel:\+?\d{5,15}(!\.\*!)?"

Mandatory

The msisdn value to be provisioned into the IPWorks server.


msisdn is a legacy identifier for IPWorks provisioning; it is kept for backward compatibility purpose and supports the telephone number with up to 15 digits.


For example: tel:12345678900

e164(1)

String


Pattern value="\+?\d{5, 22}(!\.\*!)? or
[0-9]{5, 10}[-][0-9]{5, 10}(!\.\*!)?"

Mandatory

The e164 value to be provisioned into the IPWorks server.


e164 is an enhanced identifier for IPWorks provisioning; it is used for the e164 number with up to 22 digits.


For example: +1234567


e164 can also identify a range of records.


For example, 123456-123478


    When defining a range in e164, consider the following issues:

  • The starting and ending numbers must be of the same length.

  • The starting number is lower then the ending number.

  • The request is not allowed to be empty.

  • The request can have either records or rangeRecords, but not both.

(1)  MOId can be either msisdn or e164.


MOAttributes

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

Figure 1   Parameters in Create DNS Subscription

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

Table 4    Create DNS Subscription Parameters

Parameter

Type

Occurrence

Description

msisdn

String


Pattern value="tel:\+?\d{5,15}(!\.\*!)?"

Mandatory

The msisdn value to be provisioned into the IPWorks server.


msisdn is a legacy identifier for IPWorks provisioning; it is kept for backward compatibility purpose and supports the telephone number with up to 15 digits.


For example: tel:12345678900

e164

String


Pattern value="\+?\d{5, 22}(!\.\*!)? or
[0-9]{5, 10}[-][0-9]{5, 10}(!\.\*!)?"

Mandatory

The e164 value to be provisioned into the IPWorks server.


e164 is an enhanced identifier for IPWorks provisioning; it is used for the e164 number with up to 22 digits.


For example: +1234567


e164 can also identify a range of records.


For example, 123456-123478


    When defining a range in e164, consider the following issues:

  • The starting and ending numbers must be of the same length.

  • The starting number is lower then the ending number.

  • The request is not allowed to be empty.

  • The request can have either records or rangeRecords, but not both.

dnsname(1)

Case Sensitive String

Optional (0-1)

The parameter dnsname is used for directly routing to IPWorks. Its value equals to the IPWorks NE name configured in Dynamic Activation.


The parameter dnsname is only applicable for monolithic IPWorks/ENUM open interface.

records

Sub-MO

Optional (0-n)

 
 

publicId

Case Sensitive String


Pattern value=”sip:.{1,256}(!\.\*!)?”

Optional (0-1)

The publicId is used to generate the naptrTxt.


If naptrTxt is not defined for a record in request, !^.*$!publicId! are offered as the default value for naptrTxt.


For example: sip:user1@example.com

 

flags

Enumerated value (n, nu, r)

Mandatory

A one or two characters string to represent the flags. Can only be one of n, nu, or r.

 

order

UnsignedInt

Mandatory

An unsigned integer to represent the order type.

 

preference

UnsignedInt

Mandatory

An unsigned integer to represent the preference type.

 

service

String


Length 1–32

Mandatory

A string to identify the service.

 

propBlocking

Unsigned Integer


0–100

Optional (0-1)

A number from 0 through 100 indicating the rate at which calls to this call server are proportionally blocked.


The parameter propBlocking is only applicable for monolithic IPworks/ENUM open interface.

 

txt

String

Optional (0-1)

A string to identify the Txt in enumsched.


The parameter txt is only applicable for monolithic IPworks/ENUM open interface.

 

naptrTxt(2)

String

Optional (0-1)

A string to identify naptrTxt.


This parameter depends on the value of the flags parameter:


  • If the value of flags is n or nu, this field must be a regular expression. For example, /^.*$/sip:86005000040828-1@ipworks.ims.net/ .

  • If the value of flags is r, this field must be a replacement string and this string only can be a domain name. For example, e164.arpa.

 

enumZoneId

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent a zone identity.


The parameter enumZoneId is only applicable for layered IPWorks/ENUM open interface, and is created on subscription level for all records.

 

ttl

String

Optional (0-1)

A string to identify ttl.


The parameter ttl is only applicable for layered IPWorks/ENUM open interface.

rangeRecords

Sub-MO

Optional (0-n)

 
 

publicId

Case Sensitive String


Pattern: value=”sip:.{1,256}(!\.\*!)?”

Optional (0-1)

The public ID to be provisioned in the IPWorks.


For example: sip:user1@example.com

 

flags(3)

Enumerated value: (n, nu, r)

Optional (0-1)

One or two-character string to represent flags.

 

order(3)

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent the order type.

 

preference(3)

Unsigned Integer

Optional (0-1)

An unsigned integer to represent the preference type.

 

service(3)

String, length 1–32

Optional (0-1)

A string to identify the service.

 

viewId

String


Pattern value=" [0-1]{0,1}[0-9]”

Optional (0-1)

A numeric string from 0 to 19 to identify viewId.


The parameter viewId is mandatory for layered IPWorks/ENUM open interface, and not applicable for monolithic IPWorks/ENUM.

 

scope

String

Optional (0-1)

A string with the format of "n~m" to identify scope.


The parameter scope is only applicable for monolithic IPworks/ENUM open interface.

 

updateLevel

String

Optional (0-1)

A string to identify updateLevel.


The parameter updateLevel is only applicable for monolithic IPworks/ENUM open interface.

 

destNode(3)

String

Optional (0-1)

A string to identify the name of destNode.


The parameter destNode is only applicable for monolithic IPworks/ENUM open interface.

 

callServer(3)

String

Optional (0-1)

A string to identify the name of callServer.


The parameter callServer is only applicable for monolithic IPworks/ENUM open interface.

 

oliAlias(3)

String

Optional (0-1)

A string to identify oliAlias.


The parameter oliAlias is only applicable for monolithic IPworks/ENUM open interface.

 

naptrTxt(2)(3)

String

Optional (0-1)

A string to identify naptrTxt.

 

enumZoneId

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent a zone identity.


The parameter enumZoneId is only applicable for layered IPWorks/ENUM open interface, and is created on subscription level for all range records.

(1)  If dnsname is present, the Dynamic Activation system directly uses it to route to IPWorks. msisdn or e164 will not be used for routing purpose. For more information, refer to Configuration Manual for Resource Activation, Reference [4].

(2)  The symbol "/" is used as the escape character. "//" are used as the normal symbol "/".

(3)  destNode/callServer/olaAlias/ cannot co-exist with flags/orders/preference/service/naptrTxt.


2.2   Examples

Request Example

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

Example 2   Create DNS Subscription Request Message

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
xmlns:ns="http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/">
   <soapenv:Header>
      <cai3:SequenceId>2263331325403655448</cai3:SequenceId>
      <cai3:TransactionId>?</cai3:TransactionId>
      <cai3:SessionId>c73452f35964467babde43d771226ef7</cai3:SessionId>
   </soapenv:Header>
   <soapenv:Body>
      <cai3:Create>
         <cai3:MOType>DNSSubscription@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/</cai3:MOType>
         <cai3:MOId>
            <ns:msisdn>tel:12345678901</ns:msisdn>
         </cai3:MOId>
         <cai3:MOAttributes>
            <ns:createDNSSubscription msisdn="tel:12345678901">
               <ns:msisdn>tel:12345678901</ns:msisdn>
               <ns:records publicId="sip:user1@example.com">
                  <ns:publicId>sip:user1@example.com</ns:publicId>
                  <ns:flags>n</ns:flags>
                  <ns:order>1</ns:order>
                  <ns:preference>100</ns:preference>
                  <ns:service>E2U+sip1</ns:service>
                  <ns:propBlocking>100</ns:propBlocking>
                  <ns:txt>hello</ns:txt>
                  <ns:naptrTxt>!^.*$!sip:46150348@example.com!</ns:naptrTxt> 
               </ns:records>
            </ns:createDNSSubscription>
         </cai3:MOAttributes>
      </cai3:Create>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

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

Example 3   Create DNS Subscription Response Message

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Header>
      <SessionId xmlns="http://schemas.ericsson.com/cai3g1.2/">007f0100007f0100000000001429776406068</SessionId>
      <TransactionId xmlns="http://schemas.ericsson.com/cai3g1.2/">?</TransactionId>
      <SequenceId xmlns="http://schemas.ericsson.com/cai3g1.2/">2263331325403655448</SequenceId>
   </S:Header>
   <S:Body>
      <CreateResponse xmlns="http://schemas.ericsson.com/cai3g1.2/">
         <MOId>
            <msisdn xmlns="http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/">tel:12345678900</msisdn>
         </MOId>
      </CreateResponse>
   </S:Body>
</S:Envelope>

3   Get DNS Subscription

This section covers the GetDNSSubscription command.

The GetDNSSubscription retrieves a subscriber in IPWorks.

MOType

DNSSubscription@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/

3.1   Request Data

3.1.1   Parameters

MOId

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

Table 5    Get DNS Subscription Parameters

Parameter

Type

Occurrence

Description

msisdn(1)

String


Pattern value="tel:\+?\d{5,15}(!\.\*!)?"

Mandatory

The msisdn value to be provisioned into the IPWorks server.


msisdn is a legacy identifier for IPWorks provisioning; it is kept for backward compatibility purpose and supports the telephone number with up to 15 digits.


For example: tel:12345678900

e164(1)

String


Pattern value="\+?\d{5, 22}(!\.\*!)? or
[0-9]{5, 10}[-][0-9]{5, 10}(!\.\*!)?"

Mandatory

The e164 value to be provisioned into the IPWorks server.


e164 is an enhanced identifier for IPWorks provisioning; it is used for the e164 number with up to 22 digits.


For example: +1234567


e164 can also identify a range of records.


For example, 123456-123478


    When defining a range in e164, consider the following issues:

  • The starting and ending numbers must be of the same length.

  • The starting number is lower then the ending number.

(1)  MOId can be either msisdn or e164.


MOAttributes

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

Figure 2   Parameters in Get DNS Subscription

Table 6    Get DNS Subscription Parameters

Parameter

Type

Occurrence

Description

dnsname(1)

Case Sensitive String

Optional (0-1)

The parameter dnsname is used for directly routing to IPWorks. Its value equals to the IPWorks NE name configured in Dynamic Activation.


The parameter dnsname is only applicable for monolithic IPWorks/ENUM open interface.

(1)  If dnsname is present, the Dynamic Activation system directly uses it to route to IPWorks. msisdn or e164 will not be used for routing purpose. For more information, refer to Configuration Manual for Resource Activation, Reference [4].


3.2   Response Data

3.2.1   Parameters

MOId

Table 7    Get Response DNS Subscription MOId

Parameter

Type

Occurrence

Description

msisdn(1)

String


Pattern value="tel:\+?\d{5,15}(!\.\*!)?"

Mandatory

The msisdn value to be provisioned into the IPWorks server.


msisdn is a legacy identifier for IPWorks provisioning; it is kept for backward compatibility purpose and supports the telephone number with up to 15 digits.


For example: tel:12345678900

e164(1)

String


Pattern value="\+?\d{5, 22}(!\.\*!)? or
[0-9]{5, 10}[-][0-9]{5, 10}(!\.\*!)?"

Mandatory

The e164 value to be provisioned into the IPWorks server.


e164 is an enhanced identifier for IPWorks provisioning; it is used for the e164 number with up to 22 digits.


For example: +1234567


e164 can also identify a range of records.


For example, 123456-123478


    When defining a range in e164, consider the following issues:

  • The starting and ending numbers must be of the same length.

  • The starting number is lower then the ending number.

(1)  MOId can be either msisdn or e164.


MOAttributes

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

Figure 3   Parameters in Get Response DNS Subscription

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

Table 8    Get Response DNS Subscription Parameters

Parameter

Type

Occurrence

Description

msisdn

String


Pattern value="tel:\+?\d{5,15}(!\.\*!)?"

Mandatory

The msisdn value to be provisioned into the IPWorks server.


msisdn is a legacy identifier for IPWorks provisioning; it is kept for backward compatibility purpose and supports the telephone number with up to 15 digits.


For example: tel:12345678900

e164

String


Pattern value="\+?\d{5, 22}(!\.\*!)? or
[0-9]{5, 10}[-][0-9]{5, 10}(!\.\*!)?"

Mandatory

The e164 value to be provisioned into the IPWorks server.


e164 is an enhanced identifier for IPWorks provisioning; it is used for the e164 number with up to 22 digits.


For example: +1234567


e164 can also identify a range of records.


For example, 123456-123478


    When defining a range in e164, consider the following issues:

  • The starting and ending numbers must be of the same length.

  • The starting number is lower then the ending number.

records

Sub-MO

Optional (0-n)

 
 

publicId

Case Sensitive String


Pattern value=”sip:.{1,256}(!\.\*!)?”

Optional (0-1)

A string to identify publicId.


The parameter publicId is applicable only for monolithic IPworks/ENUM open interface.

 

flags

Enumerated value (n, nu, r)

Mandatory

A one or two characters string to represent the flags. Can only be one of n, nu, or r.

 

order

UnsignedInt

Mandatory

An unsigned integer to represent the order type.

 

preference

UnsignedInt

Mandatory

An unsigned integer to represent the preference type.

 

service

String


Length 1–32

Mandatory

A string to identify the service.

 

naptrTxt(1)

String

Optional (0-1)

A string to identify naptrTxt.


This parameter depends on the value of the flags parameter:


  • If the value of flags is n or nu, this field must be a regular expression. For example, /^.*$/sip:86005000040828-1@ipworks.ims.net/ .

  • If the value of flags is r, this field must be a replacement string and this string only can be a domain name. For example, e164.arpa.

 

enumZoneId

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent a zone identity.

 

updateLevel

String

Optional (0-1)

A string to identify updateLevel.


The parameter updateLevel is only applicable for monolithic IPworks/ENUM open interface.

 

updateType

String

Optional (0-1)

A string to identify updateType.


The parameter updateType is applicable only for monolithic IPworks/ENUM open interface.

 

propBlocking

Unsigned Integer


0–100

Optional (0-1)

A number from 0 through 100 indicating the rate at which calls to this call server are proportionally blocked.


The parameter propBlocking is only applicable for monolithic IPworks/ENUM open interface.

 

txt

String

Optional (0-1)

A string to identify the Txt in enumsched.


The parameter txt is only applicable for monolithic IPworks/ENUM open interface.

 

ttl

String

Optional (0-1)

A string to identify ttl.


The parameter ttl is only applicable for layered IPWorks/ENUM open interface.

rangeRecords

Sub-MO

Optional (0-n)

-

 

publicId

Case Sensitive String


Pattern: value=”sip:.{1,256}(!\.\*!)?”

Optional (0-1)

A string to identify publicId.


The parameter publicId is applicable only for monolithic IPworks/ENUM open interface.

 

flags

Enumerated value: (n, nu, r)

Optional (0-1)

One or two-character string to represent flags.

 

order

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent the order type.

 

preference

Unsigned Integer

Optional (0-1)

An unsigned integer to represent the preference type.

 

service

String, length 1–32

Optional (0-1)

A string to identify the service.

 

naptrTxt(1)

String

Optional (0-1)

A string to identify naptrTxt.

 

viewId

String

Optional (0-1)

A string to identify viewId.

 

scope

String

Optional (0-1)

A string with the format of "n~m" to identify scope.


The parameter scope is only applicable for monolithic IPworks/ENUM open interface.

 

enumZoneId

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent a zone identity.

 

updateLevel

String

Optional (0-1)

A string to identify updateLevel.


The parameter updateLevel is only applicable for monolithic IPworks/ENUM open interface.

 

rrflag

String

Optional (0-1)

A string to identify rrflag.


The parameter rrflag is only applicable for monolithic IPworks/ENUM open interface.

 

minDigits

String

Optional (0-1)

A string to identify minDigits.


The parameter minDigits is only applicable for monolithic IPworks/ENUM open interface.

 

maxDigits

String

Optional (0-1)

A string to identify maxDigits.


The parameter maxDigits is only applicable for monolithic IPworks/ENUM open interface.

 

propBlocking

Unsigned Integer


0–100

Optional (0-1)

A number from 0 through 100 indicating the rate at which calls to this call server are proportionally blocked.


The parameter propBlocking is only applicable for monolithic IPworks/ENUM open interface.

 

destNode

String

Optional (0-1)

A string to identify the name of destNode.


The parameter destNode is only applicable for monolithic IPworks/ENUM open interface.

 

callServer

String

Optional (0-1)

A string to identify the name of callServer.


The parameter callServer is only applicable for monolithic IPworks/ENUM open interface.

 

oliAlias

String

Optional (0-1)

A string to identify oliAlias.


The parameter oliAlias is only applicable for monolithic IPworks/ENUM open interface.

(1)  The symbol "/" is used as the escape character. "//" are used as the normal symbol "/".


3.3   Examples

Request Example

This section gives an example of a GetDNSSubscription request message, as shown in Example 4.

Example 4   Get DNS Subscription Request Message

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
xmlns:ns="http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/">
   <soapenv:Header>
      <cai3:SequenceId>2263331325403655448</cai3:SequenceId>
      <cai3:TransactionId>?</cai3:TransactionId>
      <cai3:SessionId>007f0100007f0100000000001429776406068</cai3:SessionId>
   </soapenv:Header>
   <soapenv:Body>
      <cai3:Get>
         <cai3:MOType>DNSSubscription@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/</cai3:MOType>
         <cai3:MOId>
            <ns:msisdn>tel:12345678900</ns:msisdn>
         </cai3:MOId>
         <cai3:MOAttributes>
            <ns:getDNSSubscription msisdn="tel:12345678900">
            </ns:getDNSSubscription>
         </cai3:MOAttributes>
      </cai3:Get>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

This section gives an example of a GetDNSSubscription response message, as shown in Example 5.

Example 5   Get DNS Subscription Response Message

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Header>
      <SessionId xmlns="http://schemas.ericsson.com/cai3g1.2/">007f0100007f0100000000001429776406068</SessionId>
      <TransactionId xmlns="http://schemas.ericsson.com/cai3g1.2/">?</TransactionId>
      <SequenceId xmlns="http://schemas.ericsson.com/cai3g1.2/">2263331325403655448</SequenceId>
   </S:Header>
   <S:Body>
      <GetResponse xmlns="http://schemas.ericsson.com/cai3g1.2/">
         <MOAttributes>
            <getResponseDNSSubscription msisdn="tel:12345678900" 
              xmlns="http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
               <msisdn>tel:12345678900</msisdn>
               <records>
                  <publicId>sip:user1@example.com</publicId>
                  <flags>n</flags>
                  <order>1</order>
                  <preference>100</preference>
                  <service>E2U+sip1</service>
                  <naptrTxt>!^.*$!sip:user1@example.com!</naptrTxt>
                  <enumZoneId>1</enumZoneId>
                  <propBlocking>0</propBlocking>
               </records>
            </getResponseDNSSubscription>
         </MOAttributes>
      </GetResponse>
   </S:Body>
</S:Envelope>

4   Set DNS Subscription

This section covers the SetDNSSubscription command.

The SetDNSSubscription modifies a subscriber in IPWorks.

MOType

DNSSubscription@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/

4.1   Request Data

4.1.1   Parameters

MOId

Table 9    Set DNS Subscription MOId

Parameter

Type

Occurrence

Description

msisdn(1)

String


Pattern value="tel:\+?\d{5,15}(!\.\*!)?"

Mandatory

The msisdn value to be provisioned into the IPWorks server


msisdn is a legacy identifier for IPWorks provisioning; it is kept for backward compatibility purpose and supports the telephone number with up to 15 digits.


For example: tel:12345678900

e164(1)

String


Pattern value="\+?\d{5, 22}(!\.\*!)? or
[0-9]{5, 10}[-][0-9]{5, 10}(!\.\*!)?"

Mandatory

The e164 value to be provisioned into the IPWorks server


e164 is an enhanced identifier for IPWorks provisioning; it is used for the e164 number with up to 22 digits.


For example: +1234567


e164 can also identify a range of records.


For example, 123456-123478


    When defining a range in e164, consider the following issues:

  • The starting and ending numbers must be of the same length.

  • The starting number is lower then the ending number.

  • The request is not allowed to be empty.

  • The request can have either records or rangeRecords, but not both.

(1)  MOId can be either msisdn or e164.


MOAttributes

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

Figure 4   Parameters in Set DNS Subscription

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

Note:  
For layered IPWorks/ENUM open interfaces, a SetDNSSubscription request can be used for:
  • Set-Add – To add new records or range records. In this case, the attributes and the corresponding parameters have the same value respectively.
  • Set-Set – To update existing records or range records. In this case, the attributes and the corresponding parameters have different values.
  • Set-Delete – To delete records or range records. In this case, specify a record or a range record, and then add nil=true.

Table 10    Set DNS Subscription Parameter

Parameter

Type

Occurrence

Description

msisdn

String


Pattern value="tel:\+?\d{5,15}(!\.\*!)?"

Optional (0-1)

The msisdn value to be provisioned into the IPWorks server.


msisdn is a legacy identifier for IPWorks provisioning; it is kept for backward compatibility purpose and supports the telephone number with up to 15 digits.


For example: tel:12345678900

e164

String


Pattern value="\+?\d{5, 22}(!\.\*!)? or
[0-9]{5, 10}[-][0-9]{5, 10}(!\.\*!)?"

Optional (0-1)

The e164 value to be provisioned into the IPWorks server.


e164 is an enhanced identifier for IPWorks provisioning; it is used for the e164 number with up to 22 digits.


For example: +1234567


e164 can also identify a range of records.


For example, 123456-123478


    When defining a range in e164, consider the following issues:

  • The starting and ending numbers must be of the same length.

  • The starting number is lower then the ending number.

  • The request is not allowed to be empty.

  • The request can have either records or rangeRecords, but not both.

dnsname(1)

Case Sensitive String

Optional (0-1)

The parameter dnsname is used for directly routing to IPWorks. Its value equals to the IPWorks NE name configured in Dynamic Activation.


The parameter dnsname is only applicable for monolithic IPWorks/ENUM open interface.

records

Sub-MO [nillable]

Optional (0-n)

 
 

publicId(2)

Case Sensitive String


Pattern value=”sip:.{1,256}(!\.\*!)?”

Optional (0-1)

The publicId is used to generate the naptrTxt.


If naptrTxt is not defined for a record in request, !^.*$!publicId! are offered as the default value for naptrTxt.


For example: sip:user1@example.com

 

flags(2)

Enumerated value (n, nu, r)

Optional (0-1)

A one or two characters string to represent the flags. Can only be one of n, nu, or r.

 

order(2)

UnsignedInt

Optional (0-1)

An unsigned integer to represent the order type.

 

preference(2)

UnsignedInt

Optional (0-1)

An unsigned integer to represent the preference type.

 

service(2)

String


Length 1–32

Optional (0-1)

A string to identify the service.

 

propBlocking

Unsigned Integer


0–100

Optional (0-1)

A number from 0 through 100 indicating the rate at which calls to this call server are proportionally blocked.


The parameter propBlocking is only applicable for monolithic IPworks/ENUM open interface.

 

txt

String

Optional (0-1)

A string to identify the Txt in enumsched.


The parameter txt is only applicable for monolithic IPworks/ENUM open interface.

 

naptrTxt(2)(3)

String

Optional (0-1)

A string to identify naptrTxt.


This parameter depends on the value of the flags parameter:


  • If the value of flags is n or nu, this field must be a regular expression. For example, /^.*$/sip:86005000040828-1@ipworks.ims.net/ .

  • If the value of flags is r, this field must be a replacement string and this string only can be a domain name. For example, e164.arpa.

 

enumZoneId

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent a zone identity.


The parameter enumZoneId is only applicable for layered IPWorks/ENUM open interface, and is updated on subscription level for all records.

 

ttl

String

Optional (0-1)

A string to identify ttl.


The parameter ttl is only applicable for layered IPWorks/ENUM open interface.

rangeRecords

Sub-MO [nillable]

Optional (0-n)

 
 

publicId(2)

Case Sensitive String


Pattern: value=”sip:.{1,256}(!\.\*!)?”

Optional (0-1)

The public ID to be provisioned in the IPWorks.


For example: sip:user1@example.com

 

flags(2)

Enumerated value: (n, nu, r)

Optional (0-1)

One or two-character string to represent flags.

 

order(2)

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent the order type.

 

preference(2)

Unsigned Integer

Optional (0-1)

An unsigned integer to represent the preference type.

 

service(2)

String, length 1–32

Optional (0-1)

A string to identify the service.

 

viewId(2)

String


Pattern value=" [0-1]{0,1}[0-9]”

Optional (0-1)

A numeric string from 0 to 19 to identify viewId.


The parameter viewId is only applicable for layered IPWorks/ENUM open interface, and it is mandatory when adding range records.

 

scope

String

Optional (0-1)

A string with the format of "n~m" to identify scope.


The parameter scope is only applicable for monolithic IPworks/ENUM open interface.

 

updateLevel

String

Optional (0-1)

A string to identify updateLevel.


The parameter updateLevel is only applicable for monolithic IPworks/ENUM open interface.

 

destNode

String

Optional (0-1)

A string to identify the name of destNode.


The parameter destNode is only applicable for monolithic IPworks/ENUM open interface.

 

callServer

String

Optional (0-1)

A string to identify the name of callServer.


The parameter callServer is only applicable for monolithic IPworks/ENUM open interface.

 

oliAlias

String

Optional (0-1)

A string to identify oliAlias.


The parameter oliAlias is only applicable for monolithic IPworks/ENUM open interface.

 

naptrTxt(2)(3)

String

Optional (0-1)

A string to identify naptrTxt.

 

enumZoneId

Unsigned Integer


Length 0–65535

Optional (0-1)

An unsigned integer to represent a zone identity.


The parameter enumZoneId is only applicable for layered IPWorks/ENUM open interface, and is updated on subscription level for all range records.

(1)  If dnsname is present, the Dynamic Activation system directly uses it to route to IPWorks. msisdn or e164 will not be used for routing purpose. For more information, refer to Configuration Manual for Resource Activation, Reference [4].

(2)  This attribute is used as the key attribute to identify a record.

(3)  The symbol "/" is used as the escape character. "//" are used as the normal symbol "/".


4.2   Examples

Request Example

This section gives an example of a SetDNSSubscription request message, as shown in Example 6.

Example 6   Set DNS Subscription Request Message

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
xmlns:ns="http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/">
   <soapenv:Header>
      <cai3:SequenceId>?</cai3:SequenceId>
      <cai3:TransactionId>?</cai3:TransactionId>
      <cai3:SessionId>93310c4d6ee1425dbb9e9d69fcece685</cai3:SessionId>
   </soapenv:Header>
   <soapenv:Body>
      <cai3:Set>
         <cai3:MOType>DNSSubscription@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/</cai3:MOType>
         <cai3:MOId>
            <ns:msisdn>tel:12345678901</ns:msisdn>
         </cai3:MOId>
         <cai3:MOAttributes>
            <ns:setDNSSubscription msisdn="tel:12345678901">
               <ns:records publicId="sip:user1@example.com">
            	   <!--Optional:-->
                  <ns:flags>nu</ns:flags>
                  <ns:order>10</ns:order>
                  <ns:preference>10</ns:preference>
                  <ns:service>E2U+sip1</ns:service>
                  <ns:propBlocking>10</ns:propBlocking>
                  <ns:txt>hello1</ns:txt>
                  <ns:naptrTxt>!^.* $!sip:46150348@example.com!</ns:naptrTxt>
               </ns:records>
            </ns:setDNSSubscription>
         </cai3:MOAttributes>
      </cai3:Set>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

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

Example 7   Set DNS Subscription Response Message

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/">
   <S:Header>
      <cai3g:SessionId>93310c4d6ee1425dbb9e9d69fcece685</cai3g:SessionId>
      <cai3g:TransactionId>?</cai3g:TransactionId>
      <cai3g:SequenceId>?</cai3g:SequenceId>
   </S:Header>
   <S:Body>
      <SetResponse xmlns="http://schemas.ericsson.com/cai3g1.2/"/>
   </S:Body>
</S:Envelope>

5   Delete DNS Subscription

This section covers the DeleteDNSSubscription command.

The DeleteDNSSubscription deletes a Subscription in IPWorks.

MOType

DNSSubscription@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/

5.1   Request Data

5.1.1   Parameters

MOId

Table 11    Delete DNS Subscription MOId

Parameter

Type

Occurrence

Description

msisdn(1)

String


Pattern value="tel:\+?\d{5,15}(!\.\*!)?"

Mandatory

The msisdn value to be provisioned into the IPWorks server


msisdn is a legacy identifier for IPWorks provisioning; it is kept for backward compatibility purpose and supports the telephone number with up to 15 digits.


For example: tel:12345678900

e164(1)

String


Pattern value="\+?\d{5, 22}(!\.\*!)? or
[0-9]{5, 10}[-][0-9]{5, 10}(!\.\*!)?"

Mandatory

The e164 value to be provisioned into the IPWorks server


e164 is an enhanced identifier for IPWorks provisioning; it is used for the e164 number with up to 22 digits.


For example: +1234567


e164 can also identify a range of records.


For example, 123456-123478


    When defining a range in e164, consider the following issues:

  • The starting and ending numbers must be of the same length.

  • The starting number is lower then the ending number.

(1)  MOId can be either msisdn or e164.


MOAttributes

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

Figure 5   Parameters in Delete DNS Subscription

The following table covers the parameters that can be used in a DeleteDNSSubscription response.

Table 12    Delete DNS Subscription Parameters

Parameter

Type

Occurrence

Description

dnsname(1)

Case Sensitive String

Optional (0-1)

The parameter dnsname is used for directly routing to IPWorks. Its value equals to the IPWorks NE name configured in Dynamic Activation.


The parameter dnsname is only applicable for monolithic IPWorks/ENUM open interface.

(1)  If dnsname is present, the Dynamic Activation system directly uses it to route to IPWorks. msisdn or e164 will not be used for routing purpose. For more information, refer to Configuration Manual for Resource Activation, Reference [4].


5.2   Examples

Request Example

This section gives an example of a DeleteDNSSubscription request message, as shown in Example 8.

Example 8   Delete DNS Subscription Request Message

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
xmlns:ns="http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/">
   <soapenv:Header>
      <cai3:SequenceId>?</cai3:SequenceId>
      <cai3:TransactionId>?</cai3:TransactionId>
      <cai3:SessionId>93310c4d6ee1425dbb9e9d69fcece685</cai3:SessionId>
   </soapenv:Header>
   <soapenv:Body>
      <cai3:Delete>
         <cai3:MOType>DNSSubscription@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/</cai3:MOType>
         <cai3:MOId>
            <ns:msisdn>tel:12345678901</ns:msisdn>
         </cai3:MOId>
         <cai3:MOAttributes>
            <ns:deleteDNSSubscription msisdn="tel:12345678901">
            </ns:deleteDNSSubscription>
         </cai3:MOAttributes>
      </cai3:Delete>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

This section gives an example of a DeleteDNSSubscription response message, as shown in Example 9.

Example 9   Delete DNS Subscription Response Message

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/">
   <S:Header>
      <cai3g:SessionId>93310c4d6ee1425dbb9e9d69fcece685</cai3g:SessionId>
      <cai3g:TransactionId>?</cai3g:TransactionId>
      <cai3g:SequenceId>?</cai3g:SequenceId>
   </S:Header>
   <S:Body>
      <DeleteResponse xmlns="http://schemas.ericsson.com/cai3g1.2/">
         <MOId>
            <ns:msisdn xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
              xmlns:ns="http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/" 
              xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">tel:12345678901</ns:msisdn>
         </MOId>
      </DeleteResponse>
   </S:Body>
</S:Envelope>

6   Set DNS Domain

Note:  
This section is applicable for monolithic IPWorks/ENUM open interfaces only.

This section covers the SetDNSDomain command.

The SetDNSDomain sets a DNS Domain in IPWorks.

MOType

DNSDomain@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/

6.1   Request Data

6.1.1   Parameters

MOId

Table 13    Set DNS Domain MOId

Parameter

Type

Occurrence

Description

domainsId

String

Mandatory

Required as MOId of CAI3G request. It is not used in provisioning, so any value is acceptable.

MOAttributes

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

Figure 6  

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

Table 14    Set DNS Domain Parameters

Parameter

Type

Occurrence

Description

domainsId

String

Mandatory

Required as MOId of CAI3G request. It is not used in provisioning, so any value is acceptable.

dnsname(1)

Case Sensitive String

Mandatory

The parameter dnsname is used for directly routing to IPWorks. Its value equals to the IPWorks NE name configured in Dynamic Activation.


The parameter dnsname is only applicable for monolithic IPWorks/ENUM open interface.

domainData

Sub-MO [nillable]

Mandatory

 
 

domain

Case Sensitive String


Length 2–80

Mandatory

Domain name.

(1)  If dnsname is present, directly use it to route to IPWorks.


6.2   Examples

Request Example

This section gives an example of a SetDNSDomain request message, as shown in Example 10.

Example 10   Set DNS Domain Request Message

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:cai3="http://schemas.ericsson.com/cai3g1.2/" 
xmlns:ns="http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/">
   <soapenv:Header>
      <cai3:SequenceId>?</cai3:SequenceId>
      <cai3:TransactionId>?</cai3:TransactionId>
      <cai3:SessionId>93310c4d6ee1425dbb9e9d69fcece685</cai3:SessionId>
   </soapenv:Header>
   <soapenv:Body>
      <cai3:Set>
         <cai3:MOType>DNSDomain@http://schemas.ericsson.com/ema/UserProvisioning/IPWorks/5.0/</cai3:MOType>
         <cai3:MOId>
            <ns:domainsId>123</ns:domainsId>
         </cai3:MOId>
         <cai3:MOAttributes>
            <ns:setDNSDomain domainsId="123">
               <ns:domainsId>123</ns:domainsId>
               <ns:dnsname>enum</ns:dnsname>
               <!--1 or more repetitions:-->
               <ns:domainData domain="DomainName">
                  <ns:domain>DomainName</ns:domain>
               </ns:domainData>
            </ns:setDNSDomain>
         </cai3:MOAttributes>
      </cai3:Set>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

This section gives an example of a SetDNSDomain response message, as shown in Example 11.

Example 11   Set DNS Domain Response Message

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:cai3g="http://schemas.ericsson.com/cai3g1.2/">
   <S:Header>
      <cai3g:SessionId>812b80db64c84faab82fbb1c3e30ffc2</cai3g:SessionId>
      <cai3g:TransactionId>?</cai3g:TransactionId>
      <cai3g:SequenceId>?</cai3g:SequenceId>
   </S:Header>
   <S:Body>
      <SetResponse xmlns="http://schemas.ericsson.com/cai3g1.2/"/>
   </S:Body>
</S:Envelope>

7   Faults or Errors

The generic structure for fault responses is covered in Generic CAI3G Interface 1.2Reference [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.

The following is an example of a CAI3G error message:

7.1   Dynamic Activation Internal Errors

The following table covers Dynamic Activation internal error codes. They can appear in any CAI3G responses.

Table 15    General Dynamic Activation Internal Error Codes

Error Code

Error Message

1001

Invalid resource ID

1002

Invalid XPath

1003

Unrecognized namespace. No data view associated

1004

Access denied. Invalid principal or credentials

1005

Not authorized to perform current operation on selected data view

1006

Invalid parameter (1)

1007

Unsupported operation

1010

Invalid session ID

1011

Target is not found

1095

Communication error while interacting with a data repository

1096

Time-out expired during wait for answer from data repository

1097

Failure during processing of the request

1098

Could not process request because of resource limitation

1099

System error

1101

External error

1103

License error

1105

NE Group error

2001

Format error

2002

Unreasonable value

2003

Function busy

2004

Database update error

2005

Storage shortage in log data fileStorage shortage in log data file

2006

Partly executed, HLR ID <ID> failed

(1)   Not all characters are valid.


7.1.1   IPWorks Subscription and DNS Domain Error Codes

Table 16    IPWorks Subscription and DNS Domain

Code

Error Description

MO

Operation

12013

Operation failed, rollback has been performed successfully

DNSSubscription

C
(Layered)

12014

Operation failed, rollback was unsuccessful

DNSSubscription

C
(Layered)

35250

Other IPWorks error

DNSSubscription/DNSDomain

G/S
(Monolithic)

35251

Object exists

DNSSubscription/DNSDomain

C
(Monolithic and layered)

35252

Cannot lock object

DNSSubscription/DNSDomain

S
(Monolithic)

35253

Cannot update name-server

DNSSubscription/DNSDomain

C/S
(Monolithic)

35254

No record containing a sip address was found in that domain or domain name does not exist

DNSSubscription/DNSDomain

D/G/S
(Monolithic)

35255

Operation is not performed because of a logon failure

DNSSubscription/DNSDomain

C/D/G/S
(Monolithic)

35256

ENUM subscription is not defined

DNSSubscription

S/G/D
(Layered)

35257

ENUM validation fails

DNSSubscription

C/S
(Layered)


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 00 03 Uen
[3] Library Overview, 18/1553-CSH 109 628 Uen
[4] Configuration Manual for Resource Activation, 2/1543-CSH 109 628 Uen


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.

    IPWorks/ENUM Provisioning over CAI3G         Ericsson Dynamic Activation 1