Request

The <updateSubscriber> request provisions IMSI and MSISDN routing data and can provision subscriber data. See Subscriber and Routing Data for a description of subscriber and routing data.

This request provisions stand-alone IMSI and MSISDN routing entities and/or subscriber data. Each routing entity contains up to eight destination names. Each destination contains FQDN and realm values, which are used for routing messages.

When the group="y" attribute is specified, the request establishes or removes relationships between IMSI, MSISDN and Account ID values. When adding new IMSI or MSISDN values to a subscriber, the request can also create a new IMSI or MSISDN routing entity. When an IMSI or MSISDN value is removed from a subscriber, the request deletes IMSI or MSISDN routing entities. Once a subscriber is created, all subsequent subscriber requests can use any of the subscriber's IMSI, MSISDN or Account ID values to update, delete or read the subscriber.
Note: You can only add a subscriber to a subscriber table, if the Account ID, MSISDN, or IMSI is not already in the table. If the table already contains any of these values, the add function fails and an error condition report is generate that contains the reason for the failure.

The request can also be used to update destination names in existing routing entities or create new routing entities, regardless of whether the group="y" attribute is specified. These destination changes are applied to all specified IMSI and MSISDN routing entities. If all of the specified IMSI, MSISDN and Account ID values are assigned to one subscriber, the destination changes are also applied to all of the subscriber's routing entities.

If the group="y" attribute is specified, then the changes are also applied to any specified new or existing standalone routing entities, which are assigned to the subscriber.

The request can also be used to remove a destination value from existing IMSI and/or MSISDN routing entities by specifying "none" as the destination name.

Semantic Rules (all requests)

Semantic Rules (requests that do not specify the group attribute or specify group="n")

Semantic Rules (requests that specify group="y")

  • The accountId, deleteAccountId, deleteImsi, and deleteMsisdn parameters can be specified.
  • All specified, existing accountID, imsi, or msisdn values must be assigned to the same subscriber or they can exist in a stand-alone routing entity. After the command successfully completes, all specified values are assigned to the same subscriber.
  • All specified addresses within the deleteAccountId, deleteImsi, and deleteMsisdn tags that exist in the database must be assigned to the same subscriber. All specified addresses within the addressList (Account ID, IMSI, or MSISDN values) must also be assigned to the same subscriber or not assigned to any subscriber.
  • At least one imsi, msisdn, or accountId value must be specified within the addressList.
  • The destinationList tag is mandatory, but no values are required within it. This allows the user to add an Account ID to an existing MSISDN and/or IMSI values. This allows the user to create a Subscriber using existing MSISDN/IMSI and also allows the user to create a Subscriber with a mix of existing MSISDN/IMSI and new MSISDN/IMSI. In this case same destination(s) has to set to all routing entities.
  • The addressList can have a maximum of one accountId, six imsi, six msisdn, one deleteAccountId, six deleteImsi, and/or six deleteMsisdn values specified. If any of these limits are exceeded, the request fails.
  • All accountId, imsi, and msisdn values specified within the addressList that are not currently associated with a subscriber will be assigned to the same subscriber. They are added to an existing subscriber or new subscriber.
  • If a new subscriber is being created with all new routing entities, all specified routing entities will be provisioned with the specified destination values
  • If a new subscriber is being created with at least one existing stand-alone routing entity, all destination values from existing stand-alone routing entities must be the same prior to applying any specified destination changes. All new routing entities will inherit their destination values from an existing stand-alone routing entity with the applied destination changes.
  • If existing stand-alone routing entities are being added to an existing subscriber, the destination values in each stand-alone routing entity must match the destination values for the subscriber (extracted from any of the subscriber routing entities) prior to applying any specified destination changes.
  • If new routing entities are being added to an existing subscriber, the new routing entities will inherit the destination values for the subscriber (extracted from any of the subscriber routing entities).
  • If a new routing entity is being created, at least one of its destination values cannot be equal to "none".
  • The updated subscriber must have at least one IMSI or MSISDN routing entity.
  • The updated subscriber can have 0 or 1 accountID values, 0-6 imsi values, and 0-6 msisdn values, as long as there is at least 1 IMSI or MSISDN value. If the result of the update (deleting and then adding Account ID, IMSI and/or MSISDN values) would cause too many Account ID, IMSI or MSISDN values, the request will fail.
  • The subscriber Account ID value can be updated only if it is currently null or deleted within the request (as specified by the deleteAccountId parameter).
  • If any of the deleteAccountId, deleteImsi, or deleteMsisdn values do not exist in the database, they will be ignored. If nothing else changes for the subscriber, the NO_UPDATES is returned.
  • If any of the deleteAccountId, deleteImsi, or deleteMsisdn values exist in the database, they must be assigned to the subscriber being updated or the command will fail.
  • If any of the deleteIMSI or deleteMsisdn values exist, the routing entity will be deleted unless it is the last IMSI or MSISDN routing entity for the subscriber, in which case the command will fail.

