8 Rp interface
29.2403GPP3GPP Generic User Profile (GUP)NetworkRelease 17Stage 3TS
8.1 General Principles
The Rp interface corresponds to the interaction between the GUP server and the GUP data repositories.
8.2 Procedures
The various procedures of the Rp interface are described in terms of the messages defined in clause 9.
8.2.1 Create Component procedure
8.2.1.1 General description
The Create Component procedure is used by the application to add a new profile component in the contacted repository.
The procedure consists of a request and response defined by the Create and CreateResponse messages.
8.2.1.2 Detailed Behaviour
The RAF entity checks the request element contents as described in clause 9.1. In particular the RAF entity checks whether the component can be created for the given subscriber based on the existing policies. There is no requirement for the user profile with the given subscriber identity to exist beforehand. However the subscriber identity (as well as other given data) shall be valid according to the operator’s policies and subscriber addressing rules. If the component exists already, the error "InvalidResourceID" is returned.
Next the RAF entity checks the correctness of the provided XML data against the XML Schema related to the given ComponentType. If the data are faulty or missing, the result code "InvalidData" or "MissingNewDataElement" is returned respectively.
Finally, before creating the component instance, the RAF entity checks that the requestor data allow the operation based on the authorisation information attached to the component type and/or to the specific subscriber data. If any given part of the data cannot be created due to lack of authorisation, the Create Component procedure shall fail with the result code "ActionNotAuthorized" or "RequestorNotAuthorized". The latter result code is returned if the failure is caused by the given requestor information. The Create element processing shall also fail in other error cases, but the other Create elements may be handled normally.
If the request message contains several Create elements, but the receiver implementation supports only one in a single message, the result code "NoMultipleResources" is returned. If a single Create element contains several CreateItems, but the receiver implementation supports only one, the result code "NoMultipleAllowed" is returned.
CreateResponse is sent with the status information. If not otherwise stated above, the contents of the Status are as described in clause 9.1.10.
8.2.1.3 List of result codes
The following result codes may appear in CreateResponse:
– ActionNotAuthorized;
– ActionNotSupported;
– ExtensionNotSupported;
– Failed;
– InvalidData;
– InvalidRequestorData;
– InvalidResourceID;
– MissingNewDataElement;
– MissingResourceIDElement;
– NoMultipleAllowed;
– NoMultipleResources;
– OK;
– RequestorNotAuthorized;
– TimeOut;
– UnexpectedError;
8.2.2 Delete Component procedure
8.2.2.1 General description
The Delete Component procedure is used by the application to delete one or more profile components.
The procedure consists of a request and response defined by the Delete and DeleteResponse messages.
8.2.2.2 Detailed Behaviour
If the referenced component exists and the deletion is authorized, the component is deleted.
The RAF entity checks the request element contents as described in clause 9.1. In particular the RAF entity checks whether the component exists. If the component does not exist, the error "InvalidResourceID" is returned.
Finally, before deleting the component instance, the RAF entity checks that the requestor data allow the operation based on the authorisation information attached to the component type and/or to the specific subscriber data. If not authorized, the whole Delete element processing shall fail with the result code "ActionNotAuthorized" or "RequestorNotAuthorized". The latter result code is returned if the failure is caused by the given requestor information. The Delete element processing shall also fail in other error cases, but the other Delete elements may be handled normally.
If the request message contains several Delete elements, but the receiver implementation supports only one in a single message, the result code "NoMultipleResources" is returned. If a single Delete element contains several DeleteItems, but the receiver implementation supports only one, the result code "NoMultipleAllowed" is returned.
DeleteResponse is sent with the status information. If not otherwise stated above, the contents of the Status are as described in clause 9.1.10.
8.2.2.3 List of result codes
The following result codes may appear in DeleteResponse:
– ActionNotAuthorized
– ActionNotSupported
– ExtensionNotSupported
– Failed
– InvalidRequestorData
– InvalidResourceID
– MissingResourceIDElement
– NoMultipleAllowed
– NoMultipleResources
– OK
– RequestorNotAuthorized
– TimeOut
– UnexpectedError
8.2.3 Modify Data procedure
8.2.3.1 General description
The Modify Data procedure is used by the application to modify profile components. One message may contain several modification request elements and one such element may contain several changes to the profile data of the specific subscriber.
The procedure consists of a request and response defined by the Modify and ModifyResponse messages.
8.2.3.2 Detailed Behavior
This procedure is defined according to the Liberty ID-WSF Data Services Template Specification [13] and the functionality is exactly as defined by that specification for all those aspects that are clearly determined there. This document is just intending to profile such specification. Note however that the use of the DS is mandatory in GUP just for certain specific scenarios, being optional in another.
The RAF entity checks the request element contents as described in clause 9.1. If no errors are found and the modification is authorized, the contents of NewData are stored in the place identified by the ResourceID and Select parameters.
The RAF entity verifies that the given data matches with the data structure identified by the Select element. As a generic rule the upper level data structure need not be created beforehand when providing data for the leaf elements. However there may be profile component specific rules about which data are mandated to be provided.
If the request message contains several Modify elements, but the receiver implementation supports only one in a single message, the result code "NoMultipleResources" is returned. If a single Modify element contains several Modification items, but the receiver implementation supports only one, the result code "NoMultipleAllowed" is returned.
If any error is found in the request data, no modifications shall be made to any data as requested by this modification element. However the possible other modify elements in the message shall be processed normally.
ModifyResponse is sent with the status information. If not otherwise stated above, the contents of the contents of the Status are as described in clause 9.1.10.
8.2.3.3 List of result codes
The following result codes may appear in responses:
ActionNotAuthorized |
ActionNotSupported |
|
ChangeHistoryNotSupported |
|
|
|
ExtensionNotSupported |
Failed |
InvalidData |
InvalidResourceID |
InvalidSelect |
MissingNewDataElement |
MissingResourceIDElement |
MissingSelect |
ModifiedSince |
|
NoMultipleAllowed |
NoMultipleResources |
OK |
TimeOut |
UnexpectedError |
RequestorNotAuthorized |
InvalidRequestorData |
8.2.4 Read Data procedure
8.2.4.1 General description
The Read Data procedure is used by the application to read profile data. One message may contain several Query elements.
The procedure consists of a request and response defined by the Query and QueryResponse messages.
8.2.4.2 Detailed Behaviour
This procedure is defined according to the Liberty ID-WSF Data Services Template Specification [13] and the functionality is exactly as defined by that specification for all those aspects that are clearly determined there. This document is just intending to profile such specification. Note however that the use of the DS is mandatory in GUP just for certain specific scenarios, being optional in another.
The RAF entity checks the request element contents as described in clause 9.1. If the ResourceIDGroup and Select have appropriate values and the query is authorized, the requested data are returned in the response element.
If the request message contains several Query elements, but the receiver implementation supports only one in a single message, the result code "NoMultipleResources" is returned. If a single Query element contains several Query Items, but the receiver implementation supports only one, the result code "NoMultipleAllowed" is returned.
If any error is found in the request data when processing a QueryItem, the data already processed for the other QueryItem’s may be returned, but the current QueryItem shall fail without any other results than the status element which shows the reason for the error and indicates the faulty QueryItem. In this case the remaining QueryItems in the Query element shall not be processed. However the previous and next Query elements (if they exist) shall be processed normally.
QueryResponse elements are sent with the data and status information. If not otherwise stated above, the contents of the Status are4 as described in clause 9.1.10.
8.2.4.3 List of result codes
The following result codes may appear in responses:
ActionNotAuthorized |
ActionNotSupported |
AllReturned |
ChangeHistoryNotSupported |
ChangedSinceReturnsAll |
|
|
ExtensionNotSupported |
Failed |
|
InvalidResourceID |
InvalidSelect |
MissingNewDataElement |
MissingResourceIDElement |
MissingSelect |
|
|
NoMultipleAllowed |
NoMultipleResources |
OK |
TimeOut |
UnexpectedError |
RequestorNotAuthorized |
InvalidRequestorData |
8.2.5 Subscribe To Data procedure
8.2.5.1 General description
The Subscribe To Data procedure is used by the application to request notifications about changes in the profile component data.
The procedure consists of a request and response defined by the Subscribe message.
8.2.5.2 Detailed Behavior
This procedure is defined according to the Liberty ID-WSF Data Services Template Specification [13] and the functionality is exactly as defined by that specification for all those aspects that are clearly determined there. This document is just intending to profile such specification. Note however that the use of the DS is mandatory in GUP just for certain specific scenarios, being optional in another.
The RAF entity checks the request element contents as described in clause 9.1. If there is no authority to retrieve any data defined by the Select elements, the status shall indicate "Failed" with the second level status code "ActionNotAuthorized" or "RequestorNotAuthorized".
If the FilterData indicates immediate notification, the Notify Data procedure carries the current values for the data defined by the Select element(s). If a time interval is specified in FilterData, the Notify Data procedure is invoked only after that time period has passed after the Subscribe element was received. In this case the Notify element shall contain the current values of all the changed data structures defined by the Select element(s).
The RAF entity creates and returns an InvokeID that shall be unique within the RAF. Once an InvokeID has been deleted because it is no longer required, another InvokeID with the same value can be created, without failing the uniqueness test. The InvokeID is used by the Notify Data procedure to link the notification to the Subscribe element.
A SubscribeResponse element is sent with the status information. If not otherwise stated above, the contents of the Status are as described in clause 9.1.10.
8.2.5.3 List of result codes
The following result codes may appear in responses:
ActionNotAuthorized |
ActionNotSupported |
|
|
|
|
|
ExtensionNotSupported |
Failed |
|
InvalidResourceID |
InvalidSelect |
|
MissingResourceIDElement |
MissingSelect |
|
|
NoMultipleAllowed |
NoMultipleResources |
OK |
TimeOut |
UnexpectedError |
RequestorNotAuthorized |
|
– InvalidFilterData where is defined. Not part of LA.
8.2.6 Unsubscribe To Data procedure
8.2.6.1 General description
The Unsubscribe To Data procedure is used by the application to cancel one or more existing subscriptions to notification of data change.
The procedure consists of a request and response defined by the Subscribe message.
8.2.6.2 Detailed Behavior
This procedure is defined according to the Liberty ID-WSF Data Services Template Specification [13] and the functionality is exactly as defined by that specification for all those aspects that are clearly determined there. This document is just intending to profile such specification. Note however that the use of the DS is mandatory in GUP just for certain specific scenarios, being optional in another.
The RAF entity checks that whether there is an active subscription for the given InvokeID. If a subscription is active, it will be cancelled. In other cases the error InvalidInvokeID or MissingInvokeID is returned.
An Unsubscribe response element is sent with the status information. If not otherwise stated above, the contents of the Status are as described in clause 9.1.10.
8.2.6.3 List of result codes
The following result codes may appear in responses:
ActionNotAuthorized |
|
|
|
|
|
|
ExtensionNotSupported |
|
|
InvalidResourceID |
InvalidSelect |
|
|
|
|
|
NoMultipleAllowed |
NoMultipleResources |
OK |
TimeOut |
UnexpectedError |
|
InvalidRequestorData |
– InvalidInvokeID
– MissingInvokeID
– Not defined by LA.
8.2.7 Notify Data procedure
8.2.7.1 General description
The Notify Data procedure is invoked by the RAF when the data which was identified in Subscribe To Data Changes Notification procedure changes, or when the invoked Subscribe To Data procedure requested immediate sending of the current values of the referenced data. The procedure identifies the changed data and provides the new values.
The procedure consists of a response defined by the SubscribeResponse message.
8.2.7.2 Detailed Behaviour
This procedure is defined according to the Liberty ID-WSF Data Services Template Specification [13] and the functionality is exactly as defined by that specification for all those aspects that are clearly determined there. This document is just intending to profile such specification. Note however that the use of the DS is mandatory in GUP just for certain specific scenarios, being optional in another.
The Notify Data procedure is executed when the data for which there is a subscription to change notification have changed in the GUP repository. The application can identify its subscription by the InvokeID element. The element named Data contains the changed data.
When the application has processed this request, it shall immediately return a response message to the RAF.
A NotifyResponse element is sent with the status information. If not otherwise stated above, the contents of the Status are as described in clause 9.1.10.
Editor’s note: To be completed with the handling of error conditions
8.2.7.3 List of result codes
The following result codes may appear in responses:
|
ActionNotSupported |
|
|
|
|
|
ExtensionNotSupported |
Failed |
|
|
|
|
|
|
|
|
|
|
OK |
TimeOut |
UnexpectedError |
|
|
– InvalidInvokeID
– MissingInvokeID
– Not defined by LA