Provisioning Data

Provisioning for all elements of the IMS can be completed through the web UI or the API. This chapter provides a reference of all the objects that can be provisioned and the acceptable values that can be assigned. For more information about how to access and provision these objects, see Application Programming Interface or Web-Based User Interface.

The Platform Owner must first define the IMS domains to be served and one or more configuration keys for Service Providers. The configuration key represents an IMS domain or set of IMS domains that is assigned to a particular Service Provider. The configuration key then determines the data that is accessible for provisioning by the Service Provider.

It is recommended that a configuration key be human-identifiable, contain only alphanumeric characters, underscores, or hyphens, and be less than 30 characters in length.


Cluster Configuration with etcd

The IMS Suite uses etcd version 3.3.10 for data storage.

The etcd component can initially establish the configuration for a cluster, and if there is no host IP address renumbering or alteration, nothing needs to be changed for proper functionality. Adding an AS or NIU is expected to work if the cluster is healthy with a normal install or synchronize operation. Both changing the IP address of an existing node and removing an existing node are not handled automatically and would require manual intervention.

Note

We recommend contacting Customer Support for assistance with removing or changing the IP address of an existing node.


It is also important to note that etcd is a coherent clustering system that requires a quorum, meaning that the resiliency of the system is dependent on enough of the nodes remaining running and being able to communicate.

For more information about etcd and cluster reconfiguration options, see the etcd Operations Guides.


IMS Domains

IMS domains can be created or modified using the Domains tab in the web UI or the domain endpoint in the API.

volte:served-domains

A shared object between Platform Owners and all Service Providers. These are the IMS domains created by Platform Owners and assigned to Service Providers. Platform Owners are able to create array entries, while Service Providers are only able to modify the IMS domains that are provisioned as available to them.


IMS Elements

Once the IMS domains and Service Providers are provisioned, the Service Providers can provision each element using the objects defined below. The configuration key previously created by the Platform Owner is represented by <key> in the syntax of each object name. If <key> is not present in the name, that object can only be modified by the Platform Owner.

I-CSCF

icscf:java-timeout

An integer that defines the time, in seconds, to wait for a response from Drop-to-Java calls.

Note

This object can be modified by the Platform Owner only.

icscf:<key>:icscf-domain

A string representing a full domain name that resolves to the I-CSCF. This value can be anything resolvable by DNS and is used to populate the Record-Route header field. For example, icscf.ims.example.com.

icscf:<key>:internal-scscf

An array of strings specifying potential internal S-CSCFs (overrides) to match against candidate S-CSCFs (returned from the HSS).

icscf:<key>:p-profile-key-supported

A boolean value that determines whether the P-Profile-Key header field is supported.

icscf:<key>:p-user-database-supported

A boolean value that determines whether the P-User-Database header field is supported.

icscf:<key>:psi-subdomains
An array of object pairs defining the subdomains for Public Service Identity (PSI) routing. Each object pair contains the following required properties:
  • domain - A string specifying which domain is being redirected to the subdomain.

  • addr - A string, resolvable by DNS, specifying the address of the subdomain.

icscf:<key>:request-priority-supported

A boolean value that determines whether elevated priority for sessions is supported.

icscf:<key>:static-scscf-addresses
An array of object pairs defining the static S-CSCF addresses. Each object pair contains the following required properties:
  • regex - A regex string to match against the incoming public identity.

  • scscfAddress - A string, resolvable by DNS, defining the address of the static S-CSCF.

icscf:<key>:tel-uri-diameter-realms

An array of strings, resolvable by DNS, specifying each realm to be used when requests with a tel URI have an unknown realm. For example, ims.example.com.

icscf:<key>:tel-uri-forwarding-locations

An array of strings, resolvable by DNS, specifying each address to send unknown tel URIs to if tel-uri-forwarding-supported is set to TRUE.

icscf:<key>:tel-uri-forwarding-supported

A boolean value that determines whether forwarding of unknown tel URIs to specified locations is supported. If set to TRUE, the tel-uri-forwarding-locations must be specified.

iscsf:<key>:timeout

An integer that defines the time, in seconds, to wait for a response from the S-CSCF or the HSS.

S-CSCF

scscf:ifc:<id>

A numeric ID for this set of preloaded IFC XML.

Note

This object can be modified only by the Platform Owner. A Service Provider can view these IFCs and apply them to their S-CSCF domains in a configuration key.

Note

IFC rules strictly follow specifications in Annex E “XML schema for the Cx interface user profile” of TS 129.228.

scscf:config:<key>:app-server-timeout-per-host

An integer that defines the time, in seconds, for contacting an individual host when DNS-based load balancing is in use.

scscf:config:<key>:app-server-timeout

An integer that defines the time, in seconds, for contacting an application server before continuing or terminating a session.

scscf:config:<key>:auth-methods
An array of object pairs specifying each enabled authorization method. Each object pair contains the following properties:
  • name - A required string representing the name of the authorization method.

  • reauth-every-register - A boolean value that determines whether a user is re-authenticated on every register request.

