The Sentinel REM extension provides a RESTful HTTP provisioning API. It also provides many Configuration APIs for various Sentinel VoLTE application components.

Tip To use the Sentinel VoLTE Provisioning REST Web Interface and Machine API, you will need to configure a Rhino instance using the Rhino Element Manager (REM).
Tip The Sentinel SDK contains a Python script called sentinel-rest-example in the build/bin directory. It implements the examples discussed here and a few more.

This page covers

The API also includes the ability to invalidate cache entries in Sentinel VoLTE’s Sh Cache, as detailed in the Sh Cache REST API.

Accessing the Provisioning REST API

To access the Provisioning REST API:

1

Ensure the Sentinel REM extension is installed in REM.

2

Start REM.

3

Access the Sentinel Provisioning API at [http://localhost:8080/rem/sentinel/api] (replace localhost with some other hostname if REM is not being run locally).

Tip Access is restricted to users configured through REM using HTTP BASIC authorization. If you’re using a web browser, it will prompt you to enter a username and password the first time you access any part of the API.

Listing and browsing resources

You can list and browse resources through the Sentinel Provisioning API.

Listing resources

You can find a listing of all available resources at the top-level URL for the API (for example, [http://localhost:8080/rem/sentinel/api]).

The list can be in either:

  • HTML format (for viewing in a browser)

  • an APP Service Document (application/atomsvc+xml), that can be parsed by a scripted client.

Browsing resources

From the top-level API URL, you can browse into the available resources. Each resource in turn lists its own sub-resources. All of the sub-resources require a rhinoInstanceId query parameter. This should exactly match the name of a Rhino instance configured in REM (such as rhinoInstanceId=Local). Most of the sub-resources also require a selectionKey query parameter in the form of platformOperator:networkOperator:sessionType:planId:subscriptionId - such as selectionKey=OpenCloud::::

Example 1:

http://localhost:8080/rem/sentinel/api/featureexecutionscripts returns a sub-resource listing for feature execution scripts:

<feature>
  <name>FeatureExecutionScripts</name>
  <resources>
    <link title="Feature Execution Scripts" href="http://localhost:8080/rem/sentinel/api/featureexecutionscripts/scripts" rel="entries"/>
    <link title="Feature Execution Script Execution Point Associations" href="http://localhost:8080/rem/sentinel/api/featureexecutionscripts/executionpoints" rel="associations"/>
  </resources>
</feature>

Example 2:

Following the entries relation to the scripts resource, by adding the rhinoInstanceId and selectionKey parameters, http://localhost:8080/rem/sentinel/api/featureexecutionscripts/scripts?rhinoInstanceId=Local&selectionKey=OpenCloud

returns a paged listing of feature execution scripts configured in your local Rhino instance for platform operator OpenCloud:

<featureExecutionScripts next="http://localhost:8080/rem/sentinel/api/featureexecutionscripts/scripts?rhinoInstanceId=Local&selectionKey=OpenCloud::::&page=2">
  <featureExecutionScript>
    <name>default_DiameterAccess_NetworkPreCreditCheck</name>
    <resources>
      <link title="default_DiameterAccess_NetworkPreCreditCheck" href="http://localhost:8080/rem/sentinel/api/featureexecutionscripts/scripts/default_DiameterAccess_NetworkPreCreditCheck?rhinoInstanceId=Local&selectionKey=OpenCloud::::" rel="config"/>
    </resources>
  </featureExecutionScript>
  ...
  <featureExecutionScript>
    <name>default_Mediation_CreditAllocatedPostOcsCC</name>
    <resources>
      <link title="default_Mediation_CreditAllocatedPostOcsCC" href="http://localhost:8080/rem/sentinel/api/featureexecutionscripts/scripts/default_Mediation_CreditAllocatedPostOcsCC?rhinoInstanceId=Local&selectionKey=OpenCloud::::" rel="config"/>
    </resources>
  </featureExecutionScript>
</featureExecutionScripts>
  • The next and prev attributes contain the URLs for the next and previous pages of results.

  • The link entries contain the URLs for accessing the individual feature execution script resource entities.

Specifying content type

By default, the API accepts and returns application/xml, but also supports application/json. To request content in JSON format, simple set the http Accept request header to application/json.

For example:

{{wget --header='Accept: application/json' ...}}
for {{.../featureexecutionscripts/scripts/default_DirectAccess_SessionStart?rhinoInstanceId=Local&selectionKey=OpenCloud::::}}

returns a JSON object representing the requested feature execution script.

{"featureExecutionScript": {
  "name": "default_DirectAccess_SessionStart",
  "src": "featurescript OnSessionStart { if not currentNextStep.refuseDialog and not currentNextStep.relayDialog { run AcceptCamelVoiceV1V2V3 } }"
}}

Result codes and error responses

The Provisioning REST API returns the following Result codes and Error responses

Result codes

The API returns these codes

Result code

Description

200 OK

The request to list or retrieve a record was successful

201 Created

The record posted was successfully created

204 No Content

The update or delete operation was successful

400 Bad Request

Incorrectly configured request. Check the response body for specific error information

401 Unauthorized

The request was not authorized. Check that the username and password are correct in the request

404 Not Found

The requested resource could not be found. Check the response body for specific error information

406 Not Acceptable

The requested media type is not supported

500 Internal Server Error

An internal error occurred while processing the request. Check the response body for specific error information

Error responses

You can find more information for result codes 400, 404, and 500 in an error response entity in the response body, in the requested content type (XML or JSON). For example:

XML

<error>
    <type>...</type>
    <message>...</message>
</error>

JSON

{
    "type": "...",
    "message": "..."
}

Here are the possible responses:

Error type

Associated Result Code

Description

CollectionNotFound

404 Not Found

The collection/table/scope containing the requested entity could not be found

EntityNotFound

404 Not Found

The requested entity could not be found

EntityMissing

400 Bad Request

Post request did not contain an entity in the request body

EntityAlreadyExists

400 Bad Request

Post request attempted to create an entity that already exists

RequiredParameterMissing

400 Bad Request

A required query parameter was not provided

ParameterInvalid

400 Bad Request

One of the query parameters provided was invalid

RequestInconsistent

400 Bad Request

Put request attempted to update an entity with an id/name in the request body that didn’t match the id/name in the URL

ServerError

500 Internal Server Error

An internal error occurred while processing the request

PageNotFound

404 Not Found

The requested page of the paged resource listing could not be found

NotAcceptable

406 Not Acceptable

Requested media type is not supported (XML-only response, since media type could not be determined)

Provisioning MMTel subscriber data using the provisioning API

The HSS Data and Data Configuration REST API provides a RESTFul API allowing a users Supplementary Service data and IMS Operator Determined Barring data to be provisioned. The provisioned data is stored in two documents in the HSS, using Sh Transparent data.

The API defines Create, Read, Update and Delete (C,R,U,D) operations. It maps REST C,R,U,D operations into Diameter Sh operations that manipulate XML documents stored in the HSS. These documents are the:

  • MMTel-Services document, according to section 7 of 3GPP TS 29.364 Rel 12,

  • IMS-ODB-Information document, according to section 10 of 3GPP TS 29.364 Rel 12

The XML schema for both of these documents is available, see MMTel standard schema.

Overview of the API

Specific elements in the MMTel-Services document and IMS-ODB-Information documents (stored in the HSS, accessed via Diameter Sh) are mapped to "fields" in the returned document via this API. There is a default mapping, configured through the use of the sentinel-volte-mappings-config tool described in Populate XCAP server settings and MMTel service data.

The mappings added by this tool are documented:

A visual way to view the result of the mappings is to Load or view transparent data for an IMS public identity.

Users can modify the API server configuration in order to introduce additional XML schemas with their own Service Indication. The sentinel-volte-mappings-config tool uses a REST API to provide the default mappings/configuration. Note: in versions of Sentinel VoLTE prior to the 2.7.0.x series, only the MMTel-Services document was configured by default in the previously named volte-sentinel-mappings-config tool.

The subscriber’s own Data when passed to and from the API is framed according to the form described in HssSubscriberData.

The framing is either JSON or XML. When reading from the API (e.g a Read operation), the framing is selected by use of the Accept header. It is either:

  • Accept: application/json - for JSON framed data, or

  • Accept: application/xml - for XML framed data

When writing to the API (e.g. a Create or Update operation) the framing is indicated to the API by use of the Content-Type header. It is either:

  • Content-Type: application/json - for JSON framed data, or

  • Content-Type: application/xml - for XML framed data

The details of the Create, Read, Update and Delete operations are described in the /hssdata/subscriberdata section.

The operations take several parameters:

  • The imsUserIdentity parameter is the IMS public identity that will be read during SIP Session processing, or accessed via the Ut interface.

  • The rhinoInstanceId parameter is the name/instance of the Rhino cluster that is being connected to (as defined in REM). This cluster stores settings that are used by the Provisioning API.

  • The selectionKey parameter - typically defines the Platform Operator Name used for the install of the form $PLATFORM_OPERATOR_NAME$::::

About Update

The Update operation requires that a whole document is provided by the API client. It is not a "delta" operation, whereby only certain attributes or elements are identified for update - the entire document needs to be included. If a partial document is provided to the Update operation, it is treated by the Server as though any elements not provided to the Update operation are set to:

  • xsi:nil="true" (for XML), or

  • null (for JSON)

A single API Update operation can modify one or more documents in the HSS via Diameter Sh. The HSS document to update is controlled by the serviceIndication in the client provided document.

API Attributes

The following two tables list all of the field attributes valid for their respective service indications.

MMTEL-Services
Name Type Required Description

OIP Active:

java.​lang.​Boolean

false

Whether or not Originating Identity Presentation is active for this user. Refer to the documentation for use of the ''unset'' flag

OIP Authorized:

java.​lang.​Boolean

true

Whether or not Originating Identity Presentation is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

OIR Active:

java.​lang.​Boolean

false

Whether or not Originating Identity Presentation Restriction is active for this user. Refer to the documentation for use of the ''unset'' flag

OIR Authorized:

java.​lang.​Boolean

true

Whether or not Originating Identity Presentation Restriction is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

OIR Default Behaviour:

com.​opencloud.​volte.​sentinel.​simservs.​xcap.​OriginatingIdentityPresentationRestriction$​DefaultBehaviourType

false

Default behaviour value

TIR Default Behaviour:

com.​opencloud.​volte.​sentinel.​simservs.​xcap.​TerminatingIdentityPresentationRestriction$​DefaultBehaviourType

false

Default behaviour value

TIP Active:

java.​lang.​Boolean

false

Whether or not Terminating Identity Presentation is active for this user. Refer to the documentation for use of the ''unset'' flag

TIP Authorized:

java.​lang.​Boolean

true

Whether or not Terminating Identity Presentation is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

TIR Active:

java.​lang.​Boolean

false

Whether or not Terminating Identity Presentation Restriction is active for this user. Refer to the documentation for use of the ''unset'' flag

TIR Authorized:

java.​lang.​Boolean

true

Whether or not Terminating Identity Presentation Restriction is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

ICB Active:

java.​lang.​Boolean

false

Whether or not Incoming Communication Barring is active for this user. Refer to the documentation for use of the ''unset'' flag

ICB Authorized:

java.​lang.​Boolean

true

Whether or not Incoming Communication Barring is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

OCB Active:

java.​lang.​Boolean

false

Whether or not Outgoing Communication Barring is active for this user. Refer to the documentation for use of the ''unset'' flag

OCB Authorized:

java.​lang.​Boolean

true

Whether or not Outgoing Communication Barring is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

CW Active:

java.​lang.​Boolean

false

Whether or not Communication Waiting is active for this user. Refer to the documentation for use of the ''unset'' flag

CW Authorized:

java.​lang.​Boolean

true

Whether or not Communication Waiting is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

CDIV Active:

java.​lang.​Boolean

false

Whether or not Communication Diversion is active for this user. Refer to the documentation for use of the ''unset'' flag

CDIV Authorized:

java.​lang.​Boolean

true

Whether or not Communication Diversion is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

CDIV No Reply Timer:

java.​lang.​Integer

false

Communication Diversion no reply timer

CDIV Rules:

com.​opencloud.​volte.​sentinel.​common.​policy.​Ruleset

false

Communication Diversion rules

ICB Rules:

com.​opencloud.​volte.​sentinel.​common.​policy.​Ruleset

false

Incoming Communication Barring rules

OCB Rules:

com.​opencloud.​volte.​sentinel.​common.​policy.​Ruleset

false

Outgoing Communication Barring rules

Flexible Alerting Group Type:

com.​opencloud.​volte.​sentinel.​simservs.​xcap.​OperatorFlexibleAlertingGroup$​GroupType

false

Either: "single user" (pilot number busy if one member is busy), or "multiple-users" (pilot number busy when all members are busy). This field is present in the Operator Data, therefore subscribers are not allowed to change it.

Flexible Alerting Membership Type:

com.​opencloud.​volte.​sentinel.​simservs.​xcap.​OperatorFlexibleAlertingGroup$​MembershipType

false

Whether a member are allowed or not to unsubscribe from the group. 'Permanent' means not allowed. The Membership Type is present in the Operator Data, meaning that the subscriber are not allowed to change it.

Flexible Alerting Group Members:

com.​opencloud.​volte.​sentinel.​simservs.​xcap.​OperatorFlexibleAlertingGroup$​Members

false

The members identities that belong to this group. The Flexible Alerting Group Members are present in the Operator Data, meaning that the subscriber are not allowed to change it.

Flexible Alerting Pilot Number:

com.​opencloud.​volte.​sentinel.​common.​policy.​IdentityType

false

The URI that defines the group. The Flexible Alerting Pilot Number is present in the Operator Data, meaning that the subscriber are not allowed to change it.

Flexible Alerting Group Authorized:

java.​lang.​Boolean

false

Whether or not Flexible Alerting is authorized for this group. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

Flexible Alerting Authorized:

java.​lang.​Boolean

false

Whether or not Flexible Alerting is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

Explicit Communication Transfer Authorized:

java.​lang.​Boolean

true

Whether or not Explicit Communication Transfer is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

Operator CDIV Rules:

com.​opencloud.​volte.​sentinel.​common.​policy.​Ruleset

false

Operator Communication Diversion rules. These rules are present in the Operator Data, meaning that the subscriber is not allowed to change them.

Operator CDIV Maximum Diversion Count:

java.​math.​BigInteger

true

Operator Communication Diversion maximum diversion count. This value is present in the Operator Data, meaning that the subscriber is not allowed to change it.

Operator CDIV No Reply Timer:

java.​lang.​Integer

true

Operator Communication Diversion no reply timer. This value is present in the Operator Data, meaning that the subscriber is not allowed to change it.

Hold Authorized:

java.​lang.​Boolean

true

Whether or not Communication Hold is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

Conferencing Authorized:

java.​lang.​Boolean

true

Whether or not Conferencing is authorized for this user. The Authorized indicator is present in the Operator Data, so it is not visible to the subscriber.

IMS-ODB-Information
Name Type Required Description

Outgoing barring condition:

java.​lang.​Short

false

Set the condition for outgoing barring

Incoming barring condition:

java.​lang.​Short

false

Set the condition for incoming barring

Barring of roaming condition:

java.​lang.​Short

false

Set the condition for barring of roaming

Bar premium rate communications information:

java.​lang.​Boolean

false

Set the condition for outgoing barring of premium rate communication information

Bar premium rate calls information when roaming outside Hplmn country:

java.​lang.​Boolean

false

Set the condition for outgoing barring of premium rate communication information when roaming

Bar premium rate communications entertainment:

java.​lang.​Boolean

false

Set the condition for outgoing barring of premium rate communication entertainment

Bar premium rate calls entertainment when roaming outside Hplmn country:

java.​lang.​Boolean

false

Set the condition for outgoing barring of premium rate communication entertainment when roaming

Evaluate ruleset Type1:

java.​lang.​Boolean

false

Activate/Deactivate processing barring ruleset type1

Evaluate ruleset Type2:

java.​lang.​Boolean

false

Activate/Deactivate processing barring ruleset type2

Evaluate ruleset Type3:

java.​lang.​Boolean

false

Activate/Deactivate processing barring ruleset type3

Evaluate ruleset Type4:

java.​lang.​Boolean

false

Activate/Deactivate processing barring ruleset type4

Barring of supplementary services management:

java.​lang.​Boolean

false

Set the condition to bar the supplementary services management

Diverted to address registration barring:

java.​lang.​Short

false

Set the condition to bar the registration of diverted address

Simple invocation of communication transfer barring:

java.​lang.​Short

false

Set the condition to bar a communication transfer

Multiple invocation of communication transfer barring:

java.​lang.​Boolean

false

Set the condition to bar multiple communication transfer

Invocation of chargeable communication transfer barring:

java.​lang.​Boolean

false

Set the condition to bar a chargeable communication transfer

Create Examples

The Create API takes the user’s IMPU from the provided document. It is the only API call that does not include the user’s IMPU in the query URI. It returns a Location header containing the URI for further accessing the user’s data. This location is the URI for the other operations, such as Read, Update and Delete.

The create operation operates on one IMPU at a time.

Data in a file instead of inline

In the create examples, the curl utility is used. Data is provided inline in these examples, such that they can be copy/pasted to a command-line.

This has the side effect of making the command look more complex, as it is now a "long string" entered as a single command.

The curl utility allows the data to be used for an HTTP operation to be specified in a file, rather than provided inline. So rather than using --data 'data-goes-here' portion of the commands, it’s recommended to use --data-binary "@/path/to/filename". The reason to use --data-binary is because when curl handles data using --data it will strip newlines …​ yet newlines can make documents (more) humanly readable!

Creating a users Transparent Data

In this example:

  • the imsUserIdentity is sip:+6505550201@example.com - it is specified in the request body

  • the HTTP Request Method is POST

  • the user does not have Sh Transparent data

  • the rhinoInstanceId is Local

  • the selectionKey is Metaswitch::::

  • the requested framing format is JSON

  • the username is username

  • the password is password

  • the server is located on localhost running on port 8080

This example creates two documents in the HSS from a single HTTP request. These are MMTel-Services, and IMS-ODB-Information documents.

Request Body with manual formatting for ease of viewing

{"identity":"sip:+6505550201@example.com",
 "fieldGroups":[
     {"serviceIndication":"MMTEL-Services",
         "fields":[
             {"name":"OIP Active:","value":"true"},
             {"name":"OIP Authorized:","value":"true"},
             {"name":"OIR Active:","value":"true"},
             {"name":"OIR Authorized:","value":"true"},
             {"name":"OIR Default Behaviour:","value":"presentation-not-restricted"},
             {"name":"TIR Default Behaviour:","value":"presentation-not-restricted"},
             {"name":"TIP Active:","value":"true"},
             {"name":"TIP Authorized:","value":"true"},
             {"name":"TIR Active:","value":"true"},
             {"name":"TIR Authorized:","value":"true"},
             {"name":"ICB Active:","value":"false"},
             {"name":"ICB Authorized:","value":"false"},
             {"name":"OCB Active:","value":"false"},
             {"name":"OCB Authorized:","value":"true"},
             {"name":"CW Active:","value":"false"},
             {"name":"CW Authorized:","value":"true"},
             {"name":"CDIV Active:","value":"false"},
             {"name":"CDIV Authorized:","value":"true"},
             {"name":"CDIV No Reply Timer:","value":"60"},
             {"name":"CDIV Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},
             {"name":"ICB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},
             {"name":"OCB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},
             {"name":"Flexible Alerting Group Type:","value":null},
             {"name":"Flexible Alerting Membership Type:","value":null},
             {"name":"Flexible Alerting Group Members:","value":null},
             {"name":"Flexible Alerting Pilot Number:","value":null},
             {"name":"Flexible Alerting Group Authorized:","value":null},
             {"name":"Flexible Alerting Authorized:","value":"true"},
             {"name":"Explicit Communication Transfer Authorized:","value":"true"},
             {"name":"Operator CDIV Rules:","value":null},
             {"name":"Operator CDIV Maximum Diversion Count:","value":null},
             {"name":"Operator CDIV No Reply Timer:","value":null},
             {"name":"Hold Authorized:","value":"true"},
             {"name":"Conferencing Authorized:","value":"true"}
         ]
     },
     {"serviceIndication":"IMS-ODB-Information",
         "fields":[
             {"name":"Outgoing barring condition:","value":null},
             {"name":"Incoming barring condition:","value":null},
             {"name":"Barring of roaming condition:","value":null},
             {"name":"Bar premium rate communications information:","value":null},
             {"name":"Bar premium rate calls information when roaming outside Hplmn country:","value":null},
             {"name":"Bar premium rate communications entertainment:","value":null},
             {"name":"Bar premium rate calls entertainment when roaming outside Hplmn country:","value":null},
             {"name":"Evaluate ruleset Type1:","value":null},
             {"name":"Evaluate ruleset Type2:","value":null},
             {"name":"Evaluate ruleset Type3:","value":null},
             {"name":"Evaluate ruleset Type4:","value":null},
             {"name":"Barring of supplementary services management:","value":null},
             {"name":"Diverted to address registration barring:","value":null},
             {"name":"Simple invocation of communication transfer barring:","value":null},
             {"name":"Multiple invocation of communication transfer barring:","value":null},
             {"name":"Invocation of chargeable communication transfer barring:","value":null}
         ]
     }
 ]
}

Request using Curl

curl -H 'Accept: application/json' \
     -H 'Content-Type: application/json' \
     -i \
     -X POST \
     -u "username:password" \
     --data '{"identity":"sip:+6505550201@example.com","fieldGroups":[{"serviceIndication":"MMTEL-Services","fields":[{"name":"OIP Active:","value":"true"},{"name":"OIP Authorized:","value":"true"},{"name":"OIR Active:","value":"true"},{"name":"OIR Authorized:","value":"true"},{"name":"OIR Default Behaviour:","value":"presentation-not-restricted"},{"name":"TIR Default Behaviour:","value":"presentation-not-restricted"},{"name":"TIP Active:","value":"true"},{"name":"TIP Authorized:","value":"true"},{"name":"TIR Active:","value":"true"},{"name":"TIR Authorized:","value":"true"},{"name":"ICB Active:","value":"false"},{"name":"ICB Authorized:","value":"false"},{"name":"OCB Active:","value":"false"},{"name":"OCB Authorized:","value":"true"},{"name":"CW Active:","value":"false"},{"name":"CW Authorized:","value":"true"},{"name":"CDIV Active:","value":"false"},{"name":"CDIV Authorized:","value":"true"},{"name":"CDIV No Reply Timer:","value":"60"},{"name":"CDIV Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"ICB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"OCB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"Flexible Alerting Group Type:","value":null},{"name":"Flexible Alerting Membership Type:","value":null},{"name":"Flexible Alerting Group Members:","value":null},{"name":"Flexible Alerting Pilot Number:","value":null},{"name":"Flexible Alerting Group Authorized:","value":null},{"name":"Flexible Alerting Authorized:","value":"true"},{"name":"Explicit Communication Transfer Authorized:","value":"true"},{"name":"Operator CDIV Rules:","value":null},{"name":"Operator CDIV Maximum Diversion Count:","value":null},{"name":"Operator CDIV No Reply Timer:","value":null},{"name":"Hold Authorized:","value":"true"},{"name":"Conferencing Authorized:","value":"true"}]},{"serviceIndication":"IMS-ODB-Information","fields":[{"name":"Outgoing barring condition:","value":null},{"name":"Incoming barring condition:","value":null},{"name":"Barring of roaming condition:","value":null},{"name":"Bar premium rate communications information:","value":null},{"name":"Bar premium rate calls information when roaming outside Hplmn country:","value":null},{"name":"Bar premium rate communications entertainment:","value":null},{"name":"Bar premium rate calls entertainment when roaming outside Hplmn country:","value":null},{"name":"Evaluate ruleset Type1:","value":null},{"name":"Evaluate ruleset Type2:","value":null},{"name":"Evaluate ruleset Type3:","value":null},{"name":"Evaluate ruleset Type4:","value":null},{"name":"Barring of supplementary services management:","value":null},{"name":"Diverted to address registration barring:","value":null},{"name":"Simple invocation of communication transfer barring:","value":null},{"name":"Multiple invocation of communication transfer barring:","value":null},{"name":"Invocation of chargeable communication transfer barring:","value":null}]}]}' \
     "http://localhost:8080/rem/sentinel/api/hssdata/subscriberdata?rhinoInstanceId=Local&selectionKey=Metaswitch::::"

Response Headers

HTTP/1.1 100 Continue

HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=C4B52CB5E642165BDCB44DB8DDF595E6; Path=/rem/; HttpOnly
Location: http://54.206.118.127:8080/rem/sentinel/api/hssdata/subscriberdata/sip:+6505550201@example.com?rhinoInstanceId=Local&selectionKey=Metaswitch::::
Content-Length: 0
Date: Mon, 14 May 2018 02:24:36 GMT

Response Body

There is no response body

Note: when a field value contains an XML element, it is escaped as the value is defined as JSON string. As an example, any quote characters need to be escaped, newline characters are represented as \n.

Attempting to create a user that already has Transparent Data

This is the same as the previous example, but where the user already has Transparent data.

In this case the following response headers and body are observed.

Response headers

HTTP/1.1 100 Continue

HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
Content-Type: application/json
Transfer-Encoding: chunked
Date: Mon, 14 May 2018 02:28:01 GMT
Connection: close

Response body

{"type":"EntityAlreadyExists","message":"Subscriber data already exists for IMS user identity \"sip:+6505550201@example.com\" and selection key \"Metaswitch::::\""}

Read Examples

The read operation will request transparent data from the HSS for all the APIs configured Service-Indications. By default, these include MMTel-Services and IMS-ODB-Information.

Read example using JSON

In this example:

  • the imsUserIdentity is sip:+6505550201@example.com - it is specified in the URI

  • the HTTP Request Method is GET

  • the rhinoInstanceId is Local

  • the selectionKey is Metaswitch::::

  • the requested framing format is JSON

  • the username is username

  • the password is password

  • the server is located on localhost running on port 8080

Request

curl -H 'Accept: application/json' \
     -i \
     -X GET \
     -u "username:password" \
     "http://localhost:8080/rem/sentinel/api/hssdata/subscriberdata/sip:+6505550201@example.com?rhinoInstanceId=Local&selectionKey=Metaswitch::::"

Response Header

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 10 May 2018 05:13:44 GMT

Response Body

{"identity":"sip:+6505550201@example.com","fieldGroups":[{"serviceIndication":"MMTEL-Services","fields":[{"name":"OIP Active:","value":"true"},{"name":"OIP Authorized:","value":"true"},{"name":"OIR Active:","value":"true"},{"name":"OIR Authorized:","value":"true"},{"name":"OIR Default Behaviour:","value":"presentation-not-restricted"},{"name":"TIR Default Behaviour:","value":"presentation-not-restricted"},{"name":"TIP Active:","value":"true"},{"name":"TIP Authorized:","value":"true"},{"name":"TIR Active:","value":"true"},{"name":"TIR Authorized:","value":"true"},{"name":"ICB Active:","value":"false"},{"name":"ICB Authorized:","value":"false"},{"name":"OCB Active:","value":"false"},{"name":"OCB Authorized:","value":"true"},{"name":"CW Active:","value":"false"},{"name":"CW Authorized:","value":"true"},{"name":"CDIV Active:","value":"false"},{"name":"CDIV Authorized:","value":"true"},{"name":"CDIV No Reply Timer:","value":"60"},{"name":"CDIV Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"ICB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"OCB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"Flexible Alerting Group Type:","value":null},{"name":"Flexible Alerting Membership Type:","value":null},{"name":"Flexible Alerting Group Members:","value":null},{"name":"Flexible Alerting Pilot Number:","value":null},{"name":"Flexible Alerting Group Authorized:","value":null},{"name":"Flexible Alerting Authorized:","value":"true"},{"name":"Explicit Communication Transfer Authorized:","value":"true"},{"name":"Operator CDIV Rules:","value":null},{"name":"Operator CDIV Maximum Diversion Count:","value":null},{"name":"Operator CDIV No Reply Timer:","value":null},{"name":"Hold Authorized:","value":"true"},{"name":"Conferencing Authorized:","value":"true"}]},{"serviceIndication":"IMS-ODB-Information","fields":[{"name":"Outgoing barring condition:","value":null},{"name":"Incoming barring condition:","value":null},{"name":"Barring of roaming condition:","value":null},{"name":"Bar premium rate communications information:","value":null},{"name":"Bar premium rate calls information when roaming outside Hplmn country:","value":null},{"name":"Bar premium rate communications entertainment:","value":null},{"name":"Bar premium rate calls entertainment when roaming outside Hplmn country:","value":null},{"name":"Evaluate ruleset Type1:","value":null},{"name":"Evaluate ruleset Type2:","value":null},{"name":"Evaluate ruleset Type3:","value":null},{"name":"Evaluate ruleset Type4:","value":null},{"name":"Barring of supplementary services management:","value":null},{"name":"Diverted to address registration barring:","value":null},{"name":"Simple invocation of communication transfer barring:","value":null},{"name":"Multiple invocation of communication transfer barring:","value":null},{"name":"Invocation of chargeable communication transfer barring:","value":null}]}]}

Response Body with manual format editing for ease of viewing

{"identity":"sip:+6505550201@example.com",
 "fieldGroups":[
     {"serviceIndication":"MMTEL-Services",
         "fields":[
             {"name":"OIP Active:","value":"true"},
             {"name":"OIP Authorized:","value":"true"},
             {"name":"OIR Active:","value":"true"},
             {"name":"OIR Authorized:","value":"true"},
             {"name":"OIR Default Behaviour:","value":"presentation-not-restricted"},
             {"name":"TIR Default Behaviour:","value":"presentation-not-restricted"},
             {"name":"TIP Active:","value":"true"},
             {"name":"TIP Authorized:","value":"true"},
             {"name":"TIR Active:","value":"true"},
             {"name":"TIR Authorized:","value":"true"},
             {"name":"ICB Active:","value":"false"},
             {"name":"ICB Authorized:","value":"false"},
             {"name":"OCB Active:","value":"false"},
             {"name":"OCB Authorized:","value":"true"},
             {"name":"CW Active:","value":"false"},
             {"name":"CW Authorized:","value":"true"},
             {"name":"CDIV Active:","value":"false"},
             {"name":"CDIV Authorized:","value":"true"},
             {"name":"CDIV No Reply Timer:","value":"60"},
             {"name":"CDIV Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},
             {"name":"ICB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},
             {"name":"OCB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},
             {"name":"Flexible Alerting Group Type:","value":null},
             {"name":"Flexible Alerting Membership Type:","value":null},
             {"name":"Flexible Alerting Group Members:","value":null},
             {"name":"Flexible Alerting Pilot Number:","value":null},
             {"name":"Flexible Alerting Group Authorized:","value":null},
             {"name":"Flexible Alerting Authorized:","value":"true"},
             {"name":"Explicit Communication Transfer Authorized:","value":"true"},
             {"name":"Operator CDIV Rules:","value":null},
             {"name":"Operator CDIV Maximum Diversion Count:","value":null},
             {"name":"Operator CDIV No Reply Timer:","value":null},
             {"name":"Hold Authorized:","value":"true"},
             {"name":"Conferencing Authorized:","value":"true"}
         ]
     },
     {"serviceIndication":"IMS-ODB-Information",
         "fields":[
             {"name":"Outgoing barring condition:","value":null},
             {"name":"Incoming barring condition:","value":null},
             {"name":"Barring of roaming condition:","value":null},
             {"name":"Bar premium rate communications information:","value":null},
             {"name":"Bar premium rate calls information when roaming outside Hplmn country:","value":null},
             {"name":"Bar premium rate communications entertainment:","value":null},
             {"name":"Bar premium rate calls entertainment when roaming outside Hplmn country:","value":null},
             {"name":"Evaluate ruleset Type1:","value":null},
             {"name":"Evaluate ruleset Type2:","value":null},
             {"name":"Evaluate ruleset Type3:","value":null},
             {"name":"Evaluate ruleset Type4:","value":null},
             {"name":"Barring of supplementary services management:","value":null},
             {"name":"Diverted to address registration barring:","value":null},
             {"name":"Simple invocation of communication transfer barring:","value":null},
             {"name":"Multiple invocation of communication transfer barring:","value":null},
             {"name":"Invocation of chargeable communication transfer barring:","value":null}
         ]
     }
 ]
}

Note: when a field value contains an XML element, it is escaped as the value is defined as JSON string. As an example, any quote characters need to be escaped, newline characters are represented as \n.

Read for an IMPU with no Sh Transparent Data

In this example:

  • the imsUserIdentity is sip:+6505550201@example.com - it is specified in the URI

  • the HTTP Request Method is GET

  • the user does not have Sh Transparent data

  • the rhinoInstanceId is Local

  • the selectionKey is Metaswitch::::

  • the requested framing format is JSON

  • the username is username

  • the password is password

  • the server is located on localhost running on port 8080

Request

curl -H 'Accept: application/json' \
     -i \
     -X GET \
     -u "username:password" \
     "http://localhost:8080/rem/sentinel/api/hssdata/subscriberdata/sip:+6505550201@example.com?rhinoInstanceId=Local&selectionKey=Metaswitch::::"

Response Header

HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1
Content-Type: application/json
Transfer-Encoding: chunked
Date: Mon, 14 May 2018 02:09:39 GMT

Response Body

{"type":"EntityNotFound","message":"Subscriber data could not be found for IMS user identity \"sip:+6505550201@example.com\" and selection key \"Metaswitch::::\""}
Read example using XML

In this example:

  • the imsUserIdentity is sip:+6505550201@example.com - it is specified in the URI

  • the HTTP Request Method is GET

  • the rhinoInstanceId is Local

  • the selectionKey is Metaswitch::::

  • the requested framing format is XML

  • the username is username

  • the password is password

  • the server is located on localhost running on port 8080

Request

curl -H 'Accept: application/xml' \
     -i \
     -X GET \
     -u "username:password" \
     "http://localhost:8080/rem/sentinel/api/hssdata/subscriberdata/sip:+6505550201@example.com?rhinoInstanceId=Local&selectionKey=Metaswitch::::"

Response Header

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/xml
Content-Length: 5943
Date: Thu, 10 May 2018 23:46:59 GMT

Response Body

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><hssSubscriberData><identity>sip:+6505550201@example.com</identity><fieldGroups><fieldGroup><serviceIndication>MMTEL-Services</serviceIndication><fields><field><name>OIP Active:</name><value>true</value></field><field><name>OIP Authorized:</name><value>true</value></field><field><name>OIR Active:</name><value>true</value></field><field><name>OIR Authorized:</name><value>true</value></field><field><name>OIR Default Behaviour:</name><value>presentation-not-restricted</value></field><field><name>TIR Default Behaviour:</name><value>presentation-not-restricted</value></field><field><name>TIP Active:</name><value>true</value></field><field><name>TIP Authorized:</name><value>true</value></field><field><name>TIR Active:</name><value>true</value></field><field><name>TIR Authorized:</name><value>true</value></field><field><name>ICB Active:</name><value>false</value></field><field><name>ICB Authorized:</name><value>true</value></field><field><name>OCB Active:</name><value>false</value></field><field><name>OCB Authorized:</name><value>true</value></field><field><name>CW Active:</name><value>false</value></field><field><name>CW Authorized:</name><value>true</value></field><field><name>CDIV Active:</name><value>false</value></field><field><name>CDIV Authorized:</name><value>true</value></field><field><name>CDIV No Reply Timer:</name><value>60</value></field><field><name>CDIV Rules:</name><value>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt:
&lt;cp:ruleset xmlns=&quot;http://uri.etsi.org/ngn/params/xml/simservs/xcap&quot; xmlns:ocp=&quot;urn:oma:xml:xdm:common-policy&quot; xmlns:cp=&quot;urn:ietf:params:xml:ns:common-policy&quot;/&gt;
</value></field><field><name>ICB Rules:</name><value>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;
&lt;cp:ruleset xmlns=&quot;http://uri.etsi.org/ngn/params/xml/simservs/xcap&quot; xmlns:ocp=&quot;urn:oma:xml:xdm:common-policy&quot; xmlns:cp=&quot;urn:ietf:params:xml:ns:common-policy&quot;/&gt;
</value></field><field><name>OCB Rules:</name><value>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;
&lt;cp:ruleset xmlns=&quot;http://uri.etsi.org/ngn/params/xml/simservs/xcap&quot; xmlns:ocp=&quot;urn:oma:xml:xdm:common-policy&quot; xmlns:cp=&quot;urn:ietf:params:xml:ns:common-policy&quot;/&gt;
</value></field><field><name>Flexible Alerting Group Type:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><</field><field><name>Flexible Alerting Membership Type:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Flexible Alerting Group Members:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Flexible Alerting Pilot Number:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Flexible Alerting Group Authorized:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Flexible Alerting Authorized:</name><value>true</value></field><field><name>Explicit Communication Transfer Authorized:</name><value>true</value></field><field><name>Operator CDIV Rules:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Operator CDIV Maximum Diversion Count:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Operator CDIV No Reply Timer:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field></fields></fieldGroup><fieldGroup><serviceIndication>IMS-ODB-Information</serviceIndication><fields><field><name>Outgoing barring condition:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Incoming barring condition:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Barring of roaming condition:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Bar premium rate communications information:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Bar premium rate calls information when roaming outside Hplmn country:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Bar premium rate communications entertainment:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Bar premium rate calls entertainment when roaming outside Hplmn country:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Evaluate ruleset Type1:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Evaluate ruleset Type2:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Evaluate ruleset Type3:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Evaluate ruleset Type4:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Barring of supplementary services management:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Diverted to address registration barring:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Simple invocation of communication transfer barring:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Multiple invocation of communication transfer barring:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field><field><name>Invocation of chargeable communication transfer barring:</name><value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/></field></fields></fieldGroup></fieldGroups></hssSubscriberData>

Response Body with manual format editing for ease of viewing

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<hssSubscriberData>
    <identity>sip:+6505550201@example.com</identity>
    <fieldGroups>
        <fieldGroup>
        <serviceIndication>MMTEL-Services</serviceIndication>
            <fields>
                <field>
                    <name>OIP Active:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>OIP Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>OIR Active:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>OIR Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>OIR Default Behaviour:</name>
                    <value>presentation-not-restricted</value>
                </field>
                <field>
                    <name>TIR Default Behaviour:</name>
                    <value>presentation-not-restricted</value>
                </field>
                <field>
                    <name>TIP Active:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>TIP Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>TIR Active:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>TIR Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>ICB Active:</name>
                    <value>false</value>
                </field>
                <field>
                    <name>ICB Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>OCB Active:</name>
                    <value>false</value>
                </field>
                <field>
                    <name>OCB Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>CW Active:</name>
                    <value>false</value>
                </field>
                <field>
                    <name>CW Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>CDIV Active:</name>
                    <value>false</value>
                </field>
                <field>
                    <name>CDIV Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>CDIV No Reply Timer:</name>
                    <value>60</value>
                </field>
                <field>
                    <name>CDIV Rules:</name>
                    <value>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt:&lt;cp:ruleset xmlns=&quot;http://uri.etsi.org/ngn/params/xml/simservs/xcap&quot; xmlns:ocp=&quot;urn:oma:xml:xdm:common-policy&quot; xmlns:cp=&quot;urn:ietf:params:xml:ns:common-policy&quot;/&gt;</value>
                </field>
                <field>
                    <name>ICB Rules:</name>
                    <value>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&lt;cp:ruleset xmlns=&quot;http://uri.etsi.org/ngn/params/xml/simservs/xcap&quot; xmlns:ocp=&quot;urn:oma:xml:xdm:common-policy&quot; xmlns:cp=&quot;urn:ietf:params:xml:ns:common-policy&quot;/&gt;</value>
                </field>
                <field>
                    <name>OCB Rules:</name>
                    <value>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&lt;cp:ruleset xmlns=&quot;http://uri.etsi.org/ngn/params/xml/simservs/xcap&quot; xmlns:ocp=&quot;urn:oma:xml:xdm:common-policy&quot; xmlns:cp=&quot;urn:ietf:params:xml:ns:common-policy&quot;/&gt;</value>
                </field>
                <field>
                     <name>Flexible Alerting Group Type:</name>
                     <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><
                </field>
                <field>
                    <name>Flexible Alerting Membership Type:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Flexible Alerting Group Members:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Flexible Alerting Pilot Number:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Flexible Alerting Group Authorized:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Flexible Alerting Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>Explicit Communication Transfer Authorized:</name>
                    <value>true</value>
                </field>
                <field>
                    <name>Operator CDIV Rules:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Operator CDIV Maximum Diversion Count:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Operator CDIV No Reply Timer:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
            </fields>
        </fieldGroup>
        <fieldGroup>
        <serviceIndication>IMS-ODB-Information</serviceIndication>
            <fields>
                <field>
                    <name>Outgoing barring condition:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Incoming barring condition:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Barring of roaming condition:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Bar premium rate communications information:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Bar premium rate calls information when roaming outside Hplmn country:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Bar premium rate communications entertainment:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Bar premium rate calls entertainment when roaming outside Hplmn country:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Evaluate ruleset Type1:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Evaluate ruleset Type2:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Evaluate ruleset Type3:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Evaluate ruleset Type4:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                   <name>Barring of supplementary services management:</name>
                   <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Diverted to address registration barring:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Simple invocation of communication transfer barring:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Multiple invocation of communication transfer barring:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
                <field>
                    <name>Invocation of chargeable communication transfer barring:</name>
                    <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
                </field>
            </fields>
        </fieldGroup>
    </fieldGroups>
</hssSubscriberData>

Note: When an XML element from the HSS is returned inside a "value" XML element, the API has to encode the HSS’s XML element as type xs:string. This means that elements such as the following occur.

<field>
    <name>OCB Rules:</name>
    <value>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&lt;cp:ruleset xmlns=&quot;http://uri.etsi.org/ngn/params/xml/simservs/xcap&quot; xmlns:ocp=&quot;urn:oma:xml:xdm:common-policy&quot; xmlns:cp=&quot;urn:ietf:params:xml:ns:common-policy&quot;/&gt;</value>
</field>

Update Examples

Note: the examples here provide data in-line. It may be preferable to have data provided via a file. See Data in a file instead of inline.

Update of IMS ODB Information using JSON

In this example, a users IMS ODB Information is set to bar outgoing calls to international destinations, excluding the home country.

This example sets:

  • the Service Indication to "IMS-ODB-Information" - (serviceIndication in the document)

  • a value of "2" in the OutgoingBarring element in the OdbForImsOrientedServices document - an example of an XML document over the Sh interface is provided Bar all outgoing communications when international ex-hplmnc

  • all other portions of the document are also provided - in this case they are explicitly set to null.

Request Body with manual formatting for ease of viewing

{"identity":"sip:+6505550201@example.com",
 "fieldGroups":[
     {"serviceIndication":"IMS-ODB-Information",
     "fields":[
         {"name":"Outgoing barring condition:","value":"2"},
         {"name":"Incoming barring condition:","value":null},
         {"name":"Barring of roaming condition:","value":null},
         {"name":"Bar premium rate communications information:","value":null},
         {"name":"Bar premium rate calls information when roaming outside Hplmn country:","value":null},
         {"name":"Bar premium rate communications entertainment:","value":null},
         {"name":"Bar premium rate calls entertainment when roaming outside Hplmn country:","value":null},
         {"name":"Evaluate ruleset Type1:","value":null},
         {"name":"Evaluate ruleset Type2:","value":null},
         {"name":"Evaluate ruleset Type3:","value":null},
         {"name":"Evaluate ruleset Type4:","value":null},
         {"name":"Barring of supplementary services management:","value":null},
         {"name":"Diverted to address registration barring:","value":null},
         {"name":"Simple invocation of communication transfer barring:","value":null},
         {"name":"Multiple invocation of communication transfer barring:","value":null},
         {"name":"Invocation of chargeable communication transfer barring:","value":null}
     ]
     }
 ]
}

Request using Curl

curl -H 'Accept: application/json' \
     -H 'Content-Type: application/json' \
     -i \
     -X PUT \
     -u "username:password" \
     --data '{"identity":"sip:+6505550201@example.com","fieldGroups":[{"serviceIndication":"IMS-ODB-Information","fields":[{"name":"Outgoing barring condition:","value":"2"},{"name":"Incoming barring condition:","value":null},{"name":"Barring of roaming condition:","value":null},{"name":"Bar premium rate communications information:","value":null},{"name":"Bar premium rate calls information when roaming outside Hplmn country:","value":null},{"name":"Bar premium rate communications entertainment:","value":null},{"name":"Bar premium rate calls entertainment when roaming outside Hplmn country:","value":null},{"name":"Evaluate ruleset Type1:","value":null},{"name":"Evaluate ruleset Type2:","value":null},{"name":"Evaluate ruleset Type3:","value":null},{"name":"Evaluate ruleset Type4:","value":null},{"name":"Barring of supplementary services management:","value":null},{"name":"Diverted to address registration barring:","value":null},{"name":"Simple invocation of communication transfer barring:","value":null},{"name":"Multiple invocation of communication transfer barring:","value":null},{"name":"Invocation of chargeable communication transfer barring:","value":null}]}]}' \
     "http://localhost:8080/rem/sentinel/api/hssdata/subscriberdata/sip:+6505550201@example.com?rhinoInstanceId=Local&selectionKey=Metaswitch::::"

Response Header

HTTP/1.1 100 Continue

HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Date: Sun, 13 May 2018 21:53:43 GMT

Response Body

There is no response body
Update of CDIV rules using JSON

In this example, a users CDIV rules are set to the Unconditional rule, to always retarget to a specific number. The users CDIV Active flag is set to true so that diversion can occur.

Note that CDIV Rules are able to be modified by an end user. Therefore a workflow implemented in a provisioning system is expected to:

  • Read the existing document using the Read operation, and parse into an in-memory form

  • modify this in-memory document add the specific rule (into the existing set of rules),

  • Update the document using the Update operation

A read for a user with no CDIV rules set will return a document. A trimmed version of that document is show below, including the two relevant fields:

  1. CDIV Active

  2. CDIV Rules

{"identity":"sip:+6505550201@example.com",
 "fieldGroups":[
     {"serviceIndication":"MMTEL-Services",
         "fields":[

 .. trimmed some output of Read  ..

             {"name":"CDIV Active:","value":"false"},

             {"name":"CDIV Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},

.. trimmed some output of Read  ..
         ]
     },
 .. trimmed some output of Read ..
 ]
}

The existing value of CDIV Active is "false". In order for CDIV to divert the call, the new value shall be "true".

The existing value of CDIV Rules - after removal of JSON escaping is:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:ruleset xmlns="http://uri.etsi.org/ngn/params/xml/simservs/xcap" xmlns:ocp="urn:oma:xml:xdm:common-policy" xmlns:cp="urn:ietf:params:xml:ns:common-policy"/>

The desired value for this element according to the MMTel Services document schema is:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:ruleset xmlns="http://uri.etsi.org/ngn/params/xml/simservs/xcap" xmlns:ocp="urn:oma:xml:xdm:common-policy" xmlns:cp="urn:ietf:params:xml:ns:common-policy">
    <cp:rule id="unconditional">
        <cp:conditions>
        </cp:conditions>
        <cp:actions>
            <forward-to>
                <target>sip:+6505550202@example.com</target>
                <notify-caller>true</notify-caller>
            </forward-to>
        </cp:actions>
    </cp:rule>
</cp:ruleset>

The JSON string form of the XML document above (preserving whitespace) is:

"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\">\n    <cp:rule id=\"unconditional\">\n        <cp:conditions>\n        </cp:conditions>\n        <cp:actions>\n            <forward-to>\n                <target>sip:6505550202@example.com</target>\n                <notify-caller>true</notify-caller>\n            </forward-to>\n        </cp:actions>\n    </cp:rule>\n</cp:ruleset>\n"

Request Body with manual formatting for ease of viewing

{"identity":"sip:+6505550201@example.com",
 "fieldGroups":[
     {"serviceIndication":"MMTEL-Services",
         "fields":[
             {"name":"OIP Active:","value":"true"},
             {"name":"OIP Authorized:","value":"true"},
             {"name":"OIR Active:","value":"true"},
             {"name":"OIR Authorized:","value":"true"},
             {"name":"OIR Default Behaviour:","value":"presentation-not-restricted"},
             {"name":"TIR Default Behaviour:","value":"presentation-not-restricted"},
             {"name":"TIP Active:","value":"true"},
             {"name":"TIP Authorized:","value":"true"},
             {"name":"TIR Active:","value":"true"},
             {"name":"TIR Authorized:","value":"true"},
             {"name":"ICB Active:","value":"false"},
             {"name":"ICB Authorized:","value":"false"},
             {"name":"OCB Active:","value":"false"},
             {"name":"OCB Authorized:","value":"true"},
             {"name":"CW Active:","value":"false"},
             {"name":"CW Authorized:","value":"true"},
             {"name":"CDIV Active:","value":"true"},
             {"name":"CDIV Authorized:","value":"true"},
             {"name":"CDIV No Reply Timer:","value":"60"},
             {"name":"CDIV Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\">\n    <cp:rule id=\"unconditional\">\n        <cp:conditions>\n        </cp:conditions>\n        <cp:actions>\n            <forward-to>\n                <target>sip:+6505550202@example.com</target>\n                <notify-caller>true</notify-caller>\n            </forward-to>\n        </cp:actions>\n    </cp:rule>\n</cp:ruleset>\n"},
             {"name":"ICB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},
             {"name":"OCB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},
             {"name":"Flexible Alerting Group Type:","value":null},
             {"name":"Flexible Alerting Membership Type:","value":null},
             {"name":"Flexible Alerting Group Members:","value":null},
             {"name":"Flexible Alerting Pilot Number:","value":null},
             {"name":"Flexible Alerting Group Authorized:","value":null},
             {"name":"Flexible Alerting Authorized:","value":"true"},
             {"name":"Explicit Communication Transfer Authorized:","value":"true"},
             {"name":"Operator CDIV Rules:","value":null},
             {"name":"Operator CDIV Maximum Diversion Count:","value":null},
             {"name":"Operator CDIV No Reply Timer:","value":null},
             {"name":"Hold Authorized:","value":"true"},
             {"name":"Conferencing Authorized:","value":"true"}
         ]
     }
 ]
}

Request body without formatting

{"identity":"sip:+6505550201@example.com","fieldGroups":[{"serviceIndication":"MMTEL-Services","fields":[{"name":"OIP Active:","value":"true"},{"name":"OIP Authorized:","value":"true"},{"name":"OIR Active:","value":"true"},{"name":"OIR Authorized:","value":"true"},{"name":"OIR Default Behaviour:","value":"presentation-not-restricted"},{"name":"TIR Default Behaviour:","value":"presentation-not-restricted"},{"name":"TIP Active:","value":"true"},{"name":"TIP Authorized:","value":"true"},{"name":"TIR Active:","value":"true"},{"name":"TIR Authorized:","value":"true"},{"name":"ICB Active:","value":"false"},{"name":"ICB Authorized:","value":"false"},{"name":"OCB Active:","value":"false"},{"name":"OCB Authorized:","value":"true"},{"name":"CW Active:","value":"false"},{"name":"CW Authorized:","value":"true"},{"name":"CDIV Active:","value":"true"},{"name":"CDIV Authorized:","value":"true"},{"name":"CDIV No Reply Timer:","value":"60"},{"name":"CDIV Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\">\n    <cp:rule id=\"unconditional\">\n        <cp:conditions>\n        </cp:conditions>\n        <cp:actions>\n            <forward-to>\n                <target>sip:+6505550202@example.com</target>\n                <notify-caller>true</notify-caller>\n            </forward-to>\n        </cp:actions>\n    </cp:rule>\n</cp:ruleset>\n"},{"name":"ICB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"OCB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"Flexible Alerting Group Type:","value":null},{"name":"Flexible Alerting Membership Type:","value":null},{"name":"Flexible Alerting Group Members:","value":null},{"name":"Flexible Alerting Pilot Number:","value":null},{"name":"Flexible Alerting Group Authorized:","value":null},{"name":"Flexible Alerting Authorized:","value":"true"},{"name":"Explicit Communication Transfer Authorized:","value":"true"},{"name":"Operator CDIV Rules:","value":null},{"name":"Operator CDIV Maximum Diversion Count:","value":null},{"name":"Operator CDIV No Reply Timer:","value":null},{"name":"Hold Authorized:","value":"true"},{"name":"Conferencing Authorized:","value":"true"}]}]}

Request using Curl

curl -H 'Accept: application/json' \
     -H 'Content-Type: application/json' \
     -i \
     -X PUT \
     -u "username:password" \
     --data '{"identity":"sip:+6505550201@example.com","fieldGroups":[{"serviceIndication":"MMTEL-Services","fields":[{"name":"OIP Active:","value":"true"},{"name":"OIP Authorized:","value":"true"},{"name":"OIR Active:","value":"true"},{"name":"OIR Authorized:","value":"true"},{"name":"OIR Default Behaviour:","value":"presentation-not-restricted"},{"name":"TIR Default Behaviour:","value":"presentation-not-restricted"},{"name":"TIP Active:","value":"true"},{"name":"TIP Authorized:","value":"true"},{"name":"TIR Active:","value":"true"},{"name":"TIR Authorized:","value":"true"},{"name":"ICB Active:","value":"false"},{"name":"ICB Authorized:","value":"false"},{"name":"OCB Active:","value":"false"},{"name":"OCB Authorized:","value":"true"},{"name":"CW Active:","value":"false"},{"name":"CW Authorized:","value":"true"},{"name":"CDIV Active:","value":"true"},{"name":"CDIV Authorized:","value":"true"},{"name":"CDIV No Reply Timer:","value":"60"},{"name":"CDIV Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\">\n    <cp:rule id=\"unconditional\">\n        <cp:conditions>\n        </cp:conditions>\n        <cp:actions>\n            <forward-to>\n                <target>sip:+6505550202@example.com</target>\n                <notify-caller>true</notify-caller>\n            </forward-to>\n        </cp:actions>\n    </cp:rule>\n</cp:ruleset>\n"},{"name":"ICB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"OCB Rules:","value":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<cp:ruleset xmlns=\"http://uri.etsi.org/ngn/params/xml/simservs/xcap\" xmlns:ocp=\"urn:oma:xml:xdm:common-policy\" xmlns:cp=\"urn:ietf:params:xml:ns:common-policy\"/>\n"},{"name":"Flexible Alerting Group Type:","value":null},{"name":"Flexible Alerting Membership Type:","value":null},{"name":"Flexible Alerting Group Members:","value":null},{"name":"Flexible Alerting Pilot Number:","value":null},{"name":"Flexible Alerting Group Authorized:","value":null},{"name":"Flexible Alerting Authorized:","value":"true"},{"name":"Explicit Communication Transfer Authorized:","value":"true"},{"name":"Operator CDIV Rules:","value":null},{"name":"Operator CDIV Maximum Diversion Count:","value":null},{"name":"Operator CDIV No Reply Timer:","value":null},{"name":"Hold Authorized:","value":"true"},{"name":"Conferencing Authorized:","value":"true"}]}]}' \
     "http://localhost:8080/rem/sentinel/api/hssdata/subscriberdata/sip:+6505550201@example.com?rhinoInstanceId=Local&selectionKey=Metaswitch::::"

Response Header

HTTP/1.1 100 Continue

HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=B09687CA5DE7037230D0D8EBF04924E2; Path=/rem/; HttpOnly
Date: Sun, 13 May 2018 23:59:08 GMT

Response Body

There is no response body

Delete Examples

The delete operation will remove any Sh Transparent User Data document that the API is configured for, By default this means that both the IMS-ODB-Information and MMTel-Services documents are deleted.

Deleting a subscriber that has Sh Transparent Data

In this example:

  • the imsUserIdentity is sip:+6505550201@example.com - it is specified in the URI

  • the HTTP Request Method is DELETE

  • the rhinoInstanceId is Local

  • the selectionKey is Metaswitch::::

  • the requested framing format is JSON

  • the username is username

  • the password is password

  • the server is located on localhost running on port 8080

Request

curl -H 'Accept: application/json' \
     -i \
     -X DELETE \
     -u "username:password"
     "http://localhost:8080/rem/sentinel/api/hssdata/subscriberdata/sip:+6505550201@example.com?rhinoInstanceId=Local&selectionKey=Metaswitch::::"

Response headers

HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=A0944D87B81D23D8B9246CF994DE7067; Path=/rem/; HttpOnly
Date: Mon, 14 May 2018 01:57:15 GMT

Response body

There is no response body

Deleting a subscriber that has no Sh Transparent Data

In this example:

  • the imsUserIdentity is sip:+6505550201@example.com - it is specified in the URI

  • the HTTP Request Method is DELETE

  • there is no configured transparent data

  • the rhinoInstanceId is Local

  • the selectionKey is Metaswitch::::

  • the requested framing format is JSON

  • the username is username

  • the password is password

  • the server is located on localhost running on port 8080

Request

curl -H 'Accept: application/json' \
     -i
     -X DELETE \
     -u "username:password"
     "http://localhost:8080/rem/sentinel/api/hssdata/subscriberdata/sip:+6505550201@example.com?rhinoInstanceId=Local&selectionKey=Metaswitch::::"

Response headers

HTTP/1.1 404 Not Found
Server: Apache-Coyote/1.1
Content-Type: application/json
Transfer-Encoding: chunked
Date: Mon, 14 May 2018 01:57:27 GMT

Response body

{"type":"EntityNotFound","message":"Subscriber data could not be found for IMS user identity \"sip:+6505550201@example.com\" and selection key \"Metaswitch::::\""}

Configuring using simple tools and scripts

Many of the APIs available as part of this document allow configuration of the Sentinel VoLTE application and its internal components. Higher-level clients can be used to configure the application using the REST API from Java or other application code, but you really just need to be able to make HTTP requests. See these examples:

Adding a feature execution script with curl (XML)

Request

curl -H 'Accept: application/xml' \
     -H 'Content-Type: application/xml' \
     -i -w '\nHTTP STATUS: %{http_code}\nTIME: %{time_total}\n' \
     -X POST \
     -u "username:password" \
     -d "<featureExecutionScript><name>my_new_feature_script</name><src>featurescript newScript { }</src></featureExecutionScript>" \
     "http://localhost:8080/rem/sentinel/api/featureexecutionscripts/scripts?rhinoInstanceId=Local&selectionKey=OpenCloud::::"

Response

HTTP/1.1 201 Created
Date: Tue, 13 Sep 2011 20:42:15 GMT
Location: http://localhost:8080/rem/sentinel/api/featureexecutionscripts/scripts/my_new_feature_script?rhinoInstanceId=Local&selectionKey=OpenCloud::::
Content-Length: 0
Server: Jetty(6.1.24)

Turning on HomeZone for a subscriber using Ruby (JSON)

Note: this specific example is not relevant to the Sentinel VoLTE application as the Home Zone feature is not part of Sentinel VoLTE. This example is intended to show how Ruby can be used with the configuration API.

require 'rubygems'
require 'json'
require 'net/http'

Net::HTTP.start('localhost', '8080') {|http|
  req = Net::HTTP::Get.new('/rem/sentinel/api/subscriberdata/records/34600000003?rhinoInstanceId=Local&selectionKey=OpenCloud::::', {'Accept' => 'application/json'})
  req.basic_auth 'username', 'password'
  response = http.request(req)
  subscriber = JSON.parse(response.body)
  subscriber['subscriberData'].each {|item|
    if item['name'] == 'HomeZoneEnabled'
      item['valueBoolean'] = true;
    end
  }

  req = Net::HTTP::Put.new('/rem/sentinel/api/subscriberdata/records/34600000003?rhinoInstanceId=Local&selectionKey=OpenCloud::::', {'Content-Type' => 'application/json'})
  req.basic_auth 'username', 'password'
  response = http.request(req, JSON.generate(subscriber))
}

Activity Test REST API

Resource Activity Test

Resource

Activity Test

Workspace

Sentinel Services

Path

/activitytest

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/activitytest

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/activitytest/config

Operation

Create a new Activity Test Config entry

Request Method

POST

Path

/activitytest/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Activity Test Config entry or a listing of Activity Test Config entries

Request Method

GET

Path

/activitytest/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: ActivityTestConfig Otherwise: ActivityTestConfigs

Operation

Update an existing Activity Test Config entry

Request Method

PUT

Path

/activitytest/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Activity Test Config entry

Request Method

DELETE

Path

/activitytest/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
ActivityTestConfig

Class: com.opencloud.sentinel.provisioning.activitytest.ActivityTestConfig

JSON
{
  "type" : "object",
  "properties" : {
    "timerModeType" : {
      "type" : "string"
    },
    "fixedDuration" : {
      "type" : "number"
    },
    "chargingPeriodMultiple" : {
      "type" : "number"
    },
    "activityTestInvokeTimeout" : {
      "type" : "number"
    },
    "randomPeriod" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="activityTestConfig" type="ActivityTestConfigType"/>

  <xs:complexType name="ActivityTestConfigType">
    <xs:sequence>
      <xs:element name="timerModeType" type="xs:string" minOccurs="0"/>
      <xs:element name="fixedDuration" type="xs:long"/>
      <xs:element name="chargingPeriodMultiple" type="xs:double"/>
      <xs:element name="activityTestInvokeTimeout" type="xs:long"/>
      <xs:element name="randomPeriod" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
ActivityTestConfigs

Class: com.opencloud.sentinel.rest.server.resources.activitytest.ActivityTestConfigResource$ActivityTestConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="activityTestConfig" type="ActivityTestConfigsEntryType"/>

  <xs:element name="activityTestConfigs" type="ActivityTestConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="ActivityTestConfigsType">
    <xs:sequence>
      <xs:element ref="activityTestConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="ActivityTestConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Call Information Report REST API

Resource Call Information Report

Resource

Call Information Report

Workspace

Sentinel Services

Path

/callinformationreport

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/callinformationreport

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/callinformationreport/config

Operation

Create a new Call Information Report Config entry

Request Method

POST

Path

/callinformationreport/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Call Information Report Config entry or a listing of Call Information Report Config entries

Request Method

GET

Path

/callinformationreport/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Call Information Report Config entry

Request Method

PUT

Path

/callinformationreport/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Call Information Report Config entry

Request Method

DELETE

Path

/callinformationreport/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
CallInformationReportConfig

Class: com.opencloud.sentinel.provisioning.callinformationreport.CallInformationReportConfig

JSON
{
  "type" : "object",
  "properties" : {
    "suppressOriginatingPartyCallInfoReport" : {
      "type" : "boolean",
      "required" : true
    },
    "suppressTerminatingPartyCallInfoReport" : {
      "type" : "boolean",
      "required" : true
    },
    "callAlertingTimeIsChargeable" : {
      "type" : "boolean",
      "required" : true
    },
    "callAlertingTimePrereservationSeconds" : {
      "type" : "integer"
    },
    "cirTimeout" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="callInformationReportConfig" type="CallInformationReportConfigType"/>

  <xs:complexType name="CallInformationReportConfigType">
    <xs:sequence>
      <xs:element name="suppressOriginatingPartyCallInfoReport" type="xs:boolean"/>
      <xs:element name="suppressTerminatingPartyCallInfoReport" type="xs:boolean"/>
      <xs:element name="callAlertingTimeIsChargeable" type="xs:boolean"/>
      <xs:element name="callAlertingTimePrereservationSeconds" type="xs:int"/>
      <xs:element name="cirTimeout" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
CallInformationReportConfigs

Class: com.opencloud.sentinel.rest.server.resources.callinformationreport.CallInformationReportConfigResource$CallInformationReportConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="callInformationReportConfig" type="CallInformationReportConfigsEntryType"/>

  <xs:element name="callInformationReportConfigs" type="CallInformationReportConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="CallInformationReportConfigsType">
    <xs:sequence>
      <xs:element ref="callInformationReportConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="CallInformationReportConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Cassandra Subscriber Data Store REST API

Resource Cassandra Subscriber Data Store

Resource

Cassandra Subscriber Data Store

Workspace

Sentinel Services

Path

/cassandrabasedsubscriberdatastore

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/cassandrabasedsubscriberdatastore

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/cassandrabasedsubscriberdatastore/config

Operation

Create a new Cassandra Subscriber Data Store Config entry

Request Method

POST

Path

/cassandrabasedsubscriberdatastore/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Cassandra Subscriber Data Store Config entry or a listing of Cassandra Subscriber Data Store Config entries

Request Method

GET

Path

/cassandrabasedsubscriberdatastore/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Cassandra Subscriber Data Store Config entry

Request Method

PUT

Path

/cassandrabasedsubscriberdatastore/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Cassandra Subscriber Data Store Config entry

Request Method

DELETE

Path

/cassandrabasedsubscriberdatastore/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
CassandraBasedSubscriberDataStoreConfig

Class: com.opencloud.sentinel.provisioning.registrar.CassandraBasedSubscriberDataStoreConfig

JSON
{
  "type" : "object",
  "properties" : {
    "cassandraTTL" : {
      "type" : "integer"
    },
    "cassandraTracing" : {
      "type" : "boolean",
      "required" : true
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="cassandraBasedSubscriberDataStoreConfig" type="CassandraBasedSubscriberDataStoreConfigType"/>

  <xs:complexType name="CassandraBasedSubscriberDataStoreConfigType">
    <xs:sequence>
      <xs:element name="cassandraTTL" type="xs:int"/>
      <xs:element name="cassandraTracing" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
CassandraBasedSubscriberDataStoreConfigs

Class: com.opencloud.sentinel.rest.server.resources.registrar.CassandraBasedSubscriberDataStoreConfigResource$CassandraBasedSubscriberDataStoreConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="cassandraBasedSubscriberDataStoreConfig" type="CassandraBasedSubscriberDataStoreConfigsEntryType"/>

  <xs:element name="cassandraBasedSubscriberDataStoreConfigs" type="CassandraBasedSubscriberDataStoreConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="CassandraBasedSubscriberDataStoreConfigsType">
    <xs:sequence>
      <xs:element ref="cassandraBasedSubscriberDataStoreConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="CassandraBasedSubscriberDataStoreConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Correlation REST API

Resource Correlation

Resource

Correlation

Workspace

Sentinel Services

Path

/correlation

Operations

Operation

Retrieve a listing of correlation RA entities with links to sub-resources

Request Method

GET

Path

/correlation

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/correlation/{raEntityName}/config

Operation

Create a new correlation config

Request Method

POST

Path

/correlation/{raEntityName}/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing correlation config

Request Method

GET

Path

/correlation/{raEntityName}/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing correlation config

Request Method

PUT

Path

/correlation/{raEntityName}/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing correlation config

Request Method

DELETE

Path

/correlation/{raEntityName}/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/correlation/{raEntityName}/pools

Operation

Create a new correlation id pool

Request Method

POST

Path

/correlation/{raEntityName}/pools

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve a listing of correlation id pools

Request Method

GET

Path

/correlation/{raEntityName}/pools

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing correlation id pool config

Request Method

PUT

Path

/correlation/{raEntityName}/pools/{poolName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing correlation id pool

Request Method

DELETE

Path

/correlation/{raEntityName}/pools/{poolName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Retrieve an existing correlation id pool config

Request Method

GET

Path

/correlation/{raEntityName}/pools/{poolName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Schemas

CorrelationRAEntities

Class: com.opencloud.sentinel.rest.correlation.CorrelationRAEntities

JSON
{
  "type" : "object",
  "properties" : {
    "raEntities" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="correlationRAEntities" type="CorrelationRAEntitiesType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:element name="raEntity" type="CorrelationRAEntityType"/>

  <xs:complexType name="CorrelationRAEntitiesType">
    <xs:sequence>
      <xs:element ref="raEntity" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="CorrelationRAEntityType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
CorrelationConfig

Class: com.opencloud.sentinel.provisioning.correlation.CorrelationConfig

JSON
{
  "type" : "object",
  "properties" : {
    "correlationIDExpiryTimerPeriod" : {
      "type" : "number"
    },
    "numberOfThreadPool" : {
      "type" : "integer"
    },
    "requestTimeout" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="correlationConfig" type="CorrelationConfigType"/>

  <xs:complexType name="CorrelationConfigType">
    <xs:sequence>
      <xs:element name="correlationIDExpiryTimerPeriod" type="xs:long"/>
      <xs:element name="numberOfThreadPool" type="xs:int"/>
      <xs:element name="requestTimeout" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
CorrelationIdPool

Class: com.opencloud.sentinel.provisioning.correlation.CorrelationIdPool

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "addressPrefixes" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "correlationIDNumberOfDigits" : {
      "type" : "integer"
    },
    "correlationIDRangePerNode" : {
      "type" : "array",
      "items" : {
        "type" : "integer"
      }
    },
    "isPreconfiguredCorrelationIdSetUsed" : {
      "type" : "boolean",
      "required" : true
    },
    "maxCorrelationIDInCluster" : {
      "type" : "number"
    },
    "minCorrelationIDInCluster" : {
      "type" : "number"
    },
    "nodeIds" : {
      "type" : "array",
      "items" : {
        "type" : "integer"
      }
    },
    "preconfiguredCorrelationIdSet" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="correlationIdPool" type="CorrelationIdPoolType"/>

  <xs:complexType name="CorrelationIdPoolType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="addressPrefixes" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="correlationIDNumberOfDigits" type="xs:int"/>
      <xs:element name="correlationIDRangePerNode" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="isPreconfiguredCorrelationIdSetUsed" type="xs:boolean"/>
      <xs:element name="maxCorrelationIDInCluster" type="xs:long"/>
      <xs:element name="minCorrelationIDInCluster" type="xs:long"/>
      <xs:element name="nodeIds" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="preconfiguredCorrelationIdSet" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
CorrelationIdPools

Class: com.opencloud.sentinel.rest.server.resources.correlation.CorrelationIdPoolResource$CorrelationIdPools

JSON
{
  "type" : "object",
  "properties" : {
    "idPools" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="correlationIdPools" type="CorrelationIdPoolsType"/>

  <xs:element name="idPool" type="CorrelationIdPoolEntryType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="CorrelationIdPoolsType">
    <xs:sequence>
      <xs:element ref="idPool" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="CorrelationIdPoolEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Diameter Mediation REST API

Resource Diameter Mediation

Resource

Diameter Mediation

Workspace

Sentinel Services

Path

/diametermediation

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/diametermediation

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/diametermediation/ocsdestination

Operation

Retrieve a listing of Diameter Mediation OCS Destination entries

Request Method

GET

Path

/diametermediation/ocsdestination

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new Diameter Mediation OCS Destination entry

Request Method

POST

Path

/diametermediation/ocsdestination

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Diameter Mediation OCS Destination entry

Request Method

GET

Path

/diametermediation/ocsdestination/{ocsId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Diameter Mediation OCS Destination entry

Request Method

PUT

Path

/diametermediation/ocsdestination/{ocsId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Diameter Mediation OCS Destination entry

Request Method

DELETE

Path

/diametermediation/ocsdestination/{ocsId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/diametermediation/tcctimerconfig

Operation

Create a new Diameter Mediation TCC Timer Config entry

Request Method

POST

Path

/diametermediation/tcctimerconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Diameter Mediation TCC Timer Config entry or a listing of Diameter Mediation TCC Timer Config entries

Request Method

GET

Path

/diametermediation/tcctimerconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Diameter Mediation TCC Timer Config entry

Request Method

PUT

Path

/diametermediation/tcctimerconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Diameter Mediation TCC Timer Config entry

Request Method

DELETE

Path

/diametermediation/tcctimerconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/diametermediation/serviceids

Operation

Create a new Diameter Mediation Service IDs entry

Request Method

POST

Path

/diametermediation/serviceids

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Diameter Mediation Service IDs entry or a listing of Diameter Mediation Service IDs entries

Request Method

GET

Path

/diametermediation/serviceids

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Diameter Mediation Service IDs entry

Request Method

PUT

Path

/diametermediation/serviceids

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Diameter Mediation Service IDs entry

Request Method

DELETE

Path

/diametermediation/serviceids

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/diametermediation/ocsconfig

Operation

Create a new Diameter Mediation OCS Config entry

Request Method

POST

Path

/diametermediation/ocsconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Diameter Mediation OCS Config entry or a listing of Diameter Mediation OCS Config entries

Request Method

GET

Path

/diametermediation/ocsconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: DiameterMediationOCSConfig Otherwise: DiameterMediationOCSConfigs

Operation

Update an existing Diameter Mediation OCS Config entry

Request Method

PUT

Path

/diametermediation/ocsconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Diameter Mediation OCS Config entry

Request Method

DELETE

Path

/diametermediation/ocsconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/diametermediation/config

Operation

Create a new Diameter Mediation Config entry

Request Method

POST

Path

/diametermediation/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Diameter Mediation Config entry or a listing of Diameter Mediation Config entries

Request Method

GET

Path

/diametermediation/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: DiameterMediationConfig Otherwise: DiameterMediationConfigs

Operation

Update an existing Diameter Mediation Config entry

Request Method

PUT

Path

/diametermediation/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Diameter Mediation Config entry

Request Method

DELETE

Path

/diametermediation/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
DiameterMediationOCSDestinations

Class: com.opencloud.sentinel.rest.server.resources.diametermediation.DiameterMediationOCSDestinationResource$DiameterMediationOCSDestinations

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationOCSDestination" type="DiameterMediationOCSDestinationsEntryType"/>

  <xs:element name="diameterMediationOCSDestinations" type="DiameterMediationOCSDestinationsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="DiameterMediationOCSDestinationsType">
    <xs:sequence>
      <xs:element ref="diameterMediationOCSDestination" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="DiameterMediationOCSDestinationsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
DiameterMediationOCSDestination

Class: com.opencloud.sentinel.provisioning.diametermediation.DiameterMediationOCSDestination

JSON
{
  "type" : "object",
  "properties" : {
    "ocsId" : {
      "type" : "string"
    },
    "destinationRealm" : {
      "type" : "string"
    },
    "destinationHost" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationOCSDestination" type="DiameterMediationOCSDestinationType"/>

  <xs:complexType name="DiameterMediationOCSDestinationType">
    <xs:sequence>
      <xs:element name="ocsId" type="xs:string" minOccurs="0"/>
      <xs:element name="destinationRealm" type="xs:string" minOccurs="0"/>
      <xs:element name="destinationHost" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
DiameterMediationTccTimerConfig

Class: com.opencloud.sentinel.provisioning.diametermediation.DiameterMediationTccTimerConfig

JSON
{
  "type" : "object",
  "properties" : {
    "defaultTccTimeout" : {
      "type" : "number"
    },
    "tccOption" : {
      "type" : "string"
    },
    "tccMinValue" : {
      "type" : "number"
    },
    "gsuScaleFactorMultiplier" : {
      "type" : "integer"
    },
    "gsuOffset" : {
      "type" : "integer"
    },
    "gsuScaleFactorDivisor" : {
      "type" : "integer"
    },
    "vtScaleFactorMultiplier" : {
      "type" : "integer"
    },
    "vtOffset" : {
      "type" : "integer"
    },
    "vtScaleFactorDivisor" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationTccTimerConfig" type="DiameterMediationTccTimerConfigType"/>

  <xs:complexType name="DiameterMediationTccTimerConfigType">
    <xs:sequence>
      <xs:element name="defaultTccTimeout" type="xs:long"/>
      <xs:element name="tccOption" type="xs:string" minOccurs="0"/>
      <xs:element name="tccMinValue" type="xs:long"/>
      <xs:element name="gsuScaleFactorMultiplier" type="xs:int"/>
      <xs:element name="gsuOffset" type="xs:int"/>
      <xs:element name="gsuScaleFactorDivisor" type="xs:int"/>
      <xs:element name="vtScaleFactorMultiplier" type="xs:int"/>
      <xs:element name="vtOffset" type="xs:int"/>
      <xs:element name="vtScaleFactorDivisor" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
DiameterMediationTccTimerConfigs

Class: com.opencloud.sentinel.rest.server.resources.diametermediation.DiameterMediationTccTimerConfigResource$DiameterMediationTccTimerConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationTccTimerConfig" type="DiameterMediationTccTimerConfigsEntryType"/>

  <xs:element name="diameterMediationTccTimerConfigs" type="DiameterMediationTccTimerConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="DiameterMediationTccTimerConfigsType">
    <xs:sequence>
      <xs:element ref="diameterMediationTccTimerConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="DiameterMediationTccTimerConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
DiameterMediationServiceIdConfig

Class: com.opencloud.sentinel.provisioning.diametermediation.DiameterMediationServiceIdConfig

JSON
{
  "type" : "object",
  "properties" : {
    "serviceIDs" : {
      "type" : "array",
      "items" : {
        "type" : "number"
      }
    },
    "serviceNames" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationServiceIdConfig" type="DiameterMediationServiceIdConfigType"/>

  <xs:complexType name="DiameterMediationServiceIdConfigType">
    <xs:sequence>
      <xs:element name="serviceIDs" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:long" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="serviceNames" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
DiameterMediationServiceIdConfigs

Class: com.opencloud.sentinel.rest.server.resources.diametermediation.DiameterMediationServiceIdConfigResource$DiameterMediationServiceIdConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationServiceIdConfig" type="DiameterMediationServiceIdConfigsEntryType"/>

  <xs:element name="diameterMediationServiceIdConfigs" type="DiameterMediationServiceIdConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="DiameterMediationServiceIdConfigsType">
    <xs:sequence>
      <xs:element ref="diameterMediationServiceIdConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="DiameterMediationServiceIdConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
DiameterMediationOCSConfig

Class: com.opencloud.sentinel.provisioning.diametermediation.DiameterMediationOCSConfig

JSON
{
  "type" : "object",
  "properties" : {
    "destinationRealm" : {
      "type" : "string"
    },
    "destinationHost" : {
      "type" : "string"
    },
    "timeoutDuration" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationOCSConfig" type="DiameterMediationOCSConfigType"/>

  <xs:complexType name="DiameterMediationOCSConfigType">
    <xs:sequence>
      <xs:element name="destinationRealm" type="xs:string" minOccurs="0"/>
      <xs:element name="destinationHost" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="timeoutDuration" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
DiameterMediationOCSConfigs

Class: com.opencloud.sentinel.rest.server.resources.diametermediation.DiameterMediationOCSConfigResource$DiameterMediationOCSConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationOCSConfig" type="DiameterMediationOCSConfigsEntryType"/>

  <xs:element name="diameterMediationOCSConfigs" type="DiameterMediationOCSConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="DiameterMediationOCSConfigsType">
    <xs:sequence>
      <xs:element ref="diameterMediationOCSConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="DiameterMediationOCSConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
DiameterMediationConfig

Class: com.opencloud.sentinel.provisioning.diametermediation.DiameterMediationConfig

JSON
{
  "type" : "object",
  "properties" : {
    "closeSessionOnErrorBehaviour" : {
      "type" : "string"
    },
    "vtTimerEnabled" : {
      "type" : "boolean",
      "required" : true
    },
    "vtTimerOffset" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationConfig" type="DiameterMediationConfigType"/>

  <xs:complexType name="DiameterMediationConfigType">
    <xs:sequence>
      <xs:element name="closeSessionOnErrorBehaviour" type="xs:string" minOccurs="0"/>
      <xs:element name="vtTimerEnabled" type="xs:boolean"/>
      <xs:element name="vtTimerOffset" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
DiameterMediationConfigs

Class: com.opencloud.sentinel.rest.server.resources.diametermediation.DiameterMediationConfigResource$DiameterMediationConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterMediationConfig" type="DiameterMediationConfigsEntryType"/>

  <xs:element name="diameterMediationConfigs" type="DiameterMediationConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="DiameterMediationConfigsType">
    <xs:sequence>
      <xs:element ref="diameterMediationConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="DiameterMediationConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Feature Execution Scripts REST API

Resource Feature Execution Scripts

Resource

Feature Execution Scripts

Workspace

Sentinel Services

Path

/featureexecutionscripts

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/featureexecutionscripts

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/featureexecutionscripts/executionpoints

Operation

Retrieve a listing of Feature Execution Scripts Config entries

Request Method

GET

Path

/featureexecutionscripts/executionpoints

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new Feature Execution Scripts Config entry

Request Method

POST

Path

/featureexecutionscripts/executionpoints

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Feature Execution Scripts Config entry

Request Method

GET

Path

/featureexecutionscripts/executionpoints/{featureExecutionPointName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Feature Execution Scripts Config entry

Request Method

PUT

Path

/featureexecutionscripts/executionpoints/{featureExecutionPointName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Feature Execution Scripts Config entry

Request Method

DELETE

Path

/featureexecutionscripts/executionpoints/{featureExecutionPointName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/featureexecutionscripts/scripts

Operation

Retrieve a listing of feature execution scripts

Request Method

GET

Path

/featureexecutionscripts/scripts

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new feature execution script

Request Method

POST

Path

/featureexecutionscripts/scripts

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing feature execution script

Request Method

GET

Path

/featureexecutionscripts/scripts/{scriptName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing feature execution script

Request Method

PUT

Path

/featureexecutionscripts/scripts/{scriptName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing feature execution script

Request Method

DELETE

Path

/featureexecutionscripts/scripts/{scriptName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
FeatureExecutionScriptAssociations

Class: com.opencloud.sentinel.rest.server.resources.FeatureExecutionScriptAssociationResource$FeatureExecutionScriptAssociations

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="featureExecutionScriptAssociation" type="FeatureExecutionScriptAssociationsEntryType"/>

  <xs:element name="featureExecutionScriptAssociations" type="FeatureExecutionScriptAssociationsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureExecutionScriptAssociationsType">
    <xs:sequence>
      <xs:element ref="featureExecutionScriptAssociation" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="FeatureExecutionScriptAssociationsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
FeatureExecutionScriptAssociation

Class: com.opencloud.sentinel.provisioning.featurescript.FeatureExecutionScriptAssociation

JSON
{
  "type" : "object",
  "properties" : {
    "featureExecutionPointName" : {
      "type" : "string"
    },
    "featureExecutionScriptName" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="featureExecutionScriptAssociation" type="FeatureExecutionScriptAssociationType"/>

  <xs:complexType name="FeatureExecutionScriptAssociationType">
    <xs:sequence>
      <xs:element name="featureExecutionPointName" type="xs:string" minOccurs="0"/>
      <xs:element name="featureExecutionScriptName" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
FeatureExecutionScripts

Class: com.opencloud.sentinel.rest.common.FeatureExecutionScripts

JSON
{
  "type" : "object",
  "properties" : {
    "scripts" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="featureExecutionScript" type="FeatureExecutionScriptsEntryType"/>

  <xs:element name="featureExecutionScripts" type="FeatureExecutionScriptsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureExecutionScriptsType">
    <xs:sequence>
      <xs:element ref="featureExecutionScript" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="FeatureExecutionScriptsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
FeatureExecutionScript

Class: com.opencloud.sentinel.provisioning.featurescript.FeatureExecutionScript

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "src" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="featureExecutionScript" type="FeatureExecutionScriptType"/>

  <xs:complexType name="FeatureExecutionScriptType">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="src" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

Features REST API

Resource Features

Resource

Features

Workspace

Sentinel Services

Path

/features

Operations

Operation

Retrieve a list of features that can be configured

Request Method

GET

Path

/features

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/features/{featureKey}

Operation

Retrieve a list of sub-resources for the specified feature

Request Method

GET

Path

/features/{featureKey}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/features/{featureKey}/addresslists/{schemaName}

Operation

Retrieve a listing of address lists

Request Method

GET

Path

/features/{featureKey}/addresslists/{schemaName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/features/{featureKey}/addresslists/{schemaName}/config

Operation

Create a new address list

Request Method

POST

Path

/features/{featureKey}/addresslists/{schemaName}/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Delete an existing address list

Request Method

DELETE

Path

/features/{featureKey}/addresslists/{schemaName}/config/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Retrieve address list configuration

Request Method

GET

Path

/features/{featureKey}/addresslists/{schemaName}/config/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing address list config

Request Method

PUT

Path

/features/{featureKey}/addresslists/{schemaName}/config/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

/features/{featureKey}/addresslists/{schemaName}/lists

Operation

Retrieve a listing of address list entries

Request Method

GET

Path

/features/{featureKey}/addresslists/{schemaName}/lists/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new address list entry

Request Method

POST

Path

/features/{featureKey}/addresslists/{schemaName}/lists/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing address list entry

Request Method

GET

Path

/features/{featureKey}/addresslists/{schemaName}/lists/{listName}/{address}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing address list entry

Request Method

PUT

Path

/features/{featureKey}/addresslists/{schemaName}/lists/{listName}/{address}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing address list entry

Request Method

DELETE

Path

/features/{featureKey}/addresslists/{schemaName}/lists/{listName}/{address}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/features/{featureKey}/configuration

Operation

Create a new feature config entry

Request Method

POST

Path

/features/{featureKey}/configuration/{configType}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Update an existing feature config entry

Request Method

PUT

Path

/features/{featureKey}/configuration/{configType}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Update an existing feature config entry

Request Method

PUT

Path

/features/{featureKey}/configuration/{configType}/{configId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing feature config entry

Request Method

DELETE

Path

/features/{featureKey}/configuration/{configType}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing feature config entry

Request Method

DELETE

Path

/features/{featureKey}/configuration/{configType}/{configId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Retrieve feature configuration for the specified feature

Request Method

GET

Path

/features/{featureKey}/configuration/{configType}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: FeatureConfiguration Otherwise: FeatureConfigs

Operation

Retrieve feature configuration for the specified feature

Request Method

GET

Path

/features/{featureKey}/configuration/{configType}/{configId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Schemas

Features

Class: com.opencloud.sentinel.rest.server.resources.FeaturesResource$Features

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="features" type="FeaturesType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeaturesType">
    <xs:sequence>
      <xs:element ref="feature" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
AddressLists

Class: com.opencloud.sentinel.rest.common.AddressLists

JSON
{
  "type" : "object",
  "properties" : {
    "lists" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addressList" type="AddressListsEntryType"/>

  <xs:element name="addressLists" type="AddressListsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="AddressListsType">
    <xs:sequence>
      <xs:element ref="addressList" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="AddressListsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
AddressListConfig

Class: com.opencloud.sentinel.provisioning.addresslists.AddressListConfig

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "description" : {
      "type" : "string"
    },
    "defaultSearchMode" : {
      "type" : "integer"
    },
    "shouldCache" : {
      "type" : "boolean",
      "required" : true
    },
    "version" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addressListConfig" type="AddressListConfigType"/>

  <xs:complexType name="AddressListConfigType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="defaultSearchMode" type="xs:int"/>
      <xs:element name="shouldCache" type="xs:boolean"/>
      <xs:element name="version" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
AddressListEntries

Class: com.opencloud.sentinel.rest.common.AddressListEntries

JSON
{
  "type" : "object",
  "properties" : {
    "addresses" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addressListEntries" type="AddressListEntriesType"/>

  <xs:element name="addressListEntry" type="AddressListEntriesEntryType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="AddressListEntriesType">
    <xs:sequence>
      <xs:element ref="addressListEntry" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="AddressListEntriesEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
AddressListEntryExt

Class: com.opencloud.sentinel.provisioning.addresslists.AddressListEntryExt

JSON
{
  "type" : "object",
  "properties" : {
    "attributes" : {
      "type" : "object"
    },
    "address" : {
      "type" : "string"
    },
    "description" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addressListEntry" type="AddressListEntryType"/>

  <xs:element name="addressListEntryExt" type="AddressListEntryExtType"/>

  <xs:complexType name="AddressListEntryExtType">
    <xs:complexContent>
      <xs:extension base="AddressListEntryType">
        <xs:sequence>
          <xs:element name="attributes">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="key" minOccurs="0" type="xs:string"/>
                      <xs:element name="value" minOccurs="0" type="profileAttribute"/>
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="AddressListEntryType">
    <xs:sequence>
      <xs:element name="address" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="profileAttribute">
    <xs:sequence>
      <xs:element name="array" type="xs:boolean"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="valueArray" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="valueString" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
FeatureConfiguration

Class: com.opencloud.sentinel.provisioning.featureconfig.FeatureConfiguration

JSON
{
  "type" : "object",
  "properties" : {
    "attributes" : {
      "type" : "object"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="featureConfiguration" type="FeatureConfigurationType"/>

  <xs:complexType name="FeatureConfigurationType">
    <xs:sequence>
      <xs:element name="attributes">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="key" minOccurs="0" type="xs:string"/>
                  <xs:element name="value" minOccurs="0" type="profileAttribute"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="profileAttribute">
    <xs:sequence>
      <xs:element name="array" type="xs:boolean"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="valueArray" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="valueString" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
FeatureConfigs

Class: com.opencloud.sentinel.rest.common.FeatureConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "configs" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="featureConfig" type="FeatureConfigsEntryType"/>

  <xs:element name="featureConfigs" type="FeatureConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureConfigsType">
    <xs:sequence>
      <xs:element ref="featureConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="FeatureConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

HSS Configuration REST API

Resource HSS Configuration

Resource

HSS Configuration

Workspace

VoLTE Services

Path

/hss

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/hss

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/hss/diameterconfiguration

Operation

Delete the existing HSS Diameter configuration

Request Method

DELETE

Path

/hss/diameterconfiguration

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Create a new HSS Diameter configuration

Request Method

POST

Path

/hss/diameterconfiguration

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve the existing HSS Diameter configuration

Request Method

GET

Path

/hss/diameterconfiguration

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update the existing HSS Diameter configuration

Request Method

PUT

Path

/hss/diameterconfiguration

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

/hss/diameterstack

Operation

Retrieve the HSS Diameter peer status for a specific peer

Request Method

GET

Path

/hss/diameterstack/peerstatus/{peerName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Retrieve the HSS Diameter peer status

Request Method

GET

Path

/hss/diameterstack/peerstatus

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/hss/destinations

Operation

Create a new Diameter destination

Request Method

POST

Path

/hss/destinations

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Diameter destination

Request Method

GET

Path

/hss/destinations

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: DiameterDestinationDto Otherwise: DiameterDestinations

Operation

Update an existing Diameter destination

Request Method

PUT

Path

/hss/destinations

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Diameter destination

Request Method

DELETE

Path

/hss/destinations

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
DiameterConfigurationDto

Class: com.opencloud.volte.sentinel.provisioning.hss.DiameterConfigurationDto

JSON
{
  "type" : "object",
  "properties" : {
    "profileName" : {
      "type" : "string"
    },
    "threadPoolSize" : {
      "type" : "integer"
    },
    "ioServerWorkers" : {
      "type" : "integer"
    },
    "ioClientWorkers" : {
      "type" : "integer"
    },
    "requestTimeout" : {
      "type" : "number"
    },
    "watchdogTimeout" : {
      "type" : "number"
    },
    "baseMessageApplicationID" : {
      "type" : "integer"
    },
    "reconnectDelay" : {
      "type" : "number"
    },
    "forceReconnectAfterDpr" : {
      "type" : "boolean",
      "required" : true
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterConfiguration" type="HSSDiameterConfigurationType"/>

  <xs:complexType name="HSSDiameterConfigurationType">
    <xs:sequence>
      <xs:element name="profileName" type="xs:string"/>
      <xs:element name="threadPoolSize" type="xs:int"/>
      <xs:element name="ioServerWorkers" type="xs:int"/>
      <xs:element name="ioClientWorkers" type="xs:int"/>
      <xs:element name="requestTimeout" type="xs:long"/>
      <xs:element name="watchdogTimeout" type="xs:long"/>
      <xs:element name="baseMessageApplicationID" type="xs:int"/>
      <xs:element name="reconnectDelay" type="xs:long"/>
      <xs:element name="forceReconnectAfterDpr" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
PeerStatus

Class: com.opencloud.volte.sentinel.provisioning.hss.DiameterPeerStatus$PeerStatus

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "started" : {
      "type" : "boolean",
      "required" : true
    },
    "inService" : {
      "type" : "boolean",
      "required" : true
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="peerStatus" type="HSSPeerStatusType"/>

  <xs:complexType name="HSSPeerStatusType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="started" type="xs:boolean"/>
      <xs:element name="inService" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
DiameterPeerStatus

Class: com.opencloud.volte.sentinel.provisioning.hss.DiameterPeerStatus

JSON
{
  "type" : "object",
  "properties" : {
    "peerStatus" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "started" : {
            "type" : "boolean",
            "required" : true
          },
          "inService" : {
            "type" : "boolean",
            "required" : true
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterPeerStatus" type="HSSDiameterPeerStatusType"/>

  <xs:element name="peerStatus" type="HSSPeerStatusType"/>

  <xs:complexType name="HSSDiameterPeerStatusType">
    <xs:sequence>
      <xs:element ref="peerStatus" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HSSPeerStatusType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="started" type="xs:boolean"/>
      <xs:element name="inService" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
DiameterDestinationDto

Class: com.opencloud.volte.sentinel.provisioning.hss.DiameterDestinationDto

JSON
{
  "type" : "object",
  "properties" : {
    "destinationRealm" : {
      "type" : "string"
    },
    "destinationHost" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterDestination" type="HSSDiameterDestinationType"/>

  <xs:complexType name="HSSDiameterDestinationType">
    <xs:sequence>
      <xs:element name="destinationRealm" type="xs:string"/>
      <xs:element name="destinationHost" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
DiameterDestinations

Class: com.opencloud.volte.sentinel.rest.server.resources.DiameterDestinationResource$DiameterDestinations

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "destinationRealm" : {
            "type" : "string"
          },
          "destinationHost" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="diameterDestination" type="HSSDiameterDestinationEntryType"/>

  <xs:element name="diameterDestinations" type="HSSDiameterDestinationsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="HSSDiameterDestinationsType">
    <xs:sequence>
      <xs:element ref="diameterDestination" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="HSSDiameterDestinationEntryType">
    <xs:sequence>
      <xs:element name="destinationRealm" type="xs:string" minOccurs="0"/>
      <xs:element name="destinationHost" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

HSS Data and Data Configuration REST API

Resource HSS Data and Data Configuration

Resource

HSS Data and Data Configuration

Workspace

VoLTE Services

Path

/hssdata

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/hssdata

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/hssdata/provisioningfieldmappings

Operation

Create a new HSS subscriber data field mappings set

Request Method

POST

Path

/hssdata/provisioningfieldmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve the existing HSS subscriber data field mappings

Request Method

GET

Path

/hssdata/provisioningfieldmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update the existing HSS subscriber data field mappings

Request Method

PUT

Path

/hssdata/provisioningfieldmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete the existing HSS subscriber data field mappings

Request Method

DELETE

Path

/hssdata/provisioningfieldmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/hssdata/sessionstatefieldmappings

Operation

Create a new HSS subscriber data field mappings set

Request Method

POST

Path

/hssdata/sessionstatefieldmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve the existing HSS subscriber data session state field mappings

Request Method

GET

Path

/hssdata/sessionstatefieldmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update the existing HSS subscriber data session state field mappings

Request Method

PUT

Path

/hssdata/sessionstatefieldmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete the existing HSS subscriber data session state field mappings

Request Method

DELETE

Path

/hssdata/sessionstatefieldmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/hssdata/subscriberdata

Operation

Create new subscriber data

Request Method

POST

Path

/hssdata/subscriberdata

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing subscriber data record

Request Method

GET

Path

/hssdata/subscriberdata/{imsUserIdentity}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing subscriber data record

Request Method

PUT

Path

/hssdata/subscriberdata/{imsUserIdentity}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete existing subscriber data

Request Method

DELETE

Path

/hssdata/subscriberdata/{imsUserIdentity}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SubscriberDataFieldSetDto

Class: com.opencloud.volte.sentinel.provisioning.hssdata.SubscriberDataFieldSetDto

JSON
{
  "type" : "object",
  "properties" : {
    "fieldGroups" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "serviceIndication" : {
            "type" : "string"
          },
          "serviceDataClass" : {
            "type" : "string"
          },
          "serviceDataCodecClass" : {
            "type" : "string"
          },
          "jxpathFactoryClass" : {
            "type" : "string"
          },
          "fieldMappings" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "name" : {
                  "type" : "string"
                },
                "type" : {
                  "type" : "string"
                },
                "description" : {
                  "type" : "string"
                },
                "xPath" : {
                  "type" : "string"
                },
                "required" : {
                  "type" : "boolean",
                  "required" : true
                }
              }
            }
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="fieldMapping" type="SubscriberDataFieldMappingType"/>

  <xs:element name="subscriberDataFieldGroup" type="SubscriberDataFieldGroupType"/>

  <xs:element name="subscriberDataFieldSet" type="SubscriberDataFieldSetType"/>

  <xs:complexType name="SubscriberDataFieldSetType">
    <xs:sequence>
      <xs:element name="fieldGroups" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="subscriberDataFieldGroup" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubscriberDataFieldGroupType">
    <xs:sequence>
      <xs:element name="serviceIndication" type="xs:string"/>
      <xs:element name="serviceDataClass" type="xs:string"/>
      <xs:element name="serviceDataCodecClass" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="jxpathFactoryClass" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="fieldMappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="fieldMapping" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubscriberDataFieldMappingType">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="type" type="xs:string"/>
      <xs:element name="description" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="xPath" type="xs:string"/>
      <xs:element name="required" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
HssSubscriberDataSessionStateMappingSet

Class: com.opencloud.volte.sentinel.provisioning.hssdata.HssSubscriberDataSessionStateMappingSet

JSON
{
  "type" : "object",
  "properties" : {
    "mappingGroups" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "serviceIndication" : {
            "type" : "string"
          },
          "serviceDataCodecClass" : {
            "type" : "string"
          },
          "fieldMappings" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "sessionStateFieldName" : {
                  "type" : "string"
                },
                "xPath" : {
                  "type" : "string"
                },
                "rootElementName" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="hssSubscriberDataSessionStateFieldMapping" type="HssSubscriberDataSessionStateFieldMappingType"/>

  <xs:element name="hssSubscriberDataSessionStateMappingGroup" type="HssSubscriberDataSessionStateMappingGroupType"/>

  <xs:element name="hssSubscriberDataSessionStateMappingSet" type="HssSubscriberDataSessionStateMappingSetType"/>

  <xs:complexType name="HssSubscriberDataSessionStateMappingSetType">
    <xs:sequence>
      <xs:element name="mappingGroups" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="hssSubscriberDataSessionStateMappingGroup" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HssSubscriberDataSessionStateMappingGroupType">
    <xs:sequence>
      <xs:element name="serviceIndication" type="xs:string"/>
      <xs:element name="serviceDataCodecClass" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="fieldMappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="hssSubscriberDataSessionStateFieldMapping" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HssSubscriberDataSessionStateFieldMappingType">
    <xs:sequence>
      <xs:element name="sessionStateFieldName" type="xs:string"/>
      <xs:element name="xPath" type="xs:string"/>
      <xs:element name="rootElementName" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
HssSubscriberData

Class: com.opencloud.volte.sentinel.provisioning.hssdata.HssSubscriberData

JSON
{
  "type" : "object",
  "properties" : {
    "identity" : {
      "type" : "string"
    },
    "fieldGroups" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "serviceIndication" : {
            "type" : "string"
          },
          "fields" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "name" : {
                  "type" : "string"
                },
                "value" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="field" type="HssSubscriberDataFieldType"/>

  <xs:element name="fieldGroup" type="HssSubscriberDataFieldGroupType"/>

  <xs:element name="hssSubscriberData" type="HssSubscriberDataType"/>

  <xs:complexType name="HssSubscriberDataType">
    <xs:sequence>
      <xs:element name="identity" type="xs:string"/>
      <xs:element name="fieldGroups" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="fieldGroup" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HssSubscriberDataFieldGroupType">
    <xs:sequence>
      <xs:element name="serviceIndication" type="xs:string"/>
      <xs:element name="fields" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="field" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HssSubscriberDataFieldType">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="value" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

HTTP Determine Network Operator REST API

Resource HTTP Determine Network Operator

Resource

HTTP Determine Network Operator

Workspace

Sentinel Services

Path

/httpdeterminenetworkoperator

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/httpdeterminenetworkoperator

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/httpdeterminenetworkoperator/config

Operation

Create a new HTTP Determine Network Operator config

Request Method

POST

Path

/httpdeterminenetworkoperator/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve a listing of HTTP Determine Network Operator config entries

Request Method

GET

Path

/httpdeterminenetworkoperator/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Retrieve an existing HTTP Determine Network Operator config

Request Method

GET

Path

/httpdeterminenetworkoperator/config/{httpFieldValue}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing HTTP Determine Network Operator config

Request Method

PUT

Path

/httpdeterminenetworkoperator/config/{httpFieldValue}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing HTTP Determine Network Operator config

Request Method

DELETE

Path

/httpdeterminenetworkoperator/config/{httpFieldValue}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
HttpDetermineNetworkOperatorConfig

Class: com.opencloud.sentinel.provisioning.httpdeterminenetworkoperator.HttpDetermineNetworkOperatorConfig

JSON
{
  "type" : "object",
  "properties" : {
    "httpFieldValue" : {
      "type" : "string"
    },
    "networkOperator" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="httpDetermineNetworkOperatorConfig" type="HttpDetermineNetworkOperatorConfigType"/>

  <xs:complexType name="HttpDetermineNetworkOperatorConfigType">
    <xs:sequence>
      <xs:element name="httpFieldValue" type="xs:string" minOccurs="0"/>
      <xs:element name="networkOperator" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
HttpDetermineNetworkOperatorFieldValues

Class: com.opencloud.sentinel.rest.common.HttpDetermineNetworkOperatorFieldValues

JSON
{
  "type" : "object",
  "properties" : {
    "httpFieldValues" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="httpDetermineNetworkOperatorFieldValues" type="HttpDetermineNetworkOperatorFieldValuesType"/>

  <xs:element name="httpFieldValue" type="HttpDetermineNetworkOperatorFieldValuesEntryType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="HttpDetermineNetworkOperatorFieldValuesType">
    <xs:sequence>
      <xs:element ref="httpFieldValue" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="HttpDetermineNetworkOperatorFieldValuesEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Home Zone REST API

Resource Home Zone

Resource

Home Zone

Workspace

Sentinel Services

Path

/homezone

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/homezone

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/homezone/sqlconfig

Operation

Update an existing Home Zone SQL Config entry

Request Method

PUT

Path

/homezone/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Home Zone SQL Config entry

Request Method

DELETE

Path

/homezone/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Create a new Home Zone SQL Config entry

Request Method

POST

Path

/homezone/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Home Zone SQL Config entry or a listing of Home Zone SQL Config entries

Request Method

GET

Path

/homezone/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: HomeZoneSql Otherwise: HomeZoneSqls

/homezone/config

Operation

Create a new Home Zone Config entry

Request Method

POST

Path

/homezone/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Home Zone Config entry or a listing of Home Zone Config entries

Request Method

GET

Path

/homezone/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: HomeZoneConfig Otherwise: HomeZoneConfigs

Operation

Update an existing Home Zone Config entry

Request Method

PUT

Path

/homezone/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Home Zone Config entry

Request Method

DELETE

Path

/homezone/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/homezone/zones

Operation

Retrieve a listing of home zone zones

Request Method

GET

Path

/homezone/zones

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new home zone zone

Request Method

POST

Path

/homezone/zones

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing home zone zone config

Request Method

GET

Path

/homezone/zones/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing home zone zone config

Request Method

PUT

Path

/homezone/zones/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing home zone zone

Request Method

DELETE

Path

/homezone/zones/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
HomeZoneSql

Class: com.opencloud.sentinel.provisioning.homezone.HomeZoneSql

JSON
{
  "type" : "object",
  "properties" : {
    "zoneLookupSQL" : {
      "type" : "string"
    },
    "zoneInsertSQL" : {
      "type" : "string"
    },
    "zoneUpdateSQL" : {
      "type" : "string"
    },
    "zoneDeleteSQL" : {
      "type" : "string"
    },
    "zoneListingSQL" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="homeZoneSql" type="HomeZoneSqlType"/>

  <xs:complexType name="HomeZoneSqlType">
    <xs:sequence>
      <xs:element name="zoneLookupSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="zoneInsertSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="zoneUpdateSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="zoneDeleteSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="zoneListingSQL" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
HomeZoneSqls

Class: com.opencloud.sentinel.rest.server.resources.homezone.HomeZoneSqlResource$HomeZoneSqls

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="homeZoneSql" type="HomeZoneSqlsEntryType"/>

  <xs:element name="homeZoneSqls" type="HomeZoneSqlsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="HomeZoneSqlsType">
    <xs:sequence>
      <xs:element ref="homeZoneSql" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="HomeZoneSqlsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
HomeZoneConfig

Class: com.opencloud.sentinel.provisioning.homezone.HomeZoneConfig

JSON
{
  "type" : "object",
  "properties" : {
    "lookupType" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="homeZoneConfig" type="HomeZoneConfigType"/>

  <xs:complexType name="HomeZoneConfigType">
    <xs:sequence>
      <xs:element name="lookupType" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
HomeZoneConfigs

Class: com.opencloud.sentinel.rest.server.resources.homezone.HomeZoneConfigResource$HomeZoneConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="homeZoneConfig" type="HomeZoneConfigsEntryType"/>

  <xs:element name="homeZoneConfigs" type="HomeZoneConfigsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="HomeZoneConfigsType">
    <xs:sequence>
      <xs:element ref="homeZoneConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="HomeZoneConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
HomeZoneZones

Class: com.opencloud.sentinel.rest.server.resources.homezone.HomeZoneZonesResource$HomeZoneZones

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="homeZoneZone" type="HomeZoneZonesEntryType"/>

  <xs:element name="homeZoneZones" type="HomeZoneZonesType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="HomeZoneZonesType">
    <xs:sequence>
      <xs:element ref="homeZoneZone" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="HomeZoneZonesEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
HomeZoneZone

Class: com.opencloud.sentinel.provisioning.homezone.HomeZoneZone

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "locationTypes" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "mCC" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "mNC" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "lAC" : {
      "type" : "array",
      "items" : {
        "type" : "integer"
      }
    },
    "cIOrSAC" : {
      "type" : "array",
      "items" : {
        "type" : "integer"
      }
    },
    "locationDescriptions" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="homeZoneZone" type="HomeZoneZoneType"/>

  <xs:complexType name="HomeZoneZoneType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="locationTypes" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="mCC" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="mNC" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="lAC" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="cIOrSAC" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="locationDescriptions" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

MMTel STOD Enabled REST API

Resource MMTel STOD Enabled

Resource

MMTel STOD Enabled

Workspace

Sentinel Services

Path

/mmtelstodenabled

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/mmtelstodenabled

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/mmtelstodenabled/config

Operation

Retrieve a listing of MMTel STOD Enabled Config entries

Request Method

GET

Path

/mmtelstodenabled/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new MMTel STOD Enabled Config entry

Request Method

POST

Path

/mmtelstodenabled/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing MMTel STOD Enabled Config entry

Request Method

GET

Path

/mmtelstodenabled/config/{user}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing MMTel STOD Enabled Config entry

Request Method

PUT

Path

/mmtelstodenabled/config/{user}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing MMTel STOD Enabled Config entry

Request Method

DELETE

Path

/mmtelstodenabled/config/{user}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
MMTelStodEnabledConfigs

Class: com.opencloud.sentinel.rest.server.resources.stodenabled.MMTelStodEnabledConfigResource$MMTelStodEnabledConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="mMTelStodEnabledConfig" type="MMTelStodEnabledConfigsEntryType"/>

  <xs:element name="mMTelStodEnabledConfigs" type="MMTelStodEnabledConfigsType"/>

  <xs:complexType name="MMTelStodEnabledConfigsType">
    <xs:sequence>
      <xs:element ref="mMTelStodEnabledConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="MMTelStodEnabledConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
MMTelStodEnabledConfig

Class: com.opencloud.sentinel.provisioning.stodenabled.MMTelStodEnabledConfig

JSON
{
  "type" : "object",
  "properties" : {
    "user" : {
      "type" : "string"
    },
    "stodEnabled" : {
      "type" : "boolean",
      "required" : true
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="mMTelStodEnabledConfig" type="MMTelStodEnabledConfigType"/>

  <xs:complexType name="MMTelStodEnabledConfigType">
    <xs:sequence>
      <xs:element name="user" type="xs:string" minOccurs="0"/>
      <xs:element name="stodEnabled" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

Mappers REST API

Resource Mappers

Resource

Mappers

Workspace

Sentinel Services

Path

/mappers

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/mappers

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/mappers/mappersets

Operation

Retrieve a listing of mapper sets

Request Method

GET

Path

/mappers/mappersets

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new mapper set

Request Method

POST

Path

/mappers/mappersets

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing mapper set config

Request Method

GET

Path

/mappers/mappersets/{mapperSetName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing mapper set config

Request Method

PUT

Path

/mappers/mappersets/{mapperSetName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing mapper set

Request Method

DELETE

Path

/mappers/mappersets/{mapperSetName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/mappers/mappings

Operation

Retrieve an existing mapper set mapping or a listing of mapper set mappings

Request Method

GET

Path

/mappers/mappings;mapperSetName=?;mapperName=?;mapperExecutionPoint=?;sessionType=?;planId=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: MapperSetMapping Otherwise: MapperSetMappings

Operation

Create a new mapper set mapping

Request Method

POST

Path

/mappers/mappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Delete an existing mapper set mapping

Request Method

DELETE

Path

/mappers/mappings;mapperSetName=?;mapperName=?;mapperExecutionPoint=?;sessionType=?;planId=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
MapperSets

Class: com.opencloud.sentinel.rest.common.MapperSets

JSON
{
  "type" : "object",
  "properties" : {
    "mapperSets" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="mapperSet" type="MapperSetEntryType"/>

  <xs:element name="mapperSets" type="MapperSetsType"/>

  <xs:complexType name="MapperSetsType">
    <xs:sequence>
      <xs:element ref="mapperSet" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="MapperSetEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
MapperSetConfig

Class: com.opencloud.sentinel.provisioning.mappers.MapperSetConfig

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "version" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="mapperSetConfig" type="MapperSetConfigType"/>

  <xs:complexType name="MapperSetConfigType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="version" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
MapperSetMapping

Class: com.opencloud.sentinel.provisioning.mappers.MapperSetMapping

JSON
{
  "type" : "object",
  "properties" : {
    "mapperSetName" : {
      "type" : "string"
    },
    "mappingName" : {
      "type" : "string"
    },
    "mapperExecutionPoint" : {
      "type" : "string"
    },
    "sessionType" : {
      "type" : "string"
    },
    "planId" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="mapperSetMapping" type="MapperSetMappingType"/>

  <xs:complexType name="MapperSetMappingType">
    <xs:sequence>
      <xs:element name="mapperSetName" type="xs:string"/>
      <xs:element name="mappingName" type="xs:string"/>
      <xs:element name="mapperExecutionPoint" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="sessionType" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="planId" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
MapperSetMappings

Class: com.opencloud.sentinel.rest.common.MapperSetMappings

JSON
{
  "type" : "object",
  "properties" : {
    "mapperSetMappings" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "mapperSetMapping" : {
            "type" : "object",
            "properties" : {
              "mapperSetName" : {
                "type" : "string"
              },
              "mappingName" : {
                "type" : "string"
              },
              "mapperExecutionPoint" : {
                "type" : "string"
              },
              "sessionType" : {
                "type" : "string"
              },
              "planId" : {
                "type" : "string"
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="mapperSetMapping" type="MapperSetMappingType"/>

  <xs:element name="mapperSetMappings" type="MapperSetMappingsType"/>

  <xs:element name="mapping" type="MapperSetMappingEntryType"/>

  <xs:complexType name="MapperSetMappingsType">
    <xs:sequence>
      <xs:element ref="mapping" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="MapperSetMappingEntryType">
    <xs:sequence>
      <xs:element ref="mapperSetMapping"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MapperSetMappingType">
    <xs:sequence>
      <xs:element name="mapperSetName" type="xs:string"/>
      <xs:element name="mappingName" type="xs:string"/>
      <xs:element name="mapperExecutionPoint" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="sessionType" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="planId" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Normalization REST API

Resource Normalization

Resource

Normalization

Workspace

Sentinel Services

Path

/normalization

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/normalization

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/normalization/addresslists

Operation

Retrieve a listing of address lists

Request Method

GET

Path

/normalization/addresslists

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/normalization/addresslists/config

Operation

Create a new address list

Request Method

POST

Path

/normalization/addresslists/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Delete an existing address list

Request Method

DELETE

Path

/normalization/addresslists/config/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Retrieve an existing address list config

Request Method

GET

Path

/normalization/addresslists/config/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing address list config

Request Method

PUT

Path

/normalization/addresslists/config/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

/normalization/addresslists/lists

Operation

Create a new Normalization Address List Entries entry

Request Method

POST

Path

/normalization/addresslists/lists/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Update an existing Normalization Address List Entries entry

Request Method

PUT

Path

/normalization/addresslists/lists/{listName}/{address}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Retrieve a listing of address list entries

Request Method

GET

Path

/normalization/addresslists/lists/{listName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Retrieve an existing address list entry

Request Method

GET

Path

/normalization/addresslists/lists/{listName}/{address}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Delete an existing address list entry

Request Method

DELETE

Path

/normalization/addresslists/lists/{listName}/{address}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/normalization/config

Operation

Retrieve an existing Normalization Config entry or a listing of Normalization Config entries

Request Method

GET

Path

/normalization/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: NormalizationConfig Otherwise: NormalizationConfigs

Operation

Update an existing Normalization Config entry

Request Method

PUT

Path

/normalization/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Normalization Config entry

Request Method

DELETE

Path

/normalization/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Create a new Normalization Config entry

Request Method

POST

Path

/normalization/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
AddressLists

Class: com.opencloud.sentinel.rest.common.AddressLists

JSON
{
  "type" : "object",
  "properties" : {
    "lists" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addressList" type="AddressListsEntryType"/>

  <xs:element name="addressLists" type="AddressListsType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="AddressListsType">
    <xs:sequence>
      <xs:element ref="addressList" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="AddressListsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
AddressListConfig

Class: com.opencloud.sentinel.provisioning.addresslists.AddressListConfig

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "description" : {
      "type" : "string"
    },
    "defaultSearchMode" : {
      "type" : "integer"
    },
    "shouldCache" : {
      "type" : "boolean",
      "required" : true
    },
    "version" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addressListConfig" type="AddressListConfigType"/>

  <xs:complexType name="AddressListConfigType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="defaultSearchMode" type="xs:int"/>
      <xs:element name="shouldCache" type="xs:boolean"/>
      <xs:element name="version" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
AddressListEntry

Class: com.opencloud.sentinel.provisioning.addresslists.AddressListEntry

JSON
{
  "type" : "object",
  "properties" : {
    "address" : {
      "type" : "string"
    },
    "description" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addressListEntry" type="AddressListEntryType"/>

  <xs:complexType name="AddressListEntryType">
    <xs:sequence>
      <xs:element name="address" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
AddressListEntries

Class: com.opencloud.sentinel.rest.common.AddressListEntries

JSON
{
  "type" : "object",
  "properties" : {
    "addresses" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="addressListEntries" type="AddressListEntriesType"/>

  <xs:element name="addressListEntry" type="AddressListEntriesEntryType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="AddressListEntriesType">
    <xs:sequence>
      <xs:element ref="addressListEntry" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="AddressListEntriesEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
NormalizationConfig

Class: com.opencloud.sentinel.provisioning.normalization.NormalizationConfig

JSON
{
  "type" : "object",
  "properties" : {
    "nationalPrefix" : {
      "type" : "string"
    },
    "countryCode" : {
      "type" : "string"
    },
    "networkDialingCode" : {
      "type" : "string"
    },
    "internationalEscapeCode" : {
      "type" : "string"
    },
    "normalizeTo" : {
      "type" : "string"
    },
    "profileVersion" : {
      "type" : "integer"
    },
    "minNormalizableLength" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="normalizationConfig" type="NormalizationConfigType"/>

  <xs:complexType name="NormalizationConfigType">
    <xs:sequence>
      <xs:element name="nationalPrefix" type="xs:string" minOccurs="0"/>
      <xs:element name="countryCode" type="xs:string" minOccurs="0"/>
      <xs:element name="networkDialingCode" type="xs:string" minOccurs="0"/>
      <xs:element name="internationalEscapeCode" type="xs:string" minOccurs="0"/>
      <xs:element name="normalizeTo" type="xs:string" minOccurs="0"/>
      <xs:element name="profileVersion" type="xs:int"/>
      <xs:element name="minNormalizableLength" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
NormalizationConfigs

Class: com.opencloud.sentinel.rest.server.resources.normalization.NormalizationConfigResource$NormalizationConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="normalizationConfig" type="NormalizationConfigsEntryType"/>

  <xs:element name="normalizationConfigs" type="NormalizationConfigsType"/>

  <xs:complexType name="NormalizationConfigsType">
    <xs:sequence>
      <xs:element ref="normalizationConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="NormalizationConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Plans REST API

Resource Plans

Resource

Plans

Workspace

Sentinel Services

Path

/plans

Operations

Operation

Create a new plan

Request Method

POST

Path

/plans

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve a listing of plans

Request Method

GET

Path

/plans

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Retrieve an existing plan

Request Method

GET

Path

/plans/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing plan

Request Method

PUT

Path

/plans/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing plan

Request Method

DELETE

Path

/plans/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Plan

Class: com.opencloud.sentinel.provisioning.plans.Plan

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "description" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="plan" type="PlanType"/>

  <xs:complexType name="PlanType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
Plans

Class: com.opencloud.sentinel.rest.server.resources.PlansResource$Plans

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="plan" type="PlanEntryType"/>

  <xs:element name="plans" type="PlansType"/>

  <xs:complexType name="PlansType">
    <xs:sequence>
      <xs:element ref="plan" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PlanEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Promotions REST API

Resource Promotions

Resource

Promotions

Workspace

Sentinel Services

Path

/promotions

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/promotions

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/promotions/bucketsConfig

Operation

Create a new Promotions Config entry

Request Method

POST

Path

/promotions/bucketsConfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve a listing of Promotions Config entries

Request Method

GET

Path

/promotions/bucketsConfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Retrieve an existing Promotions Config entry

Request Method

GET

Path

/promotions/bucketsConfig/{bucketName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Promotions Config entry

Request Method

PUT

Path

/promotions/bucketsConfig/{bucketName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Promotions Config entry

Request Method

DELETE

Path

/promotions/bucketsConfig/{bucketName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/promotions/configTables

Operation

Retrieve an existing promotion table or a listing of promotion tables

Request Method

GET

Path

/promotions/configTables

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: PromotionTable Otherwise: PromotionTables

Operation

Create a new promotion table

Request Method

POST

Path

/promotions/configTables

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Update an existing promotion table

Request Method

PUT

Path

/promotions/configTables

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing promotion table

Request Method

DELETE

Path

/promotions/configTables

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/promotions/sqlconfig

Operation

Create a new Promotions Config entry

Request Method

POST

Path

/promotions/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Promotions Config entry or a listing of Promotions Config entries

Request Method

GET

Path

/promotions/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: PromotionsSqlConfig Otherwise: PromotionsSqlConfigs

Operation

Update an existing Promotions Config entry

Request Method

PUT

Path

/promotions/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Promotions Config entry

Request Method

DELETE

Path

/promotions/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/promotions/buckets

Operation

Retrieve an existing promotion bucket

Request Method

GET

Path

/promotions/buckets;subscriberId=?;bucketName=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new promotion bucket

Request Method

POST

Path

/promotions/buckets;subscriberId=?;bucketName=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Update an existing promotion bucket

Request Method

PUT

Path

/promotions/buckets;subscriberId=?;bucketName=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing promotion bucket

Request Method

DELETE

Path

/promotions/buckets;subscriberId=?;bucketName=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/promotions/config

Operation

Create a new Promotions Config entry

Request Method

POST

Path

/promotions/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Promotions Config entry or a listing of Promotions Config entries

Request Method

GET

Path

/promotions/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: PromotionsConfig Otherwise: PromotionsConfigs

Operation

Update an existing Promotions Config entry

Request Method

PUT

Path

/promotions/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Promotions Config entry

Request Method

DELETE

Path

/promotions/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
PromotionsBucketsConfig

Class: com.opencloud.sentinel.provisioning.promotions.PromotionsBucketsConfig

JSON
{
  "type" : "object",
  "properties" : {
    "bucketName" : {
      "type" : "string"
    },
    "dataSource" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionsBucketsConfig" type="PromotionsBucketsConfigType"/>

  <xs:complexType name="PromotionsBucketsConfigType">
    <xs:sequence>
      <xs:element name="bucketName" type="xs:string" minOccurs="0"/>
      <xs:element name="dataSource" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
PromotionsBucketsConfigs

Class: com.opencloud.sentinel.rest.server.resources.PromotionBucketsConfigResource$PromotionsBucketsConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="promotionsBucketsConfig" type="PromotionsBucketsConfigsEntryType"/>

  <xs:element name="promotionsBucketsConfigs" type="PromotionsBucketsConfigsType"/>

  <xs:complexType name="PromotionsBucketsConfigsType">
    <xs:sequence>
      <xs:element ref="promotionsBucketsConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PromotionsBucketsConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
PromotionTable

Class: com.opencloud.sentinel.provisioning.promotions.PromotionTable

JSON
{
  "type" : "object",
  "properties" : {
    "promotions" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "promotionName" : {
            "type" : "string"
          },
          "bucketName" : {
            "type" : "string"
          },
          "conditionSrc" : {
            "type" : "string"
          },
          "priority" : {
            "type" : "integer"
          },
          "validityStart" : {
            "type" : "number"
          },
          "validityEnd" : {
            "type" : "number"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionConfig" type="PromotionConfigType"/>

  <xs:element name="promotionTable" type="PromotionTableType"/>

  <xs:complexType name="PromotionTableType">
    <xs:sequence>
      <xs:element ref="promotionConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PromotionConfigType">
    <xs:sequence>
      <xs:element name="promotionName" type="xs:string" minOccurs="0"/>
      <xs:element name="bucketName" type="xs:string" minOccurs="0"/>
      <xs:element name="conditionSrc" type="xs:string" minOccurs="0"/>
      <xs:element name="priority" type="xs:int"/>
      <xs:element name="validityStart" type="xs:long"/>
      <xs:element name="validityEnd" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
PromotionTables

Class: com.opencloud.sentinel.rest.common.PromotionTables

JSON
{
  "type" : "object",
  "properties" : {
    "promotionTables" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "selectionKey" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="promotionTable" type="PromotionTableEntryType"/>

  <xs:element name="promotionTables" type="PromotionTablesType"/>

  <xs:complexType name="PromotionTablesType">
    <xs:sequence>
      <xs:element ref="promotionTable" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PromotionTableEntryType">
    <xs:sequence>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="selectionKey" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
PromotionsSqlConfig

Class: com.opencloud.sentinel.provisioning.promotions.PromotionsSqlConfig

JSON
{
  "type" : "object",
  "properties" : {
    "listAllSQL" : {
      "type" : "string"
    },
    "loadSQL" : {
      "type" : "string"
    },
    "updateSQL" : {
      "type" : "string"
    },
    "deleteSQL" : {
      "type" : "string"
    },
    "addSQL" : {
      "type" : "string"
    },
    "databaseRequestTimeout" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionsSqlConfig" type="PromotionsSqlConfigType"/>

  <xs:complexType name="PromotionsSqlConfigType">
    <xs:sequence>
      <xs:element name="listAllSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="loadSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="updateSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="deleteSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="addSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="databaseRequestTimeout" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
PromotionsSqlConfigs

Class: com.opencloud.sentinel.rest.server.resources.PromotionsSqlResource$PromotionsSqlConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="promotionsSqlConfig" type="PromotionsSqlConfigsEntryType"/>

  <xs:element name="promotionsSqlConfigs" type="PromotionsSqlConfigsType"/>

  <xs:complexType name="PromotionsSqlConfigsType">
    <xs:sequence>
      <xs:element ref="promotionsSqlConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PromotionsSqlConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
PromotionBucket

Class: com.opencloud.sentinel.provisioning.promotions.PromotionBucket

JSON
{
  "type" : "object",
  "properties" : {
    "availableUnits" : {
      "type" : "number"
    },
    "reservedUnits" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionBucket" type="PromotionBucketType"/>

  <xs:complexType name="PromotionBucketType">
    <xs:sequence>
      <xs:element name="availableUnits" type="xs:long"/>
      <xs:element name="reservedUnits" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
PromotionsConfig

Class: com.opencloud.sentinel.provisioning.promotions.PromotionsConfig

JSON
{
  "type" : "object",
  "properties" : {
    "defaultDataSource" : {
      "type" : "string"
    },
    "unitGrantingMode" : {
      "type" : "string"
    },
    "promotionApplicationMode" : {
      "type" : "string"
    },
    "partialGrantingThreshold" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionsConfig" type="PromotionsConfigType"/>

  <xs:complexType name="PromotionsConfigType">
    <xs:sequence>
      <xs:element name="defaultDataSource" type="xs:string" minOccurs="0"/>
      <xs:element name="unitGrantingMode" type="xs:string" minOccurs="0"/>
      <xs:element name="promotionApplicationMode" type="xs:string" minOccurs="0"/>
      <xs:element name="partialGrantingThreshold" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
PromotionsConfigs

Class: com.opencloud.sentinel.rest.server.resources.PromotionsConfigResource$PromotionsConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="promotionsConfig" type="PromotionsConfigsEntryType"/>

  <xs:element name="promotionsConfigs" type="PromotionsConfigsType"/>

  <xs:complexType name="PromotionsConfigsType">
    <xs:sequence>
      <xs:element ref="promotionsConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PromotionsConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Registrar Determine Network Operator REST API

Resource Registrar Determine Network Operator

Resource

Registrar Determine Network Operator

Workspace

Sentinel Registrar Services

Path

/registrardeterminenetworkoperator

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/registrardeterminenetworkoperator

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/registrardeterminenetworkoperator/config

Operation

Create a new Registrar Determine Network Operator config

Request Method

POST

Path

/registrardeterminenetworkoperator/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve a listing of Registrar Determine Network Operator config entries

Request Method

GET

Path

/registrardeterminenetworkoperator/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Retrieve an existing Registrar Determine Network Operator config

Request Method

GET

Path

/registrardeterminenetworkoperator/config/{lookupKey}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Registrar Determine Network Operator config

Request Method

PUT

Path

/registrardeterminenetworkoperator/config/{lookupKey}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Registrar Determine Network Operator config

Request Method

DELETE

Path

/registrardeterminenetworkoperator/config/{lookupKey}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
RegistrarDetermineNetworkOperatorConfig

Class: com.opencloud.sentinel.provisioning.registrardeterminenetworkoperator.RegistrarDetermineNetworkOperatorConfig

JSON
{
  "type" : "object",
  "properties" : {
    "lookupKey" : {
      "type" : "string"
    },
    "networkOperator" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="registrarDetermineNetworkOperatorConfig" type="RegistrarDetermineNetworkOperatorConfigType"/>

  <xs:complexType name="RegistrarDetermineNetworkOperatorConfigType">
    <xs:sequence>
      <xs:element name="lookupKey" type="xs:string" minOccurs="0"/>
      <xs:element name="networkOperator" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
RegistrarDetermineNetworkOperatorLookupKeys

Class: com.opencloud.sentinel.provisioning.rest.registrardeterminenetworkoperator.RegistrarDetermineNetworkOperatorLookupKeys

JSON
{
  "type" : "object",
  "properties" : {
    "lookupKeys" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="lookupKey" type="RegistrarDetermineNetworkOperatorLookupKeysEntryType"/>

  <xs:element name="registrarDetermineNetworkOperatorLookupKeys" type="RegistrarDetermineNetworkOperatorLookupKeysType"/>

  <xs:complexType name="RegistrarDetermineNetworkOperatorLookupKeysType">
    <xs:sequence>
      <xs:element ref="lookupKey" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="RegistrarDetermineNetworkOperatorLookupKeysEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

SCC Conf Handling Config REST API

Resource SCC Conf Handling Config

Resource

SCC Conf Handling Config

Workspace

Sentinel Services

Path

/sccdetermineexternalsessiontracking

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/sccdetermineexternalsessiontracking

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/sccdetermineexternalsessiontracking/config

Operation

Create a new SCC Conf Handling Config Config entry

Request Method

POST

Path

/sccdetermineexternalsessiontracking/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing SCC Conf Handling Config Config entry or a listing of SCC Conf Handling Config Config entries

Request Method

GET

Path

/sccdetermineexternalsessiontracking/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing SCC Conf Handling Config Config entry

Request Method

PUT

Path

/sccdetermineexternalsessiontracking/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing SCC Conf Handling Config Config entry

Request Method

DELETE

Path

/sccdetermineexternalsessiontracking/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SCCDetermineExternalSessionTrackingConfig

Class: com.opencloud.sentinel.provisioning.sccconfhandling.SCCDetermineExternalSessionTrackingConfig

JSON
{
  "type" : "object",
  "properties" : {
    "enableSCCConfHandling" : {
      "type" : "boolean",
      "required" : true
    },
    "confFactoryPSI" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sCCDetermineExternalSessionTrackingConfig" type="SCCDetermineExternalSessionTrackingConfigType"/>

  <xs:complexType name="SCCDetermineExternalSessionTrackingConfigType">
    <xs:sequence>
      <xs:element name="enableSCCConfHandling" type="xs:boolean"/>
      <xs:element name="confFactoryPSI" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SCCDetermineExternalSessionTrackingConfigs

Class: com.opencloud.sentinel.rest.server.resources.sccconfhandling.SCCDetermineExternalSessionTrackingConfigResource$SCCDetermineExternalSessionTrackingConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sCCDetermineExternalSessionTrackingConfig" type="SCCDetermineExternalSessionTrackingConfigsEntryType"/>

  <xs:element name="sCCDetermineExternalSessionTrackingConfigs" type="SCCDetermineExternalSessionTrackingConfigsType"/>

  <xs:complexType name="SCCDetermineExternalSessionTrackingConfigsType">
    <xs:sequence>
      <xs:element ref="sCCDetermineExternalSessionTrackingConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SCCDetermineExternalSessionTrackingConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

SIP Service Configuration REST API

Resource SIP Service Configuration

Resource

SIP Service Configuration

Workspace

Sentinel Services

Path

/sipserviceconfiguration

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/sipserviceconfiguration

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/sipserviceconfiguration/config

Operation

Create a new SIP Service Configuration Config entry

Request Method

POST

Path

/sipserviceconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing SIP Service Configuration Config entry or a listing of SIP Service Configuration Config entries

Request Method

GET

Path

/sipserviceconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing SIP Service Configuration Config entry

Request Method

PUT

Path

/sipserviceconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing SIP Service Configuration Config entry

Request Method

DELETE

Path

/sipserviceconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SIPServiceConfigurationConfig

Class: com.opencloud.sentinel.provisioning.sipserviceconfiguration.SIPServiceConfigurationConfig

JSON
{
  "type" : "object",
  "properties" : {
    "homeNetworkIDs" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "homeCountryCodeIDs" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "maxEventDeliveryCycles" : {
      "type" : "integer"
    },
    "icscfUri" : {
      "type" : "string"
    },
    "iSOCode" : {
      "type" : "string"
    },
    "mCC" : {
      "type" : "string"
    },
    "mNCs" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sIPServiceConfigurationConfig" type="SIPServiceConfigurationConfigType"/>

  <xs:complexType name="SIPServiceConfigurationConfigType">
    <xs:sequence>
      <xs:element name="homeNetworkIDs" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="homeCountryCodeIDs" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="maxEventDeliveryCycles" type="xs:int"/>
      <xs:element name="icscfUri" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="iSOCode" type="xs:string" minOccurs="0"/>
      <xs:element name="mCC" type="xs:string" minOccurs="0"/>
      <xs:element name="mNCs" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SIPServiceConfigurationConfigs

Class: com.opencloud.sentinel.rest.server.resources.sipserviceconfiguration.SIPServiceConfigurationConfigResource$SIPServiceConfigurationConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sIPServiceConfigurationConfig" type="SIPServiceConfigurationConfigsEntryType"/>

  <xs:element name="sIPServiceConfigurationConfigs" type="SIPServiceConfigurationConfigsType"/>

  <xs:complexType name="SIPServiceConfigurationConfigsType">
    <xs:sequence>
      <xs:element ref="sIPServiceConfigurationConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SIPServiceConfigurationConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

SIP Session Control REST API

Resource SIP Session Control

Resource

SIP Session Control

Workspace

Sentinel Services

Path

/sipsessioncontrol

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/sipsessioncontrol

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/sipsessioncontrol/config

Operation

Create a new SIP Session Control Config entry

Request Method

POST

Path

/sipsessioncontrol/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing SIP Session Control Config entry or a listing of SIP Session Control Config entries

Request Method

GET

Path

/sipsessioncontrol/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: SIPSessionControlConfig Otherwise: SIPSessionControlConfigs

Operation

Update an existing SIP Session Control Config entry

Request Method

PUT

Path

/sipsessioncontrol/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing SIP Session Control Config entry

Request Method

DELETE

Path

/sipsessioncontrol/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SIPSessionControlConfig

Class: com.opencloud.sentinel.provisioning.sipsessioncontrol.SIPSessionControlConfig

JSON
{
  "type" : "object",
  "properties" : {
    "sessionControlType" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sIPSessionControlConfig" type="SIPSessionControlConfigType"/>

  <xs:complexType name="SIPSessionControlConfigType">
    <xs:sequence>
      <xs:element name="sessionControlType" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SIPSessionControlConfigs

Class: com.opencloud.sentinel.rest.server.resources.sipsessioncontrol.SIPSessionControlConfigResource$SIPSessionControlConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sIPSessionControlConfig" type="SIPSessionControlConfigsEntryType"/>

  <xs:element name="sIPSessionControlConfigs" type="SIPSessionControlConfigsType"/>

  <xs:complexType name="SIPSessionControlConfigsType">
    <xs:sequence>
      <xs:element ref="sIPSessionControlConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SIPSessionControlConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

SIP Third Party Call REST API

Resource SIP Third Party Call

Resource

SIP Third Party Call

Workspace

Sentinel Services

Path

/sipthirdpartycall

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/sipthirdpartycall

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/sipthirdpartycall/config

Operation

Create a new SIP Third Party Call Config entry

Request Method

POST

Path

/sipthirdpartycall/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing SIP Third Party Call Config entry or a listing of SIP Third Party Call Config entries

Request Method

GET

Path

/sipthirdpartycall/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: SIPThirdPartyCallConfig Otherwise: SIPThirdPartyCallConfigs

Operation

Update an existing SIP Third Party Call Config entry

Request Method

PUT

Path

/sipthirdpartycall/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing SIP Third Party Call Config entry

Request Method

DELETE

Path

/sipthirdpartycall/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SIPThirdPartyCallConfig

Class: com.opencloud.sentinel.provisioning.sipthirdpartycall.SIPThirdPartyCallConfig

JSON
{
  "type" : "object",
  "properties" : {
    "expiresHeader" : {
      "type" : "integer"
    },
    "maxForwardsHeader" : {
      "type" : "integer"
    },
    "supportedHeader" : {
      "type" : "string"
    },
    "routeHeaderURI" : {
      "type" : "string"
    },
    "userAgentHeader" : {
      "type" : "string"
    },
    "transport" : {
      "type" : "string"
    },
    "isSipURIUsed" : {
      "type" : "boolean",
      "required" : true
    },
    "sipURIDomain" : {
      "type" : "string"
    },
    "noAnswerApplicationTimer" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sIPThirdPartyCallConfig" type="SIPThirdPartyCallConfigType"/>

  <xs:complexType name="SIPThirdPartyCallConfigType">
    <xs:sequence>
      <xs:element name="expiresHeader" type="xs:int"/>
      <xs:element name="maxForwardsHeader" type="xs:int"/>
      <xs:element name="supportedHeader" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="routeHeaderURI" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="userAgentHeader" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="transport" type="xs:string" minOccurs="0"/>
      <xs:element name="isSipURIUsed" type="xs:boolean"/>
      <xs:element name="sipURIDomain" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="noAnswerApplicationTimer" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SIPThirdPartyCallConfigs

Class: com.opencloud.sentinel.rest.server.resources.sipthirdpartycall.SIPThirdPartyCallConfigResource$SIPThirdPartyCallConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sIPThirdPartyCallConfig" type="SIPThirdPartyCallConfigsEntryType"/>

  <xs:element name="sIPThirdPartyCallConfigs" type="SIPThirdPartyCallConfigsType"/>

  <xs:complexType name="SIPThirdPartyCallConfigsType">
    <xs:sequence>
      <xs:element ref="sIPThirdPartyCallConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SIPThirdPartyCallConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

SS7 Call Configuration REST API

Resource SS7 Call Configuration

Resource

SS7 Call Configuration

Workspace

Sentinel Services

Path

/ss7callconfiguration

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/ss7callconfiguration

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/ss7callconfiguration/config

Operation

Create a new SS7 Call Configuration Config entry

Request Method

POST

Path

/ss7callconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing SS7 Call Configuration Config entry or a listing of SS7 Call Configuration Config entries

Request Method

GET

Path

/ss7callconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: SS7CallConfigurationConfig Otherwise: SS7CallConfigurationConfigs

Operation

Update an existing SS7 Call Configuration Config entry

Request Method

PUT

Path

/ss7callconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing SS7 Call Configuration Config entry

Request Method

DELETE

Path

/ss7callconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SS7CallConfigurationConfig

Class: com.opencloud.sentinel.provisioning.ss7callconfig.SS7CallConfigurationConfig

JSON
{
  "type" : "object",
  "properties" : {
    "thirdPartyCallSetupScfAddress" : {
      "type" : "string"
    },
    "thirdPartyCallSetupGmscAddress" : {
      "type" : "string"
    },
    "noAnswerApplicationTimer" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sS7CallConfigurationConfig" type="SS7CallConfigurationConfigType"/>

  <xs:complexType name="SS7CallConfigurationConfigType">
    <xs:sequence>
      <xs:element name="thirdPartyCallSetupScfAddress" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="thirdPartyCallSetupGmscAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="noAnswerApplicationTimer" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SS7CallConfigurationConfigs

Class: com.opencloud.sentinel.rest.server.resources.ss7callconfig.SS7CallConfigurationConfigResource$SS7CallConfigurationConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sS7CallConfigurationConfig" type="SS7CallConfigurationConfigsEntryType"/>

  <xs:element name="sS7CallConfigurationConfigs" type="SS7CallConfigurationConfigsType"/>

  <xs:complexType name="SS7CallConfigurationConfigsType">
    <xs:sequence>
      <xs:element ref="sS7CallConfigurationConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SS7CallConfigurationConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

SS7 Diameter Configuration REST API

Resource SS7 Diameter Configuration

Resource

SS7 Diameter Configuration

Workspace

Sentinel Services

Path

/ss7diameterconfiguration

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/ss7diameterconfiguration

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/ss7diameterconfiguration/config

Operation

Create a new SS7 Diameter Configuration Config entry

Request Method

POST

Path

/ss7diameterconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing SS7 Diameter Configuration Config entry or a listing of SS7 Diameter Configuration Config entries

Request Method

GET

Path

/ss7diameterconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing SS7 Diameter Configuration Config entry

Request Method

PUT

Path

/ss7diameterconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing SS7 Diameter Configuration Config entry

Request Method

DELETE

Path

/ss7diameterconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SS7DiameterConfigurationConfig

Class: com.opencloud.sentinel.provisioning.ss7diameter.SS7DiameterConfigurationConfig

JSON
{
  "type" : "object",
  "properties" : {
    "eventChargingType" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sS7DiameterConfigurationConfig" type="SS7DiameterConfigurationConfigType"/>

  <xs:complexType name="SS7DiameterConfigurationConfigType">
    <xs:sequence>
      <xs:element name="eventChargingType" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SS7DiameterConfigurationConfigs

Class: com.opencloud.sentinel.rest.server.resources.ss7diameter.SS7DiameterConfigurationConfigResource$SS7DiameterConfigurationConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sS7DiameterConfigurationConfig" type="SS7DiameterConfigurationConfigsEntryType"/>

  <xs:element name="sS7DiameterConfigurationConfigs" type="SS7DiameterConfigurationConfigsType"/>

  <xs:complexType name="SS7DiameterConfigurationConfigsType">
    <xs:sequence>
      <xs:element ref="sS7DiameterConfigurationConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SS7DiameterConfigurationConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

SS7 Relay Dialog ConfigurationProfile REST API

Resource SS7 Relay Dialog ConfigurationProfile

Resource

SS7 Relay Dialog ConfigurationProfile

Workspace

Sentinel Services

Path

/relaydialogconfiguration

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/relaydialogconfiguration

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/relaydialogconfiguration/config

Operation

Create a new SS7 Relay Dialog ConfigurationProfile Config entry

Request Method

POST

Path

/relaydialogconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing SS7 Relay Dialog ConfigurationProfile Config entry or a listing of SS7 Relay Dialog ConfigurationProfile Config entries

Request Method

GET

Path

/relaydialogconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing SS7 Relay Dialog ConfigurationProfile Config entry

Request Method

PUT

Path

/relaydialogconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing SS7 Relay Dialog ConfigurationProfile Config entry

Request Method

DELETE

Path

/relaydialogconfiguration/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
RelayDialogConfigurationConfig

Class: com.opencloud.sentinel.provisioning.relaydialog.RelayDialogConfigurationConfig

JSON
{
  "type" : "object",
  "properties" : {
    "relayDestinationSccpAddressString" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="relayDialogConfigurationConfig" type="RelayDialogConfigurationConfigType"/>

  <xs:complexType name="RelayDialogConfigurationConfigType">
    <xs:sequence>
      <xs:element name="relayDestinationSccpAddressString" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
RelayDialogConfigurationConfigs

Class: com.opencloud.sentinel.rest.server.resources.relaydialog.RelayDialogConfigurationConfigResource$RelayDialogConfigurationConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="relayDialogConfigurationConfig" type="RelayDialogConfigurationConfigsEntryType"/>

  <xs:element name="relayDialogConfigurationConfigs" type="RelayDialogConfigurationConfigsType"/>

  <xs:complexType name="RelayDialogConfigurationConfigsType">
    <xs:sequence>
      <xs:element ref="relayDialogConfigurationConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="RelayDialogConfigurationConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

SS7 Session Control REST API

Resource SS7 Session Control

Resource

SS7 Session Control

Workspace

Sentinel Services

Path

/ss7sessioncontrol

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/ss7sessioncontrol

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/ss7sessioncontrol/config

Operation

Create a new SS7 Session Control Config entry

Request Method

POST

Path

/ss7sessioncontrol/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing SS7 Session Control Config entry or a listing of SS7 Session Control Config entries

Request Method

GET

Path

/ss7sessioncontrol/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: SS7SessionControlConfig Otherwise: SS7SessionControlConfigs

Operation

Update an existing SS7 Session Control Config entry

Request Method

PUT

Path

/ss7sessioncontrol/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing SS7 Session Control Config entry

Request Method

DELETE

Path

/ss7sessioncontrol/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SS7SessionControlConfig

Class: com.opencloud.sentinel.provisioning.ss7sessioncontrol.SS7SessionControlConfig

JSON
{
  "type" : "object",
  "properties" : {
    "sessionControlType" : {
      "type" : "string"
    },
    "preferredEndCallChargingEvent" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sS7SessionControlConfig" type="SS7SessionControlConfigType"/>

  <xs:complexType name="SS7SessionControlConfigType">
    <xs:sequence>
      <xs:element name="sessionControlType" type="xs:string" minOccurs="0"/>
      <xs:element name="preferredEndCallChargingEvent" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SS7SessionControlConfigs

Class: com.opencloud.sentinel.rest.server.resources.ss7sessioncontrol.SS7SessionControlConfigResource$SS7SessionControlConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sS7SessionControlConfig" type="SS7SessionControlConfigsEntryType"/>

  <xs:element name="sS7SessionControlConfigs" type="SS7SessionControlConfigsType"/>

  <xs:complexType name="SS7SessionControlConfigsType">
    <xs:sequence>
      <xs:element ref="sS7SessionControlConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SS7SessionControlConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Sentinel Core REST API

Resource Sentinel Core

Resource

Sentinel Core

Workspace

Sentinel Services

Path

/sentinelcore

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/sentinelcore

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/sentinelcore/config

Operation

Create a new Sentinel core config

Request Method

POST

Path

/sentinelcore/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve the existing Sentinel core config

Request Method

GET

Path

/sentinelcore/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update the existing Sentinel core config

Request Method

PUT

Path

/sentinelcore/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete the existing Sentinel core config

Request Method

DELETE

Path

/sentinelcore/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SentinelCoreConfig

Class: com.opencloud.sentinel.provisioning.core.SentinelCoreConfig

JSON
{
  "type" : "object",
  "properties" : {
    "platformOperator" : {
      "type" : "string"
    },
    "defaultNetworkOperator" : {
      "type" : "string"
    },
    "networkOperators" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "httpParameterForHttpDetermineNetworkOperator" : {
      "type" : "string"
    },
    "defaultOcsEntityId" : {
      "type" : "string"
    },
    "maximumCallDuration" : {
      "type" : "string"
    },
    "featureTimeOut" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sentinelCoreConfig" type="SentinelCoreConfigType"/>

  <xs:complexType name="SentinelCoreConfigType">
    <xs:sequence>
      <xs:element name="platformOperator" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="defaultNetworkOperator" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="networkOperators" nillable="true" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="httpParameterForHttpDetermineNetworkOperator" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="defaultOcsEntityId" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="maximumCallDuration" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="featureTimeOut" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

Sentinel Install Information REST API

Resource Sentinel Install Information

Resource

Sentinel Install Information

Workspace

Sentinel Services

Path

/installinfo

Operations

Operation

Retrieve feature metadata for the specified feature

Request Method

HEAD

Path

/installinfo/features/{featureGroup}/{featureName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

Undefined

Response Headers

None

Response Body

Not used

Schemas

Sentinel Registrar REST API

Resource Sentinel Registrar

Resource

Sentinel Registrar

Workspace

Sentinel Services

Path

/sentinelregistrar

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/sentinelregistrar

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/sentinelregistrar/config

Operation

Create a new Sentinel Registrar Config entry

Request Method

POST

Path

/sentinelregistrar/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Sentinel Registrar Config entry or a listing of Sentinel Registrar Config entries

Request Method

GET

Path

/sentinelregistrar/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: SentinelRegistrarConfig Otherwise: SentinelRegistrarConfigs

Operation

Update an existing Sentinel Registrar Config entry

Request Method

PUT

Path

/sentinelregistrar/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Sentinel Registrar Config entry

Request Method

DELETE

Path

/sentinelregistrar/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SentinelRegistrarConfig

Class: com.opencloud.sentinel.provisioning.registrar.SentinelRegistrarConfig

JSON
{
  "type" : "object",
  "properties" : {
    "atuSti" : {
      "type" : "string"
    },
    "atcfUpdateTimeout" : {
      "type" : "number"
    },
    "subscriberDataFacadeType" : {
      "type" : "string"
    },
    "stnSr" : {
      "type" : "string"
    },
    "writeAuditCdr" : {
      "type" : "boolean",
      "required" : true
    },
    "auditCdrPrivateIdFilter" : {
      "type" : "string"
    },
    "cdrStreamName" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sentinelRegistrarConfig" type="SentinelRegistrarConfigType"/>

  <xs:complexType name="SentinelRegistrarConfigType">
    <xs:sequence>
      <xs:element name="atuSti" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="atcfUpdateTimeout" type="xs:long"/>
      <xs:element name="subscriberDataFacadeType" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="stnSr" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="writeAuditCdr" type="xs:boolean"/>
      <xs:element name="auditCdrPrivateIdFilter" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="cdrStreamName" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SentinelRegistrarConfigs

Class: com.opencloud.sentinel.rest.server.resources.registrar.SentinelRegistrarConfigResource$SentinelRegistrarConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sentinelRegistrarConfig" type="SentinelRegistrarConfigsEntryType"/>

  <xs:element name="sentinelRegistrarConfigs" type="SentinelRegistrarConfigsType"/>

  <xs:complexType name="SentinelRegistrarConfigsType">
    <xs:sequence>
      <xs:element ref="sentinelRegistrarConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SentinelRegistrarConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Session Types REST API

Resource Session Types

Resource

Session Types

Workspace

Sentinel Services

Path

/sessiontypes

Operations

Operation

Retrieve a listing of session types

Request Method

GET

Path

/sessiontypes

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new session type

Request Method

POST

Path

/sessiontypes

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing session type

Request Method

GET

Path

/sessiontypes/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing session type

Request Method

PUT

Path

/sessiontypes/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing session type

Request Method

DELETE

Path

/sessiontypes/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

SessionTypes

Class: com.opencloud.sentinel.rest.server.resources.SessionTypesResource$SessionTypes

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="sessionType" type="SessionTypeEntryType"/>

  <xs:element name="sessionTypes" type="SessionTypesType"/>

  <xs:complexType name="SessionTypesType">
    <xs:sequence>
      <xs:element ref="sessionType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SessionTypeEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SessionType

Class: com.opencloud.sentinel.provisioning.sessiontypes.SessionType

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "description" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="sessionType" type="SessionTypeType"/>

  <xs:complexType name="SessionTypeType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

ShCache cache handling REST API

Resource ShCache cache handling

Resource

ShCache cache handling

Workspace

VoLTE Services

Path

shcache

Operations

Operation

Drop/invalidate data caches or cache entries, depending on the parameters.

Request Method

DELETE

Path

shcache

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Get total number of caches

Request Method

GET

Path

shcache

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Not used

shcache/{dataReference}

Operation

Drop/invalidate data caches or cache entries, depending on the parameters.

Request Method

DELETE

Path

shcache/{dataReference};serviceIndication=?;userIdentity=?;userIdentityType=?;privateIdentity=?;applicationServerName=?;dsaiTags=?;identitySets=?;currentLocation=?;servingNodeIndication=?;requestedNodes=?;localTimeZoneIndication=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Get total number of caches or cache entries

Request Method

GET

Path

shcache/{dataReference};serviceIndication=?;userIdentity=?;userIdentityType=?;privateIdentity=?;applicationServerName=?;dsaiTags=?;identitySets=?;currentLocation=?;servingNodeIndication=?;requestedNodes=?;localTimeZoneIndication=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Not used

Schemas

Subscriber Data REST API

Resource Subscriber Data

Resource

Subscriber Data

Workspace

Sentinel Services

Path

/subscriberdata

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/subscriberdata

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/subscriberdata/lookupconfig

Operation

Retrieve an existing Subscriber Data Config entry or a listing of Subscriber Data Config entries

Request Method

GET

Path

/subscriberdata/lookupconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Subscriber Data Config entry

Request Method

PUT

Path

/subscriberdata/lookupconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Subscriber Data Config entry

Request Method

DELETE

Path

/subscriberdata/lookupconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Create a new Subscriber Data Config entry

Request Method

POST

Path

/subscriberdata/lookupconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

/subscriberdata/sqlconfig

Operation

Create a new Subscriber Data Config entry

Request Method

POST

Path

/subscriberdata/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Subscriber Data Config entry or a listing of Subscriber Data Config entries

Request Method

GET

Path

/subscriberdata/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Subscriber Data Config entry

Request Method

PUT

Path

/subscriberdata/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Subscriber Data Config entry

Request Method

DELETE

Path

/subscriberdata/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/subscriberdata/records

Operation

Create a new subscriber data record

Request Method

POST

Path

/subscriberdata/records

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing subscriber data record

Request Method

GET

Path

/subscriberdata/records/{subscriberId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Retrieve IMS public user identities for an existing subscriber data record

Request Method

GET

Path

/subscriberdata/records/{subscriberId}/imsPublicUserIdentities

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing subscriber data record

Request Method

PUT

Path

/subscriberdata/records/{subscriberId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Update IMS public user identities for an existing subscriber data record

Request Method

PUT

Path

/subscriberdata/records/{subscriberId}/imsPublicUserIdentities

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Add an IMS public user identity for an existing subscriber data record

Request Method

POST

Path

/subscriberdata/records/{subscriberId}/imsPublicUserIdentities

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Remove an IMS public user identity from an existing subscriber data record

Request Method

DELETE

Path

/subscriberdata/records/{subscriberId}/imsPublicUserIdentities/{imsPublicUserIdentity}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing subscriber data record

Request Method

DELETE

Path

/subscriberdata/records/{subscriberId}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/subscriberdata/fields

Operation

Create a new subscriber data lookup fields config

Request Method

POST

Path

/subscriberdata/fields

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing subscriber data lookup fields config or a listing of subscriber data lookup fields configs

Request Method

GET

Path

/subscriberdata/fields

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing subscriber data lookup fields config

Request Method

PUT

Path

/subscriberdata/fields

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing subscriber data lookup fields config

Request Method

DELETE

Path

/subscriberdata/fields

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SubscriberDataLookupLookupConfig

Class: com.opencloud.sentinel.provisioning.subscriberdata.SubscriberDataLookupLookupConfig

JSON
{
  "type" : "object",
  "properties" : {
    "lookupType" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="subscriberDataLookupLookupConfig" type="SubscriberDataLookupLookupConfigType"/>

  <xs:complexType name="SubscriberDataLookupLookupConfigType">
    <xs:sequence>
      <xs:element name="lookupType" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SubscriberDataLookupLookupConfigs

Class: com.opencloud.sentinel.rest.server.resources.SubscriberDataLookupConfigResource$SubscriberDataLookupLookupConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="subscriberDataLookupLookupConfig" type="SubscriberDataLookupLookupConfigsEntryType"/>

  <xs:element name="subscriberDataLookupLookupConfigs" type="SubscriberDataLookupLookupConfigsType"/>

  <xs:complexType name="SubscriberDataLookupLookupConfigsType">
    <xs:sequence>
      <xs:element ref="subscriberDataLookupLookupConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SubscriberDataLookupLookupConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SubscriberDataLookupSqlConfig

Class: com.opencloud.sentinel.provisioning.subscriberdata.SubscriberDataLookupSqlConfig

JSON
{
  "type" : "object",
  "properties" : {
    "listSQL" : {
      "type" : "string"
    },
    "loadSQL" : {
      "type" : "string"
    },
    "updateSQL" : {
      "type" : "string"
    },
    "deleteSQL" : {
      "type" : "string"
    },
    "insertSQL" : {
      "type" : "string"
    },
    "loadByImsPublicUserIdentitySQL" : {
      "type" : "string"
    },
    "listImsPublicUserIdentitiesSQL" : {
      "type" : "string"
    },
    "insertImsPublicUserIdentitySQL" : {
      "type" : "string"
    },
    "deleteImsPublicUserIdentitySQL" : {
      "type" : "string"
    },
    "deleteAllImsPublicUserIdentitiesForSubscriberSQL" : {
      "type" : "string"
    },
    "databaseRequestTimeout" : {
      "type" : "integer"
    },
    "asynchronousQuery" : {
      "type" : "boolean",
      "required" : true
    },
    "useImsPublicUserIdentities" : {
      "type" : "boolean",
      "required" : true
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="subscriberDataLookupSqlConfig" type="SubscriberDataLookupSqlConfigType"/>

  <xs:complexType name="SubscriberDataLookupSqlConfigType">
    <xs:sequence>
      <xs:element name="listSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="loadSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="updateSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="deleteSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="insertSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="loadByImsPublicUserIdentitySQL" type="xs:string" minOccurs="0"/>
      <xs:element name="listImsPublicUserIdentitiesSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="insertImsPublicUserIdentitySQL" type="xs:string" minOccurs="0"/>
      <xs:element name="deleteImsPublicUserIdentitySQL" type="xs:string" minOccurs="0"/>
      <xs:element name="deleteAllImsPublicUserIdentitiesForSubscriberSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="databaseRequestTimeout" type="xs:int"/>
      <xs:element name="asynchronousQuery" type="xs:boolean"/>
      <xs:element name="useImsPublicUserIdentities" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
SubscriberDataLookupSqlConfigs

Class: com.opencloud.sentinel.rest.server.resources.SubscriberDataSqlResource$SubscriberDataLookupSqlConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="subscriberDataLookupSqlConfig" type="SubscriberDataLookupSqlConfigsEntryType"/>

  <xs:element name="subscriberDataLookupSqlConfigs" type="SubscriberDataLookupSqlConfigsType"/>

  <xs:complexType name="SubscriberDataLookupSqlConfigsType">
    <xs:sequence>
      <xs:element ref="subscriberDataLookupSqlConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SubscriberDataLookupSqlConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
SubscriberDataRecord

Class: com.opencloud.sentinel.provisioning.subscriberdata.SubscriberDataRecord

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "subscriberData" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "String", "Boolean", "Integer", "String[]", "Date", "Date[]" ]
          },
          "valueString" : {
            "type" : "string"
          },
          "valueInt" : {
            "type" : "integer"
          },
          "valueBoolean" : {
            "type" : "boolean"
          },
          "valueArray" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "valueDate" : {
            "type" : "number"
          },
          "valueDateArray" : {
            "type" : "array",
            "items" : {
              "type" : "number"
            }
          }
        }
      }
    },
    "imsPublicUserIdentities" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="subscriberDataItem" type="SubscriberDataItemType"/>

  <xs:element name="subscriberDataRecord" type="SubscriberDataRecordType"/>

  <xs:complexType name="SubscriberDataRecordType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element ref="subscriberDataItem" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="imsPublicUserIdentities" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="imsPublicUserIdentity" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubscriberDataItemType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="type" type="dataType" minOccurs="0"/>
      <xs:element name="valueString" type="xs:string" minOccurs="0"/>
      <xs:element name="valueInt" type="xs:int" minOccurs="0"/>
      <xs:element name="valueBoolean" type="xs:boolean" minOccurs="0"/>
      <xs:element name="valueArray" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="valueDate" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="valueDateArray" type="xs:dateTime" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="dataType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="String"/>
      <xs:enumeration value="Boolean"/>
      <xs:enumeration value="Integer"/>
      <xs:enumeration value="String[]"/>
      <xs:enumeration value="Date"/>
      <xs:enumeration value="Date[]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
ImsPublicUserIdentities

Class: com.opencloud.sentinel.rest.subscriberdata.ImsPublicUserIdentities

JSON
{
  "type" : "any"
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="imsPublicUserIdentities" type="ImsPublicUserIdentitiesType"/>

  <xs:complexType name="ImsPublicUserIdentitiesType">
    <xs:sequence>
      <xs:element name="imsPublicUserIdentity" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
String

Class: java.lang.String

JSON
{
  "type" : "string"
}
XML
SubscriberDataLookupFields

Class: com.opencloud.sentinel.provisioning.subscriberdata.SubscriberDataLookupFields

JSON
{
  "type" : "object",
  "properties" : {
    "fields" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "String", "Boolean", "Integer", "String[]", "Date", "Date[]" ]
          },
          "sessionStateFieldName" : {
            "type" : "string"
          },
          "resFieldName" : {
            "type" : "string"
          },
          "colIdx" : {
            "type" : "string"
          },
          "insertParamIdx" : {
            "type" : "integer"
          },
          "updateParamIdx" : {
            "type" : "integer"
          },
          "displayName" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "required" : {
            "type" : "boolean",
            "required" : true
          },
          "idField" : {
            "type" : "boolean",
            "required" : true
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="subscriberDataLookupField" type="SubscriberDataLookupFieldType"/>

  <xs:element name="subscriberDataLookupFields" type="SubscriberDataLookupFieldsType"/>

  <xs:complexType name="SubscriberDataLookupFieldsType">
    <xs:sequence>
      <xs:element ref="subscriberDataLookupField" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SubscriberDataLookupFieldType">
    <xs:sequence>
      <xs:element name="type" type="dataType" minOccurs="0"/>
      <xs:element name="sessionStateFieldName" type="xs:string" minOccurs="0"/>
      <xs:element name="resFieldName" type="xs:string" minOccurs="0"/>
      <xs:element name="colIdx" type="xs:string" minOccurs="0"/>
      <xs:element name="insertParamIdx" type="xs:int"/>
      <xs:element name="updateParamIdx" type="xs:int"/>
      <xs:element name="displayName" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="required" type="xs:boolean"/>
      <xs:element name="idField" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="dataType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="String"/>
      <xs:enumeration value="Boolean"/>
      <xs:enumeration value="Integer"/>
      <xs:enumeration value="String[]"/>
      <xs:enumeration value="Date"/>
      <xs:enumeration value="Date[]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
SubscriberDataLookupFieldsListing

Class: com.opencloud.sentinel.rest.server.resources.SubscriberDataLookupFieldsResource$SubscriberDataLookupFieldsListing

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="subscriberDataLookupFieldsEntry" type="SubscriberDataLookupFieldsEntryType"/>

  <xs:element name="subscriberDataLookupFieldsListing" type="SubscriberDataLookupFieldsListingType"/>

  <xs:complexType name="SubscriberDataLookupFieldsListingType">
    <xs:sequence>
      <xs:element ref="subscriberDataLookupFieldsEntry" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SubscriberDataLookupFieldsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

Subscriptions REST API

Resource Subscriptions

Resource

Subscriptions

Workspace

Sentinel Services

Path

/subscriptions

Operations

Operation

Retrieve a listing of subscriptions

Request Method

GET

Path

/subscriptions

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new subscription

Request Method

POST

Path

/subscriptions

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing subscription

Request Method

GET

Path

/subscriptions/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing subscription

Request Method

PUT

Path

/subscriptions/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing subscription

Request Method

DELETE

Path

/subscriptions/{name}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Subscriptions

Class: com.opencloud.sentinel.rest.server.resources.SubscriptionsResource$Subscriptions

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="subscription" type="SubscriptionEntryType"/>

  <xs:element name="subscriptions" type="SubscriptionsType"/>

  <xs:complexType name="SubscriptionsType">
    <xs:sequence>
      <xs:element ref="subscription" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SubscriptionEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
Subscription

Class: com.opencloud.sentinel.provisioning.subscriptions.Subscription

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "description" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="subscription" type="SubscriptionType"/>

  <xs:complexType name="SubscriptionType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

XCAP Configuration REST API

Resource XCAP Configuration

Resource

XCAP Configuration

Workspace

VoLTE Services

Path

/voltexcap

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/voltexcap

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/voltexcap/simservshssmappings

Operation

Create a new XCAP simservs HSS mapping set

Request Method

POST

Path

/voltexcap/simservshssmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing XCAP simservs HSS mapping set

Request Method

GET

Path

/voltexcap/simservshssmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: XcapSimservsHssMappingSetDto Otherwise: XcapSimservsHssMappingSets

Operation

Update an existing XCAP simservs HSS mapping set

Request Method

PUT

Path

/voltexcap/simservshssmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing XCAP simservs HSS mapping set

Request Method

DELETE

Path

/voltexcap/simservshssmappings

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • networkOperator — the network operator scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
XcapSimservsHssMappingSetDto

Class: com.opencloud.volte.sentinel.provisioning.simservs.xcap.XcapSimservsHssMappingSetDto

JSON
{
  "type" : "object",
  "properties" : {
    "mappingGroups" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "serviceIndication" : {
            "type" : "string"
          },
          "serviceDataClass" : {
            "type" : "string"
          },
          "serviceDataCodecClass" : {
            "type" : "string"
          },
          "jxpathFactoryClass" : {
            "type" : "string"
          },
          "mappings" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "name" : {
                  "type" : "string"
                },
                "xPath" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="xcapSimservsHssMapping" type="XcapSimservsHssMappingType"/>

  <xs:element name="xcapSimservsHssMappingGroup" type="XcapSimservsHssMappingGroupType"/>

  <xs:element name="xcapSimservsHssMappingSet" type="XcapSimservsHssMappingSetType"/>

  <xs:complexType name="XcapSimservsHssMappingSetType">
    <xs:sequence>
      <xs:element name="mappingGroups" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="xcapSimservsHssMappingGroup" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="XcapSimservsHssMappingGroupType">
    <xs:sequence>
      <xs:element name="serviceIndication" type="xs:string"/>
      <xs:element name="serviceDataClass" type="xs:string"/>
      <xs:element name="serviceDataCodecClass" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="jxpathFactoryClass" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="mappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="xcapSimservsHssMapping" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="XcapSimservsHssMappingType">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="xPath" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
XcapSimservsHssMappingSets

Class: com.opencloud.volte.sentinel.rest.server.resources.XcapSimservsHssMappingsResource$XcapSimservsHssMappingSets

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="xcapSimservsHssMappingSet" type="XcapSimservsHssMappingSetEntryType"/>

  <xs:element name="xcapSimservsHssMappingSets" type="XcapSimservsHssMappingSetsType"/>

  <xs:complexType name="XcapSimservsHssMappingSetsType">
    <xs:sequence>
      <xs:element ref="xcapSimservsHssMappingSet" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="XcapSimservsHssMappingSetEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

XCAP Server Configuration REST API

Resource XCAP Server Configuration

Resource

XCAP Server Configuration

Workspace

Sentinel Services

Path

/xcap

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/xcap

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/xcap/hostmappings

Operation

Retrieve a listing of XCAP host mappings

Request Method

GET

Path

/xcap/hostmappings

Parameters

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new XCAP host mapping

Request Method

POST

Path

/xcap/hostmappings

Parameters

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing XCAP host mapping

Request Method

GET

Path

/xcap/hostmappings/{hostname}

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing XCAP host mapping

Request Method

PUT

Path

/xcap/hostmappings/{hostname}

Parameters

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing XCAP host mapping

Request Method

DELETE

Path

/xcap/hostmappings/{hostname}

Parameters

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
XcapHostMappings

Class: com.opencloud.sentinel.rest.server.resources.XcapHostMappingResource$XcapHostMappings

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="xcapHostMapping" type="XcapHostMappingEntryType"/>

  <xs:element name="xcapHostMappings" type="XcapHostMappingsType"/>

  <xs:complexType name="XcapHostMappingsType">
    <xs:sequence>
      <xs:element ref="xcapHostMapping" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="XcapHostMappingEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
XcapHostMappingDto

Class: com.opencloud.sentinel.provisioning.xcap.XcapHostMappingDto

JSON
{
  "type" : "object",
  "properties" : {
    "hostname" : {
      "type" : "string"
    },
    "rhinoInstanceId" : {
      "type" : "string"
    },
    "networkOperator" : {
      "type" : "string"
    },
    "remUserAccount" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="xcapHostMapping" type="XcapHostMappingType"/>

  <xs:complexType name="XcapHostMappingType">
    <xs:sequence>
      <xs:element name="hostname" type="xs:string"/>
      <xs:element name="rhinoInstanceId" type="xs:string"/>
      <xs:element name="networkOperator" type="xs:string" nillable="true" minOccurs="0"/>
      <xs:element name="remUserAccount" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

Sh Cache REST API

The Sentinel REM extension provides a RESTful API for invalidating caches and cache entries managed by the Sh Cache RA.

It is based on the Sh Cache Resource Adaptor’s Invalidation Management API, as detailed in the Cache invalidation section of the Sh Cache RA documentation.

Tip The basic mechanism for accessing this REST API is the same as for the rest of the Sentinel VoLTE Provisioning REST API.

This page covers

Dropping caches and invalidating cache entries

The Sh Cache section of the api, within the /rem/sentinel/api/shcache path, is chiefly concerned with dropping whole caches, and invalidating individual cache entries. Both of these are achieved by issuing a DELETE request for the appropriate URL.

For example, DELETE with path /rem/sentinel/api/shcache would drop all caches.

As another example, invalidating a single entry within a cache is also achieved using a DELETE request, but with URL matrix parameters to specify which cache entry should be deleted. E.g.:

/rem/sentinel/api/shcache/cs-user-state
  ;userIdentity=0211111111;userIdentityType=msisdn;requestedNodes=1.

Note that these DELETE operations take effect across the cluster as a whole.

Accessing cache counts and cache entry counts

For each DELETE operation which operates on either whole caches, or individual cache entries, there is an analogous GET operation which can be used to inspect a count related to those caches or cache entries.

Note that these operations only query cache information from the single node which services the request, rather than from the cluster as a whole. This is in contrast to the DELETE requests which operate on the cluster as a whole. These GET requests therefore are useful more for integration testing, and are not appropriate for querying the definitive state of the caches across the whole cluster.

Notes on URL format

Notes on the format of the URL schemes below:

  • {someValue} indicates a position where some value should be supplied.

  • A […​] indicates an optional part of the URL. E.g.: [;privateIdentity={privateIdentity}].

  • An alternative is indicated as (A|B), where either A or B should be specified.

  • The available values for many of the URL parameters are described in available arguments for individual parameters.

Specifying the Rhino Instance Id

For all requests, the ?rhinoInstanceId={rhinoInstanceId} URL query parameter must be specified after the URL path, and after any URL matrix parameters.

An example of a full URL for a DELETE request:

http://thehostname/rem/sentinel/api/shcache/repository-data
  ;serviceIndication=MMTEL-Services
  ;userIdentity=sip:alice@home1.opencloud.co.nz?rhinoInstanceId=Local

After the path (ending with repository-data), we see the URL matrix parameters (each of the form ;key=value), followed by the URL query parameter ?rhinoInstanceId=Local at the end.

The value of the rhinoInstanceId parameter is the ID of the Rhino instance to connect to. This should exactly match the name of a Rhino instance configured in the Rhino Element Manager (REM), such as ?rhinoInstanceId=Local.

For the sake of brevity, the rest of this document assumes that the query parameter ?rhinoInstanceId={rhinoInstanceId} is appended to all DELETE and GET requests related to the this API, and it is not explicitly included in the URLs below.

URLs for querying or dropping whole caches

For these URLs:

  • A GET request returns the number of caches present on the node which services the request.

  • A DELETE request drops the caches across all nodes in the cluster.

A successful GET request will return a 200 OK response, containing a response body such as the following:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cacheInfo><cacheCount>1</cacheCount></cacheInfo>

A successful DELETE request will return a 204 No Content response, containing no response body.

URL for all caches

/rem/sentinel/api/shcache

Acts on all Sh caches.

URL for all caches within a given data reference

/rem/sentinel/api/shcache/{dataReference}

Acts on all Sh caches related to the given data reference.

For queries where the dataReference is repository-data, the query can be optionally narrowed by serviceIndication:

/rem/sentinel/api/shcache/repository-data[;serviceIndication={serviceIndication}]

URLs for querying or dropping cache entries

For these URLs:

  • A GET request returns the number of cache entries on the node which services the request.

  • A DELETE request invalidates the cache entries across all nodes in the cluster.

A successful GET request will return a 200 OK response, containing a response body such as the following:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cacheInfo><entryCount>1</entryCount></cacheInfo>

A successful DELETE request will return a 204 No Content response, containing no response body.

URL for entries within a given data reference

/rem/sentinel/api/shcache/{dataReference}
        ;userIdentity={userIdentity};userIdentityType=impu
        [;privateIdentity={privateIdentity}]

Acts on cache entries within the given data reference, as narrowed by the given parameters.

Rules:

  • dataReference must not be repository-data. For repository-data specific queries, see the URL query format which is specific to repository-data.

  • The privateIdentity parameter may only be included when using one of the following data references: msisdn, sms-registration-info, ue-reachability-for-ip, tads-information, stn-sr, ue-srvcc-capability, extended-priority, csrn, reference-location-information.

URL for entries within the RepositoryData data reference

/rem/sentinel/api/shcache/repository-data
        ;userIdentity={userIdentity}
        [;serviceIndication={serviceIndication}]

Acts on cache entries within the RepositoryData data reference, optionally narrowed by service indication.

Rules:

  • The userIdentity is treated as an IMPU. The userIdentityType parameter does not need to be provided in the URL, but if provided it must be set to impu.

URL for entries within the DSAI data reference

/rem/sentinel/api/shcache/dsai
        ;userIdentity={userIdentity};userIdentityType={userIdentityType}
        ;applicationServerName={applicationServerName};dsaiTags={dsaiTags}

Acts on cache entries within the DSAI data reference, narrowed by the given parameters.

URL for entries within the IMSPublicIdentity data reference

/rem/sentinel/api/shcache/ims-public-identity
        ;userIdentity={userIdentity};userIdentityType={userIdentityType}
        [;identitySets={identitySets}]

Acts on cache entries within the IMSPublicIdentity data reference, narrowed by the given parameters.

URL for entries within the InitialFilterCriteria data reference

/rem/sentinel/api/shcache/initial-filter-criteria
        ;userIdentity={userIdentity};userIdentityType={userIdentityType}
        ;applicationServerName={applicationServerName}

Acts on cache entries within the InitialFilterCriteria data reference, narrowed by the given parameters.

URL for entries within the LocationInformation data reference

/rem/sentinel/api/shcache/(cs-location-information\|ps-location-information)
        ;userIdentity={userIdentity};userIdentityType={userIdentityType}
        [;privateIdentity={privateIdentity}]
        ;currentLocation={currentLocation}
        [;servingNodeIndication={servingNodeIndication}]
        [;requestedNodes={requestedNodes}]
        [;localTimeZoneIndication={localTimeZoneIndication}]

Acts on cache entries within the LocationInformation data reference within either the CS or PS domain, narrowed by the given parameters.

Rules:

  • userIdentityType may specify either impu or msisdn.

URL for entries within the UserState data reference

/rem/sentinel/api/shcache/(cs-user-state\|ps-user-state)
        ;userIdentity={userIdentity};userIdentityType={userIdentityType}
        [;privateIdentity={privateIdentity}]
        [;requestedNodes={requestedNodes}]

Acts on cache entries within the UserState data reference within either the CS or PS domain, narrowed by the given parameters.

Rules:

  • userIdentityType may specify either impu or msisdn.

Available arguments for individual parameters

Available values for the dataReference parameter:

Note: the repository-data data reference has its own specific URLs, as shown above.

  • charging-information

  • cs-location-information

  • csrn

  • cs-user-state

  • dsai

  • extended-priority

  • ims-public-identity

  • ims-user-state (Recognized, but not yet supported in any of the above methods)

  • initial-filter-criteria

  • ip-address-secure-binding-information

  • msisdn

  • psi-activation

  • ps-location-information

  • ps-user-state

  • reference-location-information

  • repository-data

  • scscf-name

  • service-level-trace-info

  • service-priority-level

  • sms-registration-info

  • stn-sr

  • tads-information

  • ue-reachability-for-ip

  • ue-srvcc-capability

Available values for the userIdentityType parameter:

  • impu

  • msisdn

  • psi

When querying the HSS for MSISDN data, VoLTE by default sets the identity type to IMPU. If the FetchCMSISDNFeatureConfigProfileTable profile has UDRIncludedIdentities set to IMPU_IMPI then the IMPI is also included in the query. When using the Sh Cache Rest API to act on the MSISDN caches, set the identity type to IMPU and include both the IMPU and IMPI or just the IMPU, depending on the FetchCMSISDNFeatureConfigProfileTable configuration.

Available values for the servingNodeIndication parameter:

  • only-serving-nodes-required

Available values for the localTimeZoneIndication parameter:

  • local-time-zone-with-location-info-requested

  • only-local-time-zone-requested

Available values for the identitySets parameter:

  • alias-identities

  • all-identities

  • implicit-identities

  • registered-identities

Available values for the currentLocation parameter:

  • do-not-need-initiate-active-location-retrieval

  • initiate-active-location-retrieval

Available values for the serviceIndication parameter:

While there are many potential values for the serviceIndication parameter, the well known values within Sentinel VoLTE include:

  • IMS-ODB-Information

  • MMTEL-Services

  • opencloud-3rd-party-registrar

  • ParentalControl