1
3GPP2 X.S0013-011-0
Version 1.0
Version Date: December 2003
4
5
6
All-IP Core Network Multimedia Domain
8
9
10
Sh Interface based on Diameter Protocols
Protocol Details Stage 3
11
12
13
14
15
16
17
18
19
COPYRIGHT NOTICE
3GPP2 and its Organizational Partners claim copyright in this document and individual Organizational Partners
may copyright and issue documents or standards publications in individual Organizational Partner's name based on
this document. Requests for reproduction of this document should be directed to the 3GPP2 Secretariat at
[email protected]. Requests to reproduce individual Organizational Partner's documents should be directed to
that Organizational Partner. See www.3gpp2.org for more information.
20
21
X.S0013-011-0 v1.0
1
2
No Text.
X.S0013-011-0 v1.0
1
2
3
4
All-IP Core Network Multimedia Domain
Sh Interface based on Diameter Protocols
Protocol Details Stage 3
Contents
6
7
Scope ....................................................................................................................................... 1
References .............................................................................................................................. 1
Definitions, symbols and abbreviations.................................................................................... 1
10
3.1
Definitions ......................................................................................................................... 1
11
3.2
Abbreviations .................................................................................................................... 2
12
General..................................................................................................................................... 2
13
Use of the Diameter base protocol........................................................................................... 2
14
Diameter application for Sh interface ....................................................................................... 2
15
16
6.1
Command-Code values .................................................................................................... 2
6.1.1
User-Data-Request (UDR) Command .................................................................................... 3
17
6.1.2
User-Data-Answer (UDA) Command .................................................................................... 3
18
6.1.3
Profile-Update-Request (PUR) Command ............................................................................. 4
19
6.1.4
Profile-Update-Answer (PUA) Command.............................................................................. 4
20
6.1.5
Subscribe-Notifications-Request (SNR) Command ............................................................... 5
21
6.1.6
Subscribe-Notifications-Answer (SNA) Command................................................................ 5
22
6.1.7
Push-Notification-Request (PNR) Command......................................................................... 5
23
6.1.8
Push-Notifications-Answer (PNA) Command ....................................................................... 6
24
25
6.2
Experimental-Result-Code AVP values ............................................................................ 6
6.2.1
Success ................................................................................................................................... 6
26
6.2.2
Permanent Failures ................................................................................................................. 6
27
6.2.3
Transient Failures ................................................................................................................... 7
28
6.2.3.1 DIAMETER_USER_DATA_NOT_AVAILABLE (4100) .................................................... 7
29
6.2.3.2 DIAMETER_PRIOR_UPDATE_IN_PROGRESS (4101) .................................................... 7
30
31
AVPs ................................................................................................................................. 7
6.3
6.3.1
User-Identity AVP.................................................................................................................. 8
32
6.3.2
MSISDN AVP ........................................................................................................................ 8
33
6.3.3
User-Data AVP....................................................................................................................... 8
34
6.3.4
Data-Reference AVP .............................................................................................................. 8
35
6.3.5
Service-Indication AVP.......................................................................................................... 8
36
6.3.6
Subs-Req-Type AVP .............................................................................................................. 9
37
6.3.7
Requested-Domain AVP ........................................................................................................ 9
X.S0013-011-0 v1.0
1
6.3.8
Current-Location AVP............................................................................................................ 9
6.3.9
Server-Name AVP.................................................................................................................. 9
6.4
Use of namespaces .......................................................................................................... 9
6.4.1
AVP codes .............................................................................................................................. 9
3
4
5
6.4.2
Experimental-Result-Code AVP values ................................................................................. 9
6.4.3
Command Code values ........................................................................................................... 9
6.4.4
Application-ID value ............................................................................................................ 10
8
9
10
Special Requirements ............................................................................................................ 10
7.1
Version Control ............................................................................................................... 10
11
ii
X.S0013-011-0 v1.0
Foreword
2
3
4
5
6
7
This document contains portions of material copied from 3GPP document number(s) TS 29.329. The
copyright on the 3GPP document is owned by the Organizational Partners of 3GPP (ARIB - Association of
Radio Industries and Businesses, Japan; CWTS China Wireless Telecommunications Standards group,
China; ETSI European Telecommunications Standards Institute; ATIS, USA; TTA - Telecommunications
Technology Association, Korea; and TTC Telecommunication Technology Committee, Japan), which
have granted license for reproduction and for use by 3GPP2 and its Organizational Partners.
8
9
Revision History
10
Revision
0
Changes
Initial Publication
Date
December 2003
11
12
iii
X.S0013-011-0 v1.0
1
2
No Text.
iv
X.S0013-011-0 v1.0
Scope
2
3
The present document defines a transport protocol for use in the IP multimedia (IM) Core Network (CN)
subsystem based on Diameter.
The present document is applicable to:
The Sh interface between an SIP AS and the AAA.
The Sh interface between an SCS and the AAA.
7
8
9
Whenever it is possible this document specifies the requirements for this protocol by reference to
specifications produced by the IETF within the scope of Diameter. Where this is not possible, extensions to
Diameter are defined within this document.
10
References
11
12
The following documents contain provisions, which through reference in this text constitute provisions of
the present document.
13
14
References are either specific (identified by date of publication, edition number, version number,
etc.) or non-specific.
15
For a specific reference, subsequent revisions do not apply.
16
17
18
For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP2
document, a non-specific reference implicitly refers to the latest version of that document in the
same Release as the present document.
19
20
[1]
21
22
TIA-873-010: IP Multimedia (IM) Subsystem Sh interface; signalling flows and message
contents.
3GPP2 X.S0013-010: IP Multimedia (IM) Subsystem Sh interface; signalling flows and message
contents.
23
[2]
void
24
[3]
Internet Engineering Task Force (IETF) RFC 2960 Stream Control Transmission Protocol
25
[4]
IETF RFC 3588, Diameter Base Protocol, September 2003.
26
[5]
IETF RFC 2234 Augmented BNF for syntax specifications
27
[6]
TIA-873-006: Cx Interface based on Diameter protocol; protocol details.
28
3GPP2 X.S0013-006: Cx Interface based on Diameter protocol; protocol details.
29
[7]
IETF RFC 3589, Diameter Command Codes for 3GPP Release 5, September 2003.
30
31
[8]
3GPP TS 23.003 V5.6.0 (2003-06): 3GPP Technical Specification Group Core Network;
Numbering, addressing and identification (Release 5)
32
Definitions, symbols and abbreviations
33
34
3.1
Definitions
35
For the purposes of the present document, the following terms and definitions apply.
Refer to [4] for the definitions of some terms used in this document.
X.S0013-011-0 v1.0
1
Attribute-Value Pair: see [4], it corresponds to an Information Element in a Diameter message.
Server: SIP-server.
User data: user profile data.
4
5
3.2
Abbreviations
For the purposes of the present document, the following abbreviations apply:
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
AAA
AS
ABNF
AVP
CN
HSS
IANA
IETF
IMS
RFC
SCS
SCTP
UCS
URL
UTF
Authentication, Authorization and Accounting
Application Server
Augmented Backus-Naur Form
Attribute-Value Pair
Core Network
Home Subscriber Server
Internet Assigned Numbers Authority
Internet Engineering Task Force
IP Multimedia Subsystem
Request For Comment
Service Capability Server
Stream Control Transport Protocol
Universal Character Set
Uniform Resource Locator
UCS Transformation Formats
21
22
23
24
25
The Diameter Base Protocol as specified in [4] shall apply except as modified by the defined support of the
methods and the defined support of the commands and AVPs, result and event codes specified in clause 65
of this specification. Unless otherwise specified, the procedures (including error handling and unrecognised
information handling) are unmodified.
General
26
Note: The MSISDN represented in this document is similar to the MDN in 3GPP2.
27
28
29
The same clarifications of section 5 of [6] shall apply to the Sh interface. An exception is that the
application identifier for this application is defined in chapter 6.
30
31
This clause specifies a Diameter application that allows a Diameter server and a Diameter client:
32
to download and update transparent and non-transparent user data
33
to request and send notifications on changes on user data
34
35
36
The Sh interface protocol is defined as an IETF vendor specific Diameter application, where the vendor is
3GPP. The vendor identifier assigned by IANA to 3GPP ( http://www.iana.org/assignments/enterprisenumbers) is 10415.
37
The Diameter application identifier assigned to the Sh interface application is 167772152 .
38
39
6.1
Use of the Diameter base protocol
Diameter application for Sh interface
Command-Code values
This section defines Command-Code values for this Diameter application.
X.S0013-011-0 v1.0
1
2
Every command is defined by means of the ABNF syntax [5], according to the rules in [4]. Whenever the
definition and use of an AVP is not specified in this document, what is stated in [4] or [6] shall apply.
3
4
5
The command codes for the Sh interface application are taken from the range allocated by IANA in [7] as
assigned in this specification. For these commands, the Application-ID field shall be set to 167772152
(application identifier of the Sh interface application).
The following Command Codes are defined in this specification:
Table 6.1.1: Command-Code values
Command-Name
Abbreviation
Code
Section
User-Data-Request
UDR
306
6.1.1
User-Data-Answer
UDA
306
6.1.2
Profile-Update-Request
PUR
307
6.1.3
Profile-Update-Answer
PUA
307
6.1.4
Subscribe-Notifications-Request
SNR
308
6.1.5
Subscribe-Notifications-Answer
SNA
308
6.1.6
Push-Notification-Request
PNR
309
6.1.7
Push-Notification-Answer
PNA
309
6.1.8
8
9
10
11
12
6.1.1 User-Data-Request (UDR) Command
The User-Data-Request (UDR) command, indicated by the Command-Code field set to 306 and the R bit
set in the Command Flags field, is sent by a Diameter client to a Diameter server in order to request user
data.
13
Message Format
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
< User-Data -Request> ::=
< Diameter Header:306, 167772152, REQ, PXY >
< Session-Id >
{ Vendor-Specific-Application-Id }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
[ Destination-Host ]
{ Destination-Realm }
{ User-Identity }
[ Service-Indication ]
[Server-Name]
1*{ Data-Reference }
*[ Requested-Domain ]
[ Current-Location ]
*[ AVP ]
*[ Proxy-Info ]
*[ Route-Record ]
6.1.2 User-Data-Answer (UDA) Command
The User-Data-Answer (UDA) command, indicated by the Command-Code field set to 306 and the R bit
cleared in the Command Flags field, is sent by a server in response to the User-Data-Request command.
X.S0013-011-0 v1.0
1
2
The Result-Code or Experimental-Result AVP may contain one of the values defined in section 6.2 in
addition to the values defined in [6].
Message Format
4
5
6
7
8
9
10
11
12
13
14
15
< User-Data-Answer > ::=
< Diameter Header: 306, TDB >
< Session-Id >
{ Vendor-Specific-Application-Id }
[ Result-Code ]
[ Experimental-Result ]
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
[ User-Data ]
*[ AVP ]
*[ Proxy-Info ]
*[ Route-Record ]
16
17
18
19
6.1.3 Profile-Update-Request (PUR) Command
The Profile-Update-Request (PUR) command, indicated by the Command-Code field set to 307 and the R
bit set in the Command Flags field, is sent by a Diameter client to a Diameter server in order to update user
data in the server.
20
Message Format
21
22
23
24
25
26
27
28
29
30
31
32
33
< Profile-Update-Request > ::=
< Diameter Header: 307, 167772152, REQ, PXY >
< Session-Id >
{ Vendor-Specific-Application-Id }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Host }
{ Destination-Realm }
{ User-Identity }
{ User-Data }
*[ AVP ]
*[ Proxy-Info ]
*[ Route-Record ]
34
35
36
37
38
6.1.4 Profile-Update-Answer (PUA) Command
The Profile-Update-Answer (PUA) command, indicated by the Command-Code field set to 307 and the R
bit cleared in the Command Flags field, is sent by a client in response to the Profile-Update-Request
command. The Result-Code or Experimental-Result AVP may contain one of the values defined in section
6.2 in addition to the values defined in [6].
39
Message Format
40
41
42
43
44
45
46
47
48
49
< Profile-Update-Answer > ::=
< Diameter Header: 307, 167772152>
< Session-Id >
{ Vendor-Specific-Application-Id }
[ Result-Code ]
[ Experimental-Result ]
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
*[ AVP ]
*[ Proxy-Info ]
X.S0013-011-0 v1.0
1
*[ Route-Record ]
2
3
4
5
6.1.5 Subscribe-Notifications-Request (SNR) Command
The Subscribe-Notifications-Request (SNR) command, indicated by the Command-Code field set to 308
and the R bit set in the Command Flags field, is sent by a Diameter client to a Diameter server in order to
request notifications of changes in user data.
Message Format
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
< Subscribe-Notifications-Request > ::=
< Diameter Header: 308, 167772152, REQ, PXY >
< Session-Id >
{ Vendor-Specific-Application-Id }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
[ Destination-Host ]
{ Destination-Realm }
{ User-Identity }
[ Service-Indication]
[Server-Name]
{ Subs-Req-Type }
1*{ Data-Reference }
*[ AVP ]
*[ Proxy-Info ]
*[ Route-Record ]
23
24
25
26
27
6.1.6 Subscribe-Notifications-Answer (SNA) Command
The Subscribe-Notifications-Answer (SNA) command, indicated by the Command-Code field set to 308
and the R bit cleared in the Command Flags field, is sent by a client in response to the SubscribeNotifications-Request command. The Result-Code or Experimental-Result AVP may contain one of the
values defined in section 6.2 in addition to the values defined in [6].
28
Message Format
29
30
31
32
33
34
35
36
37
38
39
40
< Subscribe-Notifications-Answer > ::=
< Diameter Header: 308, 167772152>
< Session-Id >
{ Vendor-Specific-Application-Id }
{ Auth-Session-State }
[ Result-Code ]
[ Experimental-Result ]
{ Origin-Host }
{ Origin-Realm }
*[ Data-Reference ]
*[ AVP ]
*[ Proxy-Info ]
*[ Route-Record ]
41
42
43
44
6.1.7 Push-Notification-Request (PNR) Command
The Push-Notification-Request (PNR) command, indicated by the Command-Code field set to 309 and the
R bit set in the Command Flags field, is sent by a Diameter server to a Diameter client in order to notify
changes in the user data in the server.
45
Message Format
46
47
48
< Push-Notification-Request > ::= < Diameter Header: 309, 167772152, REQ, PXY >
< Session-Id >
{ Vendor-Specific-Application-Id }
5
X.S0013-011-0 v1.0
1
2
3
4
5
6
7
8
9
10
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Host }
{ Destination-Realm }
{ User-Identity }
{ User-Data }
*[ AVP ]
*[ Proxy-Info ]
*[ Route-Record ]
11
12
13
14
15
6.1.8 Push-Notifications-Answer (PNA) Command
The Push-Notifications-Answer (PNA) command, indicated by the Command-Code field set to 309 and the
R bit cleared in the Command Flags field, is sent by a client in response to the Push-Notification-Request
command. The Result-Code or Experimental-Result AVP may contain one of the values defined in section
6.2 in addition to the values defined in [6].
16
Message Format
17
18
19
20
21
22
23
24
25
26
27
< Push-Notification-Answer > ::=< Diameter Header: 309, 167772152>
< Session-Id >
{ Vendor-Specific-Application-Id }
[ Result-Code ]
[ Experimental-Result ]
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
*[ AVP ]
*[ Proxy-Info ]
*[ Route-Record ]
28
29
30
31
32
6.2
Experimental-Result-Code AVP values
33
34
35
6.2.1 Success
The Result codes within the success category are used to inform a peer that a request has been successfully
completed.
36
37
38
6.2.2 Permanent Failures
Errors that fall within the Permanent Failures category are used to inform the peer that the request failed,
and should not be attempted again.
39
DIAMETER_ERROR_USER_DATA_NOT_RECOGNIZED (5100)
40
The data required, in the XML schema, does not match that which is specified within the HSS.
41
DIAMETER_ERROR_OPERATION_NOT_ALLOWED (5101)
42
The requested operation is not allowed for the user
43
DIAMETER_ERROR_USER_DATA_CANNOT_BE_READ (5102)
44
The requested user data is not allowed to be read.
45
DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIED (5103)
This section defines new result code values that must be supported by all Diameter implementations that
conform to this specification. The result codes defined in [6] are also applicable. When one of the result
codes defined here is included in a response, it shall be inside a Experimental-Result AVP and Result-Code
AVP shall be absent.
X.S0013-011-0 v1.0
1
The requested user data is not allowed to be modified.
DIAMETER_ERROR_USER_DATA_CANNOT_BE_NOTIFIED (5104)
The requested user data is not allowed to be notified on changes.
DIAMETER_ERROR_TOO_MUCH_DATA (5008)
The size of the data pushed to the receiving entity exceeds its capacity. This error code is defined in [6].
DIAMETER_ERROR_TRANSPARENT_DATA_OUT_OF_SYNC (5105)
7
8
9
10
11
The request to update the repository data at the HSS could not be completed because the requested update
is based on an out-of-date version of the repository data. That is, the sequence number in the Sh-Update
Request message, does not match with the immediate successor of the associated sequence number stored
for that repository data at the HSS. It is also used where an AS tries to create a new set of repository data
when the identified repository data already exists in the HSS.
12
13
14
6.2.3 Transient Failures
Errors that fall within the transient failures category are those used to inform a peer that the request could
not be satisfied at the time that it was received. The request may be able to be satisfied in the future.
15
16
6.2.3.1 DIAMETER_USER_DATA_NOT_AVAILABLE (4100)
The requested user data is not available at this time to satisfy the requested operation.
17
18
19
6.2.3.2 DIAMETER_PRIOR_UPDATE_IN_PROGRESS (4101)
The request to update the repository data at the HSS could not be completed because the related repository
data is currently being updated by another entity.
20
21
22
6.3
AVPs
The following table describes the Diameter AVPs defined for the Sh interface protocol, their AVP Code
values, types, possible flag values and whether the AVP may or not be encrypted.
Table 6.3.1: Diameter Multimedia Application AVPs
23
AVP Flag rules
Attribute Name
AVP Section
Code defined
Value Type
Must May Should Must May
not
not Encr.
User-Identity
100
6.3.1
Grouped
M, V
MSISDN
101
6.3.2
OctetString
M, V
User-Data
102
6.3.3
OctetString
M, V
Data-Reference
103
6.3.4
Enumerated
M, V
Service-Indication
104
6.3.5
OctetString
M, V
Subs-Req-Type
105
6.3.6
Enumerated
M, V
Requested-Domain
106
6.3.7
Enumerated
M, V
Current-Location
107
6.3.8
Enumerated
M, V
Server-Name
6.3.9
UTF8String
M, V
X.S0013-011-0 v1.0
NOTE 1:
The AVP header bit denoted as M, indicates whether support of the AVP is required. The AVP
header bit denoted as V, indicates whether the optional Vendor-ID field is present in the AVP header. For further
details, see [6].
NOTE 2:
Depending on the concrete command.
1
2
3
6.3.1 User-Identity AVP
The User-Identity AVP (AVP Code 100) is of type Grouped. This AVP contains a user public identity.
AVP format
User-Identity ::= <AVP header: 100 10415>
*[Public-Identity]
*[MSISDN]
*[AVP]
9
10
11
6.3.2 MSISDN AVP
The MSISDN AVP (AVP Code 101) is of type OctetString. This AVP contains an MSISDN with the
format described in [8].
12
13
14
15
6.3.3 User-Data AVP
The User-Data AVP (AVP Code 102) is of type OctetString. This AVP contains the user data requested in
the UDR and SNR operations and the data to be modified in the PUR operation. The exact content and
format of this AVP is described in [1].
16
17
18
19
6.3.4 Data-Reference AVP
The Data-Reference AVP (AVP code 103) is of type Enumerated, and indicates the type of the requested
user data in the operation UDR and SNR. Its exact values and meaning is defined in [1]. The following
values are defined (more details are given in [1]):
20
RepositoryData (0)
21
PublicIdentifiers (10)
22
This value is used to request the read or notification of changes in the IMS public identities fields
23
IMSUserState (11)
24
S-CSCFName (12)
25
InitialFilterCriteria (13)
26
This value is used to request initial filter criteria relevant to the requesting AS
27
LocationInformation (14)
28
UserState (15)
29
ChargingInformation (16)
30
31
32
6.3.5 Service-Indication AVP
The Service-Indication AVP (AVP code 104) is of type OctetString. This AVP contains the Service
Indication that identifies a service in an AS.
X.S0013-011-0 v1.0
1
2
3
6.3.6 Subs-Req-Type AVP
The Subs-Req-Type AVP (AVP code 105) is of type Enumerated, and indicates the type of the
subscription-to-notifications request. The following values are defined:
Subscribe (0)
This value is used by an AS to subscribe to notifications of changes in data.
6
7
8
9
10
Unsubscribe (1)
This value is used by an AS to unsubscribe to notifications of changes in data
6.3.7 Requested-Domain AVP
The Requested-Domain AVP (AVP code 106) is of type Enumerated, and indicates the access domain for
which certain data (e.g. user state) are requested. The following values are defined:
11
CS-Domain (0)
12
The requested data apply to the CS domain.
13
PS-Domain (1)
14
15
16
17
The requested data apply to the PS domain.
6.3.8 Current-Location AVP
The Current-Location AVP (AVP code 107) is of type Enumerated, and indicates whether an active
location retrieval has to be initiated or not:
18
DoNotNeedInitiateActiveLocationRetrieval (0)
19
The request indicates that the initiation of an active location retrieval is not required.
20
InitiateActiveLocationRetrieval (1)
21
It is requested that an active location retrieval is initiated.
22
23
6.3.9 Server-Name AVP
The Server-Name contains a SIP-URL used to identify an AS. See [6] for further description of this AVP.
24
25
26
6.4
27
28
29
30
6.4.1 AVP codes
This specification assigns the values 100-107 from the AVP Code namespace managed by 3GPP for its
Diameter vendor-specific applications. See section 6.3 for the assignment of the namespace in this
specification.
31
32
33
6.4.2 Experimental-Result-Code AVP values
This specification has assigned Experimental-Result-Code AVP values 4100-4101 and 5100-5105. See
section 6.2.
34
35
6.4.3 Command Code values
This specification assigns the values 306-309 from the range allocated by IANA to 3GPP in [7].
Use of namespaces
This clause contains the namespaces that have either been created in this specification, or the values
assigned to existing namespaces managed by IANA.
X.S0013-011-0 v1.0
1
2
6.4.4 Application-ID value
IANA has allocated the value 167772152for the 3GPP Sh interface application.
Special Requirements
4
5
7.1
Version Control
The same mechanisms specified in [6] also apply to this specification.
10