Request Format

The request must be inserted between the <soapenv:Body> and </soapenv:Body> XML tags as shown in SOAP Request Messages.
<updateSubscriberRequest [timeout="timeout"] [group="group"]>
 
    <addressList>
    [   <deleteAccountId>deleteAccountId</deleteAccountId> ]
    [
        <deleteImsi>deleteImsi</deleteImsi>
        …
        <deleteImsi>deleteImsi</deleteImsi>
    ]
    [
        <deleteMsisdn>deleteMsisdn</deleteMsisdn>
        …
        <deleteMsisdn>deleteMsisdn</deleteMsisdn>
    ]
    [   <accountId>accountId</accountId> ]
    [
    <imsi>imsi</imsi>
        …
    <imsi>imsi</imsi>
    ]
    [
    <msisdn>msisdn</msisdn>
        …
    <msisdn>msisdn</msisdn>
    ]
    </addressList>
    <destinationList>
    [   <imshss>imshss</imshss>       ]
    [   <ltehss>ltehss</ltehss>       ]
    [   <pcrf>pcrf</pcrf>             ]
    [   <ocs>ocs</ocs>                ]
    [   <ofcs>ofcs</ofcs>             ]
    [   <aaa>aaa</aaa>                ]
    [   <userdef1>userdef1</userdef1> ]
    [   <userdef2>userdef2</userdef2> ]
    </destinationList>
</updateSubscriberRequest>

Request Parameters

<updateSubscriberRequest> Parameters (SOAP)
Parameter Description Values
timeout (Optional) The amount of time (in seconds) to wait before being able to perform a write if another connection is performing a write, or has a transaction open. Clients waiting to write will be processed in the order that their requests were received.

If the request is being performed within a transaction, this parameter will have no effect, as the client already has a transaction open.

0 (return immediately if not available) to 3600 seconds (default is 0).
group (Optional) Indicates if relationships between a group of related IMSI and/or MSISDN routing entities and Account ID value should be created/updated.
  • y –Create new or update existing subscriber relationships and update destinations.
  • n –Only update destinations, not relationships between routing entities (default).
addressList XML tag that contains a list of addresses to be created or updated. Must have at least 1 of the following tags and values:
  • 0-1 – deleteAccountId
  • 0-6 – deleteImsi
  • 0-6 – deleteMsisdn
  • 0-1 – accountId
  • 0-6 – imsi
  • 0-6 – msisdn
deleteAccountId (Optional) A user-defined Account ID value to delete. 1 to 26 numeric digits.
deleteImsi (Optional) An IMSI (specified in E.212 format) value to delete. 10 to 15 numeric digits.
deleteMsisdn (Optional) An MSISDN (specified in E.164 international public telecommunication numbering plan format) value to delete. 8 to 15 numeric digits.
accountId (Optional) A user-defined Account ID value to add or update. 1 to 26 numeric digits.
imsi (Optional) An IMSI (specified in E.212 format) value to add or update. 10 to 15 numeric digits.
msisdn (Optional) An MSISDN (specified in E.164 international public telecommunication numbering plan format) value to add or update. 8 to 15 numeric digits.
destinationList (Optional) XML tag that contains a list of destination values to update or set in the routing entity(s). Can be empty, or contain any of the following destination tags and values: imshss, ltehss, pcrf, ocs, ofcs, aaa, userdef1, and/or userdef2.
imshss (Optional) The name of the IMS HSS destination. A string with 1 to 32 characters.
ltehss (Optional) The name of the LTE HSS destination. A string with 1 to 32 characters.
pcrf (Optional) The name of the PCRF destination. A string with 1 to 32 characters.
ocs (Optional) The name of the OCS destination. A string with 1 to 32 characters.
ofcs (Optional) The name of the OFCS destination. A string with 1 to 32 characters.
aaa (Optional) The name of the AAA server destination. A string with 1 to 32 characters.
userdef1 (Optional) The name of the first user defined destination. A string with 1 to 32 characters.
userdef2 (Optional) The name of the second user defined destination. A string with 1 to 32 characters.