Request
The
<updateSubscriber>
request
provisions IMSI, MSISDN, and External Identifier routing data and can provision
subscriber data. See
Subscriber and Routing Data
for a description of subscriber and routing data.
This request provisions standalone IMSI, MSISDN, and External Identifier routing entities and/or subscriber data. Each routing entity contains up to nine destination names. Each destination contains FQDN and realm values, which are used for routing messages.
group="y"
attribute is specified, the
request establishes or removes relationships between Account ID, IMSI, MSISDN,
and External Identifier values. When adding new Account ID, IMSI, MSISDN, or
External Identifier values to a subscriber, the request can also create a new
IMSI, MSISDN, or External Identifier routing entity. When an IMSI, MSISDN, or
External Identifier value is removed from a subscriber, the request deletes
IMSI, MSISDN, or External Identifier routing entities. Once a subscriber is
created, all subsequent subscriber requests can use any of the subscriber's
Account ID, IMSI, MSISDN, or External Identifier values to update, delete or
read the subscriber.
Note:
You can only add a subscriber to a subscriber table, if the Account ID, IMSI, MSISDN, or External Identifier 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, MSISDN, and External
Identifier routing entities. If all of the specified Account ID, IMSI, MSISDN,
and External Identifier 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 and/or External Identifier routing entities by
specifying
"none"
as the destination name.
Semantic Rules (All Requests)
- Each IMSI, MSISDN, and External Identifier routing entity can be assigned to a maximum of 1 subscriber.
- All specified destination names must already exist in the database.
- Each destination name type can only be specified once.
- Any existing destination(s) for a routing entity will not be changed/removed if not specified in the request.
- Specifying a destination name of
"none"
removes the association of that destination from the specified routing entity(s).
Semantic Rules (requests that do not specify the
group attribute or specify group="n"
)
- The
accountId
,deleteAccountId
,deleteImsi
,deleteMsisdn
, anddeleteExternalIdentifier
parameters cannot be specified. - All specified existing IMSI, MSISDN, and External Identifier values must be for standalone routing entities or must all be assigned to one subscriber. There cannot be a mixture of standalone routing entities and routing entities that are part of a subscriber.
- At least one routing entity (IMSI, MSISDN, or
External Identifier) value must be specified within the
addressList
. - A maximum of 10 routing entities (IMSI, MSISDN,
External Identifier, or combinations) can be specified within the
addressList
. - At least one destination must be specified within the
destionationList
. - All specified routing entities will be provisioned with the same destination value(s).
Semantic Rules (requests that specify group="y")
- The
accountId
,deleteAccountId
,deleteImsi
,deleteMsisdn
, anddeleteExternalIdentifier
parameters can be specified. - All specified, existing
accountID
,imsi
,msisdn
, orexternalIdentifier
values must be assigned to the same subscriber or they can exist in a standalone routing entity. After the command successfully completes, all specified values are assigned to the same subscriber. - All specified addresses within the
deleteAccountId
,deleteImsi
,deleteMsisdn
, anddeleteExternalIdentifier
tags that exist in the database must be assigned to the same subscriber. All specified addresses within the addressList (Account ID, IMSI, MSISDN, or External Identifier values) must also be assigned to the same subscriber or not assigned to any subscriber. - At least one
imsi
,msisdn
,externalIdentifier
, oraccountId
value must be specified within theaddressList
. - 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 and or External Identifier values. This allows the user to create a Subscriber using existing MSISDN/IMSI/External Identifier and also allows the user to create a Subscriber with a mix of existing MSISDN/IMSI/External Identifier and new MSISDN/IMSI/External Identifier. In this case same destination(s) has to set to all routing entities. - The addressList can have a maximum of one
accountId
, siximsi
, sixmsisdn
, tenexternalIdentifier
, onedeleteAccountId
, sixdeleteImsi
, and/or sixdeleteMsisdn
values specified. If any of these limits are exceeded, the request fails. - All
accountId
,imsi
,msisdn
, andexternalIdentifier
values specified within theaddressList
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 standalone routing entity, all destination values from existing standalone 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 standalone routing entity with the applied destination changes.
- If existing standalone routing entities are being added to an existing subscriber, the destination values in each standalone 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, MSISDN, or External Identifier routing entity.
- The updated subscriber can have 0 or 1
accountID
values, 0-6imsi
values, and 0-6msisdn
values, as long as there is at least 1 IMSI, MSISDN, or External identifier value. If the result of the update (deleting and then adding Account ID, IMSI and/or MSISDN and/or External Identifier values) would cause too many Account ID, IMSI, MSISDN, External Identifier values, the request fails. - The subscriber Account ID value can be updated only
if it is currently
nul
l or deleted within the request (as specified by thedeleteAccountId
parameter). - If any of the
deleteAccountId
,deleteImsi
,deleteMsisdn
, ordeleteExternalIdentifier
values do not exist in the database, they are ignored. If nothing else changes for the subscriber, then NO_UPDATES is returned. - If any of the
deleteAccountId
,deleteImsi
,deleteMsisdn
, ordeleteExternalIdentifier
values exist in the database, they must be assigned to the subscriber being updated or the command fails. - If any of the
deleteImsi
,deleteMsisdn
, ordeleteExternalIdentifier
values exist, the routing entity is deleted unless it is the last IMSI, MSISDN, or External Identifier routing entity for the subscriber, in which case the command fails.
Request Format
<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>
]
[
<deleteExternalId>deleteExtIdentifier<deleteExternalId>
…
<deleteExternalId>deleteExtIdentifier</deleteExternalId>
]
[ <accountId>accountId</accountId> ]
[
<imsi>imsi</imsi>
…
<imsi>imsi</imsi>
]
[
<msisdn>msisdn</msisdn>
…
<msisdn>msisdn</msisdn>
]
[
<externalId>extIdentifier</externalId>
…
<externalId>extIdentifier</externalId>
]
</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> ]
[ <mtchss>mtchss</mtchss> ]
</destinationList>
</updateSubscriberRequest>
Request Parameters
Table 4-11 <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 are 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 and/or External Identifier 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:
|
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. |
deleteExternalId (Optional) | An ExternalIdentifier (specified in NAI format)value to delete. | A string with 3 to 257 characters. |
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. |
ExternalId (Optional) | An ExternalIdentifier (specified in NAI format)value to add or update. | A string with 3 to 257 characters. |
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, userdef2 and/or mtchss. |
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. |
mtchss (Optional) | The name of the MTCHSS destination. | A string with 1 to 32 characters. |