 |
3GPP application : Sh interface
3GPP identifiers
IANA has assigned for 3GPP and Sh interface following values:
- 10415 -
Vendor-ID
- 16777217 -
Sh interface
Sh interface general description
Sh interface introduces interaction procedures between HSS ( Home Subscriber Server )and SIP AS ( Application Server ). It defines set of methods ( commands ) which allow to download data from HSS, update data in HSS, subscribe to notifications when data in HSS changes and ofcourse to notify AS when data in HSS haschanged.
Sh interface introduces new commands but does not use base protocol commands meant to authanticate and account user activiity ( atleast its not clearly stated as in Cx specs ). HSS performs per request check of requesting node access rights, so it looks like Sh interface is stateless.
New commands
Here are codes and desriptions for message types defined for 3GPP application by IANA
| Message Name | Abbreviation | Code value | Description | RFC 3588 location |
| User-Data-Request | UDR | 306 | Is sent by AS to HSS when AS needs to access/ retireve soem data regarding user | 6.1.1 |
| User-Data-Answer | UDA | 306 | Response either conatinin data requested in UDR or apprioriate error code | 6.1.2 |
| Profile-Update-Request | PUR | 307 | Is sent by AS to update some data in HSS. | 6.1.3 |
| Profile-Update-Answer | PUA | 307 | Response for PUR | 6.1.4 |
| Subscribe-Notifications-Request | SNR | 308 | Is sent by AS when it wants to be notified (or not ) when some data has changed after subsritpion. Works as subsribe/unsubsribe . | 6.1.5 |
| Subscribe-Notifications-Answer | SNA | 308 | Response to SNR . | 6.1.6 |
| Push-Notification-Request | PNR | 309 | Request sent by HSS to AS which has subsribed itself for notifications | 6.1.7 |
| Push-Notification-Answer | PNA | 309 | Reponse to PNA | 6.1.8 |
Procedure description
This section introduces commands with Information Elements transported by each type of message.
- Information element marked as mandatory has to be always included in message. If it is absent, application error occurs at receiving node. Receiving node has to send answer to originating node with Result-Code set to DIAMETER_MISSING_AVP. Answer has to contain Failed-AVP AVP which is of type "Grouped" and should contain AVP which caused this error.
- Information element marked as conditional has to be present if certain condition is met. If condition is met and Information Element is absent receiving node should undergo same procedure as mentioned above. On the other hand if condition is not met and Information Element is present it should not trigger procedure mentioned above ( ofcourse if its not explicitly defined ass error, if it is answer should contain Result-Code set to DIAMETER_AVP_NOT_ALLOWED and Failed-AVP AVP with AVP which caused error )
- Information element marked as optional may be present or absent and absence or presence of it should not trigger error asnwer.
For conditions see table
UDR Information elements
| Information Element (IE) | Equivalent diameter AVP | Category | AVP Type | Description |
| User Identity | User-Identity | Mandatory | Grouped | IMS Public User Identity or MSISDN of the user for whom the data is required. ( Either SIP URI or TEL URI ) |
| Requested Data | Data-Reference | Mandatory | Enumerated - Unsigned32 | This information element indicates the reference to the requested information. List of possible values is too long, but see ShProtocolConstants.DI_DATA_REFERENCE_* values |
| Requested Domain | Requested-Domain | Conditional | Enumerated - Unsigned32 | This information element indicates the domains to which the operation is applicable. |
| Current Location | Current-Location | Conditional | Enumerated - Unsigned32 | This information element indicates whether an active location retrieval has to be initiated or not. It shall be present if Location Information is requested. If this information element takes the value InitiateActiveLocationRetrieval (1) the HSS shall indicate to the MSC/VLR and/or SGSN the need to initiate an active location retrieval. |
| Service Indication | Service-Indication | Conditional | Octet String | IE that identifies, together with the Public User Identity included in the User-Identity AVP and Data-Reference, the set of service related transparent data that is being requested. |
| App Server Identity | Origin-Host | Mandatory | Diameter Identity / UTF8String? | IE that identifies the AS originator of the request and that is used to check the AS permission list. |
| Application Server Name | Server-Name | Conditional | UTF8String? | IE that is used, together with the IMS Public User Identity included in the User-Identity AVP and Data-Reference, as key to identify the filter criteria |
UDA Information elements
| Information Element (IE) | Equivalent diameter AVP | Category | AVP Type | Description |
| Result | Result-Code / Experimental-Result-Code | Mandatory | Unsigned32 | Result of the request. Result-Code AVP shall be used for errors defined in the Diameter Base Protocol. Experimental-Result AVP shall be used for Sh errors. This is a grouped AVP which contains the 3GPP Vendor ID in the Vendor-Id AVP, and the error code in the Experimental-Result-Code AVP. |
| Data | User-Data | Optional | Octet String | This AVP should be present if request has been processed and AS has rights to read requested data |
PUR Information elements
| Information Element (IE) | Equivalent diameter AVP | Category | AVP Type | Description |
| User Identity | User-Identity | Mandatory | Grouped | IMS Public User Identity for which data is updated. |
| Requested data | Data-Reference | Mandatory | Enumerated - Unsigned32 | This information element includes the reference to the data on which updates are required (possible values of the Data Reference are defined in one of proceeding tables |
| Data | User-Data | Mandatory | OcetetString | Updated data. |
| Application Server Identity | Origin-Host | Mandatory | DiameterIdentity | IE that identifies the AS originator of the request and that is used to check the AS permission list. |
PUA Information elements
| Information Element (IE) | Equivalent diameter AVP | Category | AVP Type | Description |
| Result | Result-Code / Experimental-Result | Mandatory | Grouped | Result of the update of data in the HSS. Result-Code AVP shall be used for errors defined in the Diameter Base Protocol. Experimental-Result AVP shall be used for Sh errors. This is a grouped AVP which contains the 3GPP Vendor ID in the Vendor-Id AVP, and the error code in the Experimental-Result-Code AVP. |
SNR Information elements
| Information Element (IE) | Equivalent diameter AVP | Category | AVP Type | Description |
| User Identity | User-Identity | Mandatory | Grouped | IMS Public User Identity for which data is updated. |
| Requested data | Data-Reference | Mandatory | Enumerated - Unsigned32 | This information element includes the reference to the data on which updates are required (possible values of the Data Reference are defined in one of proceeding tables |
| Application Server Identity | Origin-Host | Mandatory | DiameterIdentity | IE that identifies the AS originator of the request and that is used to check the AS permission list. |
| Subscription request type | Subs-Req-Type | Mandatory | Enumerated - Unsigned32 | This information element indicates the action requested on subscription to notifications. |
| Serive Indication | Service-Indication | Conditional | OctetString | IE that identifies, together with the IMS Public User Identity and Data-Reference, the set of service related transparent data for which notifications of changes are requested. This element shall be present when the Data-Reference value is RepositoryData (0). |
SNA Information elements
| Information Element (IE) | Equivalent diameter AVP | Category | AVP Type | Description |
| Result | Result-Code / Experimental-Result | Mandatory | Grouped | Result of the update of data in the HSS. Result-Code AVP shall be used for errors defined in the Diameter Base Protocol. Experimental-Result AVP shall be used for Sh errors. This is a grouped AVP which contains the 3GPP Vendor ID in the Vendor-Id AVP, and the error code in the Experimental-Result-Code AVP. |
PNR Information elements
PNA Information elements
Conditions for Information Elements
Here are conditions for not mandatory IEs. Depending on Data-Reference value different conditional IEs are becoming "mandatory".
| Data Ref. | XML tag | Access key | Operations |
| 0 | RepositoryData | IMS Public User Identity + Data-Reference + Service-Indication | UDR, PUR, SNR |
| 10 | IMSPublicIdentity | IMS Public User Identity or MSISDN + Data-Reference | UDR |
| 11 | IMSUserState | IMS Public User Identity + Data-Reference | UDR,PUR |
| 12 | S-CSCFName | IMS Public User Identity + Data-Reference | UDR,PUR |
| 13 | InitialFilterCriteria | IMS Public User Identity +Data-Reference + Server-Name | UDR,PUR |
| 14 | LocationInformation | MSISDN + Data-Reference+ Requested-Domain | UDR |
| 15 | UserState | MSISDN + Data-Reference+ Requested-Domain | UDR |
| 16 | Charging information | IMS Public User Identity or MSISDN + Data-Reference | UDR |
| 17 | MSISDN | IMS Public User Identity or MSISDN + Data-Reference | UDR |
User Identity Grouped AVP
| Diameter AVP | Category | AVP Type | Description |
| Public-Identity | Conditional | UTF8String | The Public-Identity AVP is of type UTF8String. This AVP contains the public identity of a user in the IMS. The syntax of this AVP corresponds either to a SIP URL (with the format defined in IETF RFC 3261 chapter 19 and IETF RFC 2396) or a TEL URL (with the format defined in IETF RFC 3966 ). |
| MSISDN | Conditional | OctetString | ??? |
This AVP can contain other AVPs.
Here we can see flow control for each client request. Flows show what kind of events can we expect when certain conditions are met ( in addition to those specified above) .
-- Main.baranowb - 08 Jun 2006
|