scscf:config:<key>:enum-domains

An array of strings specifying domain suffixes to use for E.164 Number Mapping (ENUM).

scscf:config:<key>:hss-enabled

A boolean value that determines whether the HSS is enabled and therefore contacted. This value has no effect on the REGISTER call flow.

scscf:config:<key>:ifc-override-enabled

A boolean value that determines whether the IFCs can be overridden.

scscf:config:<key>:ifc-override-rules
An array of object pairs specifying each IFC override rule. Each object pair contains the following properties:
  • regex - A POSIX extended regex string specifying override behavior.

  • ifc - An array of integers representing IDs of the IFCs being overridden.

scscf:config:<key>:max-dns-hosts

An integer that defines the maximum number of DNS records from host lookup to use before returning a failure response.

scscf:config:<key>:max-enum-iterations

An integer that defines the maximum chain of Name Authority Pointer (NAPTR) records to traverse for ENUM.

scscf:config:<key>:max-register-duration

An integer that defines the maximum duration, in seconds, for a REGISTER.

scscf:config:<key>:max-subscribe-duration

An integer that defines the maximum duration, in seconds, for a SUBSCRIBE.

scscf:config:<key>:min-register-duration

An integer that defines the minimum duration, in seconds, for a REGISTER. Any non-zero duration lower than this value will be sent a 423 Interval too brief.

scscf:config:<key>:randomize-dns-order

A boolean value that determines whether, when looking up a destination for an IFC target using DNS, the order of returned records is randomized before attempting to contact them.

scscf:config:<key>:scscf-domain

A string representing a full domain name that resolves to the S-CSCF. This value can be anything resolvable by DNS and is used to populate the Record-Route header field. For example, scscf.ims.example.com.

scscf:config:<key>:server-name

A string representing the SIP URI for the S-CSCF that will be sent to the HSS via the Server Name field.

scscf:config:<key>:service-route

A string representing the SIP URI for the S-CSCF that will be sent via the Service-Route header.

scscf:config:<key>:timeout-responses

A comma-separated list of SIP response codes that will invoke the same behavior as a timeout.

E-CSCF

ecscf:config:<key>:psap_uri

A string representing the URI to use as the public-safety answering point (PSAP) destination to forward to.

ecscf:config:<key>:emergency_regex

Regex match against the To header to determine if a call is to an emergency number/URI.

ecscf:config:<key>:anonymous_regex

Regex to match against the P-Asserted-Identity header to determine if a call is anonymous.

ecscf:config:<key>:xml_non_emer

The XML payload to return in a 380 Alternative Service response when a non-emergency call is received at the E-CSCF.

ecscf:config:<key>:xml_reg

The XML payload to return in a 380 Alternative Service response when an emergency registration is required.

ecscf:config:<key>:ecscf_uri

A string representing the URI for the E-CSCF to use for itself when signaling to other elements.

IP-SM-GW

ip-sm:config:<key>:amqp-exchange

A string representing the Advanced Message Queuing Protocol (AMQP) exchange type. The default exchange is a direct exchange, which delivers messages to queues based on the routing key.

ip-sm:config:<key>:amqp-inbound-queue

A string representing the name of the AMQP inbound queue.

ip-sm:config:<key>:amqp-inbound-routing-key

A string representing the routing key of the AMQP inbound queue. The purpose of the routing key is to act like a filter and select certain messages published to an exchange to be routed to the bound queue.

ip-sm:config:<key>:amqp-outbound-queue

A string representing the name of the AMQP outbound queue.

ip-sm:config:<key>:amqp-outbound-routing-key

A string representing the routing key of the AMQP outbound queue. The purpose of the routing key is to act like a filter and select certain messages published to an exchange to be routed to the bound queue.

ip-sm:config:<key>:amqp-uri

An array of strings representing the URI parameters used by a client to establish and negotiate an AMQP connection.

ip-sm:config:<key>:data-coding

A string representing the data coding byte to be applied to all outbound messages.

ip-sm:config:<key>:destination-npi

A string representing the destination Numbering Plan Indicator (NPI) to use for all outbound messages.

ip-sm:config:<key>:destination-ton

A string representing the destination Type Of Numbering (TON) to use for all outbound messages.

ip-sm:config:<key>:esm-class

A string representing the Evolved Packet System (EPS) Session Management (ESM) Class byte to use for all destination numbers.

ip-sm:config:<key>:outbound-charset

A string representing the name of character set to use for all outbound messages.

ip-sm:config:<key>:sender-rewriting:rate-limits

A set of integers that define the 5-minute, 1-hour, and 24-hour destination rate limits and source rate limits for the sender rewrite feature.

ip-sm:config:<key>:source-npi

A string representing the source NPI to use for all outbound messages.

ip-sm:config:<key>:source-ton

A string representing the source TON to use for all outbound messages.