8 Web service interface definition
29.199-083GPPOpen Service Access (OSA)Parlay X web servicesPart 8: Terminal statusTS
8.1 Interface: TerminalStatus
Request the status for a terminal or set of terminals.
8.1.1 Operation: GetStatus
This operation is intended to retrieve the status for a single terminal. The URI provided is for a single terminal, not a group URI. If a group URI is provided, a PolicyException will be returned to the application.
8.1.1.1 Input message: GetStatusRequest
Part name |
Part type |
Optional |
Description |
Address |
xsd:anyURI |
No |
Terminal to request status for |
8.1.1.2 Output message: GetStatusResponse
Part name |
Part type |
Optional |
Description |
Result |
Status |
No |
Status for the terminal for which status was requested |
8.1.1.3 Referenced faults
ServiceException from 3GPP TS 29.199-1 [6]:
- SVC0001: Service error.
- SVC0002: Invalid input value.
- SVC0004: No valid address(es) – if the address does not exist.
PolicyException from 3GPP TS 29.199-1 [6]:
- POL0001: Policy error.
- POL0002: Privacy error.
- POL0006: Groups not allowed.
8.1.2 Operation: GetStatusForGroup
The getStatusForGroup operation initiates a retrieval activity, where one or more terminals, or groups of terminals, may have their status determined.
The Web Service may return a result set that does not include complete information, allowing the Web Service implementation to choose to deliver a partial set of results to accommodate other conditions, such as avoiding timeouts. In this case, the addresses for which no attempt was made to provide data will be marked NotRetrieved in the result for each address this applies to.
8.1.2.1 Input message: GetStatusForGroupRequest
Part name |
Part type |
Optional |
Description |
Addresses |
xsd:anyURI [1..unbounded] |
No |
List of URIs to get status for, including group URIs |
8.1.2.2 Output message: GetStatusForGroupResponse
Part name |
Part type |
Optional |
Description |
Result |
StatusData [1..unbounded] |
No |
Set of results for the request |
8.1.2.3 Referenced faults
ServiceException from 3GPP TS 29.199-1 [6]:
- SVC0001: Service error.
- SVC0002: Invalid input value.
- SVC0004: No valid addresses.
- SVC0006: Invalid group.
PolicyException from 3GPP TS 29.199-1 [6]:
- POL0001: Policy error.
- POL0003: Too many addresses.
- POL0006: Groups not allowed.
- POL0007: Nested groups not allowed.
- POL0013: Addresses duplication.
8.2 Interface: TerminalStatusNotificationManager
Set up notifications for terminal status changes.
8.2.1 Operation: StartNotification
Notifications of status changes are made available to applications. The number and duration of notifications may be requested as part of the setup of the notification or may be governed by service policies, or a combination of the two.
If CheckImmediate is set to true, then the notification will be set up, and then the current value of the terminal status will be checked. If the terminal status meets the criteria provided, a notification will be sent to the application. This notification will count against the count requested. This addresses the case where the status of the device changes during the time the notification is being set up, which may be appropriate in some applications.
The correlator provided in the reference must be unique for this Web Service at the time the notification is initiated, otherwise a ServiceException (SVC0005) will be returned to the application.
If the frequency requested is more often than allowed by the service policy, then the value in the service policy will be used. If the duration requested exceeds the time allowed in the service policy, then the value in the service policy will be used. If the notification period (duration) ends before all of the notifications (count) have been delivered, then the notification terminates. In all cases, when the notifications have run their course (by duration or count), an end of notifications message will be provided to the application.
Service policies may govern what count values can be requested, including maximum number of notifications allowed and whether unlimited notifications can be requested (i.e. either by not specifying the optional Count message part or by specifying it with a value of zero). If the count value requested is not in policy, a PolicyException (POL0004 or POL0005 as appropriate) will be returned.
8.2.1.1 Input message: StartNotificationRequest
Part name |
Part type |
Optional |
Description |
Reference |
common:SimpleReference |
No |
Notification endpoint definition |
Addresses |
xsd:anyURI [1..unbounded] |
No |
Addresses of terminals to monitor |
Criteria |
Status [1..unbounded] |
No |
List of status values to generate notifications for (these apply to all addresses specified) |
CheckImmediate |
xsd:boolean |
No |
Check status immediately after establishing notification |
Frequency |
common:TimeMetric |
No |
Maximum frequency of notifications (can also be considered minimum time between notifications) |
Duration |
common:TimeMetric |
Yes |
Length of time notifications occur for, do not specify to use default notification time defined by service policy |
Count |
xsd:integer |
Yes |
Maximum number of notifications. For no maximum, either do not specify this part or specify a value of zero. |
8.2.1.2 Output message: StartNotificationResponse
Part name |
Part type |
Optional |
Description |
None |
8.2.1.3 Referenced faults
ServiceException from 3GPP TS 29.199-1 [6]:
- SVC0001: Service error.
- SVC0002: Invalid input value.
- SVC0004: No valid addresses.
- SVC0005: Duplicate correlator.
- SVC0006: Invalid group.
PolicyException from 3GPP TS 29.199-1 [6]:
- POL0001: Policy error.
- POL0003: Too many addresses.
- POL0004: Unlimited notifications not supported.
- POL0005: Too many notifications requested.
- POL0006: Groups not allowed.
- POL0007: Nested groups not allowed.
- POL0009: Invalid frequency requested.
- POL0013: Addresses duplication.
- POL0200: Busy criteria not supported.
8.2.2 Operation: EndNotification
The application may end a notification using this operation. Until this operation returns, notifications may continue to be received by the application.
An end of notification (statusEnd) message will not be delivered to the application for a notification ended using this operation.
8.2.2.1 Input message: EndNotificationRequest
Part name |
Part type |
Optional |
Description |
Correlator |
xsd:string |
No |
Correlator of request to end |
8.2.2.2 Output message: EndNotificationResponse
Part name |
Part type |
Optional |
Description |
None |
8.2.2.3 Referenced faults
ServiceException from 3GPP TS 29.199-1 [6]:
- SVC0001: Service error.
- SVC0002: Invalid input value.
PolicyException from 3GPP TS 29.199-1 [6]:
- POL0001: Policy error.
8.3 Interface: TerminalNotification
Notification interface to which notifications are delivered.
8.3.1 Operation: StatusNotification
When the status of monitored devices change, a notification is delivered to the application with the new status information for each of the devices. If a group identifier was used, the terminal device URI is provided, not the group URI.
8.3.1.1 Input message: StatusNotificationRequest
Part name |
Part type |
Optional |
Description |
Correlator |
xsd:string |
No |
Correlator provided in request to set up this notification |
TerminalStatus |
StatusInformation [1..unbounded] |
No |
List of Statusinformation elements describing address and new terminal status. |
8.3.1.2 Output message: StatusNotificationResponse
Part name |
Part type |
Optional |
Description |
None |
8.3.1.3 Referenced faults
None.
8.3.2 Operation: StatusError
The status changed error message is sent to the application to indicate that the notification is being cancelled by the Web Service.
8.3.2.1 Input message: StatusErrorRequest
Part name |
Part type |
Optional |
Description |
Correlator |
xsd:string |
No |
Correlator provided in request to set up this notification. |
Address |
xsd:anyURI |
Yes |
Address of terminal if the error applies to an individual terminal, or not specified if it applies to the whole notification. |
Reason |
common:ServiceError |
No |
Reason notification is being discontinued. |
8.3.2.2 Output message: StatusErrorResponse
Part name |
Part type |
Optional |
Description |
None |
8.3.2.3 Referenced faults
None.
8.3.3 Operation: StatusEnd
The notifications have completed for this correlator. This message will be delivered when the duration or count for notifications have been completed. This message will not be delivered in the case of an error ending the notifications or deliberate ending of the notifications (using endNotification operation).
8.3.3.1 Input message: StatusEndRequest
Part name |
Part type |
Optional |
Description |
Correlator |
xsd:string |
No |
Correlator provided in request to set up this notification. |
8.3.3.2 Output message: StatusEndResponse
Part name |
Part type |
Optional |
Description |
None |
8.3.3.3 Referenced faults
None.