draft-ietf-sipping-update-pai-09.txt   rfc5876.txt 
SIPPING WG J. Elwell Internet Engineering Task Force (IETF) J. Elwell
Internet-Draft Siemens Enterprise Communications Request for Comments: 5876 Siemens Enterprise Communications
Updates: RFC 3325 January 16, 2009 Updates: 3325 April 2010
(if approved) Category: Informational
Intended status: Informational ISSN: 2070-1721
Expires: July 20, 2009
Updates to Asserted Identity in the Session Initiation Protocol (SIP) Updates to Asserted Identity in the Session Initiation Protocol (SIP)
draft-ietf-sipping-update-pai-09.txt
Status of this Memo Abstract
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering The Session Initiation Protocol (SIP) has a mechanism for conveying
Task Force (IETF), its areas, and its working groups. Note that the identity of the originator of a request by means of the
other groups may also distribute working documents as Internet- P-Asserted-Identity and P-Preferred-Identity header fields. These
Drafts. header fields are specified for use in requests using a number of SIP
methods, in particular the INVITE method. However, RFC 3325 does not
specify the insertion of the P-Asserted-Identity header field by a
trusted User Agent Client (UAC), does not specify the use of
P-Asserted-Identity and P-Preferred-Identity header fields with
certain SIP methods such as UPDATE, REGISTER, MESSAGE, and PUBLISH,
and does not specify how to handle an unexpected number of URIs or
unexpected URI schemes in these header fields. This document extends
RFC 3325 to cover these situations.
Internet-Drafts are draft documents valid for a maximum of six months Status of This Memo
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at This document is not an Internet Standards Track specification; it is
http://www.ietf.org/ietf/1id-abstracts.txt. published for informational purposes.
The list of Internet-Draft Shadow Directories can be accessed at This document is a product of the Internet Engineering Task Force
http://www.ietf.org/shadow.html. (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 5741.
This Internet-Draft will expire on July 20, 2009. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc5876.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
Abstract the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
SIP has a mechanism for conveying the asserted identity of the
originator of a request by means of the P-Asserted-Identity header
field. This header field is specified for use in requests using a
number of SIP methods, in particular the INVITE method. However, RFC
3325 does not specify the insertion of this header field by a trusted
UAC, does not specify the use of P-Asserted-Identity and P-Preferred-
Identity header fields with certain SIP methods such as UPDATE,
REGISTER, MESSAGE and PUBLISH, and does not specify how to handle an
unexpected number of URIs or unexpected URI schemes in these header
fields. This document extends RFC 3325 to cover these situations.
This work is being discussed on the sipping@ietf.org mailing list.
Table of Contents Table of Contents
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction ....................................................2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology .....................................................4
3. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Discussion ......................................................4
3.1. Inclusion of P-Asserted-Identity by a UAC . . . . . . . . 4 3.1. Inclusion of P-Asserted-Identity by a UAC ..................4
3.2. Inclusion of P-Asserted-Identity in any request . . . . . 5 3.2. Inclusion of P-Asserted-Identity in Any Request ............5
3.3. Dialog implications . . . . . . . . . . . . . . . . . . . 6 3.3. Dialog Implications ........................................6
4. Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4. Behaviour .......................................................6
4.1. UAC Behaviour . . . . . . . . . . . . . . . . . . . . . . 7 4.1. UAC Behaviour ..............................................7
4.2. Proxy Behaviour . . . . . . . . . . . . . . . . . . . . . 7 4.2. Proxy Behaviour ............................................7
4.3. Registrar Behaviour . . . . . . . . . . . . . . . . . . . 7 4.3. Registrar Behaviour ........................................7
4.4. UAS Behaviour . . . . . . . . . . . . . . . . . . . . . . 8 4.4. UAS Behaviour ..............................................8
4.5. General handling . . . . . . . . . . . . . . . . . . . . . 8 4.5. General Handling ...........................................8
5. IANA considerations . . . . . . . . . . . . . . . . . . . . . 9 5. Security Considerations .........................................9
6. Security considerations . . . . . . . . . . . . . . . . . . . 9 6. Acknowledgements ...............................................10
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 7. References .....................................................10
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 7.1. Normative References ......................................10
8.1. Normative References . . . . . . . . . . . . . . . . . . . 10 7.2. Informative References ....................................11
8.2. Informative References . . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
This document uses the concepts of Trust Domain and Spec(T), as
specified in section 2.3 of RFC 3324 [RFC3324].
2. Introduction 1. Introduction
The Session Initiation Protocol (SIP) is specified in RFC 3261 The Session Initiation Protocol (SIP) is specified in RFC 3261
[RFC3261]. RFC 3325 [RFC3325] specifies a mechanism for conveying [RFC3261]. RFC 3325 [RFC3325] specifies a mechanism for conveying
within a Trust Domain the asserted identity of the originator of a the asserted identity of the originator of a SIP request within a
SIP request. This is achieved by means of the P-Asserted-Identity Trust Domain. This is achieved by means of the P-Asserted-Identity
header field, which is specified for use in requests using a number header field, which is specified for use in requests using a number
of SIP methods, in particular the INVITE method. of SIP methods, in particular the INVITE method. In addition, the
P-Preferred-Identity header field can be used to indicate a
preference for which identity should be asserted when there is a
choice.
RFC 3325 does not specify the insertion of the P-Asserted-Identity RFC 3325 does not specify the insertion of the P-Asserted-Identity
header field by a UAC in the same Trust Domain as the first proxy. header field by a User Agent Client (UAC) in the same Trust Domain as
Also RFC 3325 does not specify the use of the P-Asserted-Identity and the first proxy. Also, RFC 3325 does not specify the use of the
P-Preferred-Identity header fields with certain SIP methods such as P-Asserted-Identity and P-Preferred-Identity header fields with
UPDATE [RFC3311], REGISTER, MESSAGE [RFC3428] and PUBLISH [RFC3903]. certain SIP methods such as UPDATE [RFC3311], REGISTER, MESSAGE
This document extends RFC 3325 by allowing inclusion of the [RFC3428], and PUBLISH [RFC3903]. This document extends RFC 3325 by
P-Asserted-Identity header field by a UAC in the same Trust Domain as allowing inclusion of the P-Asserted-Identity header field by a UAC
the first proxy and allowing use of P-Asserted-Identity and in the same Trust Domain as the first proxy and allowing use of
P-Preferred-Identity header fields in any request except ACK and P-Asserted-Identity and P-Preferred-Identity header fields in any
CANCEL. The reason for these two exceptions is that ACK and CANCEL request except ACK and CANCEL. The reason for these two exceptions
requests cannot be challenged for digest authentication. is that ACK and CANCEL requests cannot be challenged for digest
authentication.
RFC 3325 allows the P-Asserted-Identity and P-Preferred-Identity RFC 3325 allows the P-Asserted-Identity and P-Preferred-Identity
header fields each to contain at most two URIs, where one is a SIP or header fields each to contain at most two URIs, where one is a SIP or
SIPS URI [RFC3261] and the other is a TEL URI [RFC3966]. This may be SIPS URI [RFC3261] and the other is a TEL URI [RFC3966]. This may be
unduly restrictive in future, for example if there is a need to allow unduly restrictive in the future, for example, if there is a need to
other URI schemes, if there is a need to allow both a SIP and a SIPS allow other URI schemes, if there is a need to allow both a SIP and a
URI or if there is a need to allow more than one URI with the same SIPS URI, or if there is a need to allow more than one URI with the
scheme (e.g., a SIP URI based on a telephone number and a SIP URI same scheme (e.g., a SIP URI based on a telephone number and a SIP
that is not based on a telephone number). This document therefore URI that is not based on a telephone number). This document
provides forwards compatibility by mandating tolerance to the receipt therefore provides forwards compatibility by mandating tolerance to
of unexpected URIs. the receipt of unexpected URIs.
This document does not alter the fact that the asserted identity This document does not alter the fact that the asserted identity
mechanism has limited applicability, i.e., within a Trust Domain. mechanism has limited applicability, i.e., within a Trust Domain.
For general applicability, including operation outside a Trust Domain For general applicability, including operation outside a Trust Domain
(e.g., over the public Internet) or between different Trust Domains, (e.g., over the public Internet) or between different Trust Domains,
a different mechanism is needed. RFC 4474 [RFC4474] specifies the a different mechanism is needed. RFC 4474 [RFC4474] specifies the
Identity header field, in conjunction with the From header field, for Identity header field, in conjunction with the From header field, to
providing authenticated identity in such circumstances. RFC 4916 provide authenticated identity in such circumstances. RFC 4916
[RFC4916] specifies the use of RFC 4474 in mid-dialog requests, in [RFC4916] specifies the use of RFC 4474 in mid-dialog requests, in
particular in requests in the reverse direction to the dialog-forming particular, in requests in the reverse direction to the dialog-
request as a means of providing authenticated connected identity. forming request as a means of providing authenticated connected
identity.
RFC 3325 is unclear on the use of P-Asserted-Identity in responses. RFC 3325 is unclear on the use of P-Asserted-Identity in responses.
In contrast to requests, there is no means in SIP to challenge a UAS In contrast to requests, there is no means in SIP to challenge a User
to provide SIP digest authentication in a response. As a result, Agent Server (UAS) to provide SIP digest authentication in a
there is currently no standardised mechanism whereby a proxy can response. As a result, there is currently no standardised mechanism
authenticate a UAS. Since authenticating the source of a message is whereby a proxy can authenticate a UAS. Since authenticating the
a pre-requisite for asserting an identity, this document does not source of a message is a prerequisite for asserting an identity, this
specify the use of the P-Asserted-Identity header field in responses. document does not specify the use of the P-Asserted-Identity header
This may be the subject of a future update to RFC 3325. Also this field in responses. This may be the subject of a future update to
document does not specify the use of the P-Preferred-Identity header RFC 3325. Also, this document does not specify the use of the
field in responses, as this would serve no purpose in the absence of P-Preferred-Identity header field in responses, as this would serve
the ability for a proxy to insert the P-Asserted-Identity header no purpose in the absence of the ability for a proxy to insert the
field. P-Asserted-Identity header field.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
This document uses the concepts of Trust Domain and Spec(T), as
specified in section 2.3 of RFC 3324 [RFC3324].
3. Discussion 3. Discussion
3.1. Inclusion of P-Asserted-Identity by a UAC 3.1. Inclusion of P-Asserted-Identity by a UAC
RFC 3325 does not include procedures for a UAC to include the RFC 3325 does not include procedures for a UAC to include the
P-Asserted-Identity header field in a request. This can be P-Asserted-Identity header field in a request. This can be
meaningful if the UAC is in the same Trust Domain as the first meaningful if the UAC is in the same Trust Domain as the first
downstream SIP entity. Examples of types of UAC that are often downstream SIP entity. Examples of types of UACs that are often
suitable for inclusion in a Trust Domain are: suitable for inclusion in a Trust Domain are:
o PSTN gateways; o Public Switched Telephone Network (PSTN) gateways;
o media servers; o media servers;
o application servers (or B2BUAs) that act as URI list servers o application servers (or Back-to-Back User Agents (B2BUAs)) that
[RFC5363]; act as URI list servers [RFC5363];
o application servers (or B2BUAs) that perform third party call o application servers (or B2BUAs) that perform third party call
control. control.
In the particular case of a PSTN gateway, the PSTN gateway might be In the particular case of a PSTN gateway, the PSTN gateway might be
able to assert an identity received from the PSTN, the proxy itself able to assert an identity received from the PSTN, the proxy itself
having no means to authenticate such an identity. Likewise, in the having no means to authenticate such an identity. Likewise, in the
case of certain application server or B2BUA arrangements, the case of certain application server or B2BUA arrangements, the
application server or B2BUA may be in a position to assert an application server or B2BUA may be in a position to assert an
identity of a user on the other side of that application server or identity of a user on the other side of that application server or
B2BUA. B2BUA.
In accordance with RFC 3325, nodes within a Trust Domain must behave In accordance with RFC 3325, nodes within a Trust Domain must behave
in accordance with a Spec(T), and this principle needs to apply in accordance with a Spec(T), and this principle needs to be applied
between a UAC and its proxy as part of the condition for considering between a UAC and its proxy as part of the condition to consider the
the UAC to be within the same Trust Domain. Normal proxy procedures UAC to be within the same Trust Domain. The normal proxy procedures
of RFC 3325 ensure that the header field is removed or replaced if of RFC 3325 ensure that the header field is removed or replaced if
the first proxy considers the UAC to be outside the Trust Domain. the first proxy considers the UAC to be outside the Trust Domain.
This update to RFC 3325 clarifies that a UAC may include a This update to RFC 3325 clarifies that a UAC may include a
P-Asserted-Identity header field in a request in certain P-Asserted-Identity header field in a request in certain
circumstances. circumstances.
3.2. Inclusion of P-Asserted-Identity in any request 3.2. Inclusion of P-Asserted-Identity in Any Request
There are several use cases that would benefit from the use of the There are several use cases that would benefit from the use of the
P-Asserted-Identity header field in an UPDATE request. These use P-Asserted-Identity header field in an UPDATE request. These use
cases apply within a Trust Domain where the use of asserted identity cases apply within a Trust Domain where the use of asserted identity
is appropriate (see RFC 3325). is appropriate (see RFC 3325).
In one example, an established call passes through a gateway to the In one example, an established call passes through a gateway to the
PSTN. The gateway becomes aware that the remote party in the PSTN PSTN. The gateway becomes aware that the remote party in the PSTN
has changed, e.g., due to call transfer. By including the has changed, e.g., due to call transfer. By including the
P-Asserted-Identity header field in an UPDATE request, the gateway P-Asserted-Identity header field in an UPDATE request, the gateway
can convey the identity of the new remote party to the peer SIP UA. can convey the identity of the new remote party to the peer SIP User
Agent (UA).
Note that the (re-)INVITE method could be used in this situation. Note that the (re-)INVITE method could be used in this situation.
However, this forces an offer-answer exchange, which typically is However, this forces an offer-answer exchange, which typically is
not required in this situation. Also it involves 3 messages not required in this situation. Also, it involves three messages
rather than 2. rather than two.
In another example, a B2BUA that provides third party call control In another example, a B2BUA that provides third party call control
(3PCC) [RFC3725] wishes to join two calls together, one of which is (3PCC) [RFC3725] wishes to join two calls together, one of which is
still waiting to be answered and potentially is forked to different still waiting to be answered and potentially is forked to different
UAs. At this point in time it is not possible to trigger the normal UAs. At this point in time, it is not possible to trigger the normal
offer-answer exchange between the two joined parties, because of the offer-answer exchange between the two joined parties, because of the
mismatch between a single dialog on the one side and potentially mismatch between a single dialog on the one side and potentially
multiple early dialogs on the other side, so this action must wait multiple early dialogs on the other side, so this action must wait
until one of the called UAs answers. However, it would be useful to until one of the called UAs answers. However, it would be useful to
give an early indication to each user concerned of the identity of give an early indication to each user concerned of the identity of
the user to which they will become connected when the call is the user to which they will become connected when the call is
answered. In other words, it would provide the new calling UA with answered. In other words, it would provide the new calling UA with
the identity of the new called user and provide the new called UA(s) the identity of the new called user and provide the new called UA(s)
with the identity of the new calling user. This can be achieved by with the identity of the new calling user. This can be achieved by
the B2BUA sending an UPDATE request with a P-Asserted-Identity header the B2BUA sending an UPDATE request with a P-Asserted-Identity header
field on the dialogs concerned. field on the dialogs concerned.
Within a Trust Domain, a P-Asserted-Identity header field could Within a Trust Domain, a P-Asserted-Identity header field could
advantageously be used in a REGISTER request between an edge proxy advantageously be used in a REGISTER request between an edge proxy
that has authenticated the source of the request and the registrar. that has authenticated the source of the request and the registrar.
Within a Trust Domain, a P-Asserted-Identity header field could Within a Trust Domain, a P-Asserted-Identity header field could
advantageously be used in a MESSAGE request to assert the source of a advantageously be used in a MESSAGE request to assert the source of a
page mode instant message. This would complement its use in an page-mode instant message. This would complement its use in an
INVITE request to assert the source of an instant message session or INVITE request to assert the source of an instant-message session or
any other form of session. Similarly, between a UAC and first proxy any other form of session. Similarly, between a UAC and first proxy
that are not within the same Trust Domain, a P-Preferred-Identity that are not within the same Trust Domain, a P-Preferred-Identity
header field could be used in a MESSAGE request to express a header field could be used in a MESSAGE request to express a
preference when the user has several identities. preference when the user has several identities.
Within a Trust Domain, a P-Asserted-Identity header field could Within a Trust Domain, a P-Asserted-Identity header field could
advantageously be used in a PUBLISH request to assert the source of advantageously be used in a PUBLISH request to assert the source of
published state information. This would complement its use in published state information. This would complement its use in
SUBSCRIBE and NOTIFY requests. Similarly, between a UAC and first SUBSCRIBE and NOTIFY requests. Similarly, between a UAC and first
proxy that are not within the same Trust Domain, a P-Preferred- proxy that are not within the same Trust Domain, a P-Preferred-
Identity header field could be used in a PUBLISH request to express a Identity header field could be used in a PUBLISH request to express a
preference when the user has several identities. preference when the user has several identities.
Thus there are several examples where P-Asserted-Identity could be Thus, there are several examples where P-Asserted-Identity could be
used in requests with methods that are not provided for in RFC 3325 used in requests with methods for which there is no provision in RFC
or any other RFC. This leaves a few methods for which use cases are 3325. This leaves a few methods for which use cases are less
less obvious, but the inclusion of P-Asserted Identity would not obvious, but the inclusion of P-Asserted-Identity would not cause any
cause any harm. In any requests, the header field would simply harm. In any requests, the header field would simply assert the
assert the source of that request, whether or not this is of any use source of that request, whether or not this is of any use to the UAS.
to the UAS. Inclusion of P-Asserted-Identity in a request requires Inclusion of P-Asserted-Identity in a request requires that the
that the original asserter of an identity be able to authenticate the original asserter of an identity be able to authenticate the source
source of the request. This implies the ability to challenge a of the request. This implies the ability to challenge a request for
request for SIP digest authentication, which is not possible with ACK SIP digest authentication, which is not possible with ACK and CANCEL
and CANCEL requests. Therefore ACK and CANCEL requests need to be requests. Therefore, ACK and CANCEL requests need to be excluded.
excluded.
Similarly there are examples where P-Preferred-Identity could be used Similarly, there are examples where P-Preferred-Identity could be
in requests with methods that are not provided for in RFC 3325 or any used in requests with methods for which there is no provision in RFC
other RFC (with the exception of ACK and CANCEL). 3325 or any other RFC (with the exception of ACK and CANCEL).
This update to RFC 3325 allows a P-Asserted-Identity or P-Preferred- This update to RFC 3325 allows a P-Asserted-Identity or P-Preferred-
Identity header field to be included in any request except ACK and Identity header field to be included in any request except ACK and
CANCEL. CANCEL.
3.3. Dialog implications 3.3. Dialog Implications
A P-Asserted-Identity header field in a received request asserts the A P-Asserted-Identity header field in a received request asserts the
identity of the source of that request and says nothing about the identity of the source of that request and says nothing about the
source of subsequent received requests claiming to relate to the same source of subsequent received requests claiming to relate to the same
dialog. The recipient can make its own deductions about the source dialog. The recipient can make its own deductions about the source
of subsequent requests not containing a P-Asserted-Identity header of subsequent requests not containing a P-Asserted-Identity header
field. This document does not change RFC 3325 in this respect. field. This document does not change RFC 3325 in this respect.
4. Behaviour 4. Behaviour
This document updates RFC 3325 by allowing a P-Asserted-Identity This document updates RFC 3325 by allowing a P-Asserted-Identity
header field to be included by a UAC within the same Trust Domain and header field to be included by a UAC within the same Trust Domain and
by allowing a P-Asserted-Identity or P-Preferred-Identity header by allowing a P-Asserted-Identity or P-Preferred-Identity header
field to appear in any request. field to appear in any request except ACK or CANCEL.
4.1. UAC Behaviour 4.1. UAC Behaviour
A UAC MAY include a P-Asserted-Identity header field in any request A UAC MAY include a P-Asserted-Identity header field in any request
except ACK and CANCEL to report the identity of the user on behalf of except ACK and CANCEL to report the identity of the user on behalf of
which the UAC is acting and whose identity the UAC is in a position which the UAC is acting and whose identity the UAC is in a position
to assert. A UAC SHOULD do so only in cases where it believes it is to assert. A UAC SHOULD do so only in cases where it believes it is
in the same Trust Domain as the SIP entity to which it sends the in the same Trust Domain as the SIP entity to which it sends the
request and is connected to that SIP entity in accordance with the request and where it is connected to that SIP entity in accordance
security requirements of RFC 3325. A UAC SHOULD NOT do so in other with the security requirements of RFC 3325. A UAC SHOULD NOT do so
circumstances and might instead use the P-Preferred-Identity header in other circumstances and might instead use the P-Preferred-Identity
field. A UAC MUST NOT include both header fields. header field. A UAC MUST NOT include both header fields.
A UAC MAY include a P-Asserted-Identity or P-Preferred-Identity A UAC MAY include a P-Preferred-Identity header field in any request
header field in any request, i.e., not limited to the methods allowed except ACK or CANCEL.
in RFC 3325.
Inclusion of a P-Asserted-Identity or P-Preferred-Identity header
field in a request is not limited to the methods allowed in RFC 3325.
4.2. Proxy Behaviour 4.2. Proxy Behaviour
If a proxy receives a request containing a P-Asserted-Identity header If a proxy receives a request containing a P-Asserted-Identity header
field from a UAC within the Trust Domain it MUST behave as for a field from a UAC within the Trust Domain, it MUST behave as it would
request from any other node within the Trust Domain, in accordance for a request from any other node within the Trust Domain, in
with the rules of RFC 3325 for a proxy. accordance with the rules of RFC 3325 for a proxy.
Note that this implies that the proxy must have authenticated the Note that this implies that the proxy must have authenticated the
sender of the request in accordance with the Spec(T) in force for sender of the request in accordance with the Spec(T) in force for
the Trust Domain and determined that the sender is indeed part of the Trust Domain and determined that the sender is indeed part of
the Trust Domain. the Trust Domain.
If a proxy receives a request (other than ACK or CANCEL) containing a If a proxy receives a request (other than ACK or CANCEL) containing a
P-Asserted-Identity or P-Preferred-Identity header field, it MUST P-Asserted-Identity or P-Preferred-Identity header field, it MUST
behave in accordance with the rules of RFC 3325 for a proxy, even if behave in accordance with the rules of RFC 3325 for a proxy, even if
the method is not one for which RFC 3325 specifies use of that header the method is not one for which RFC 3325 specifies use of that header
field. field.
4.3. Registrar Behaviour 4.3. Registrar Behaviour
If a registrar receives a REGISTER request containing a P-Asserted- If a registrar receives a REGISTER request containing a P-Asserted-
Identity header field, it MUST disregard the asserted identity unless Identity header field, it MUST disregard the asserted identity unless
received from a node within the Trust Domain. If the node is within it is received from a node within the Trust Domain. If the node is
the Trust Domain, the registrar MAY use this as evidence that the within the Trust Domain (the node having been authenticated by some
registering UA has been authenticated and represents the identity means), the registrar MAY use this as evidence that the registering
asserted in the header field. UA has been authenticated and is represented by the identity asserted
in the header field.
4.4. UAS Behaviour 4.4. UAS Behaviour
If a UAS receives any request (other than ACK or CANCEL) containing a If a UAS receives any request (other than ACK or CANCEL) containing a
P-Asserted-Identity header field, it MUST behave in accordance with P-Asserted-Identity header field, it MUST behave in accordance with
the rules of RFC 3325 for a UAS, even if the method is not one for the rules of RFC 3325 for a UAS, even if the method is not one for
which RFC 3325 specifies use of that header field. which RFC 3325 specifies use of that header field.
4.5. General handling 4.5. General Handling
If an entity receives a request containing a P-Asserted-Identity or An entity receiving a P-Asserted-Identity or P-Preferred-Identity
header field can expect the number of URIs and the combination of URI
schemes in the header field to be in accordance with RFC 3325, any
updates to RFC 3325, or any Spec(T) that states otherwise. If an
entity receives a request containing a P-Asserted-Identity or
P-Preferred-Identity header field containing an unexpected number of P-Preferred-Identity header field containing an unexpected number of
URIs or unexpected URI schemes it MUST act as follows: URIs or unexpected URI schemes, it MUST act as follows:
o ignore any URI with an unexpected URI scheme; o ignore any URI with an unexpected URI scheme;
o ignore any URI for which the expected maximum number of URIs with o ignore any URI for which the expected maximum number of URIs with
the same scheme occurred earlier in the header field; and the same scheme occurred earlier in the header field; and
o ignore any URI whose scheme is not expected to occur in o ignore any URI whose scheme is not expected to occur in
combination with a scheme that occurred earlier in the header combination with a scheme that occurred earlier in the header
field. field.
In the absence of a Spec(T) determining otherwise, this document does In the absence of a Spec(T) determining otherwise, this document does
not change the RFC 3325 requirement that allows each of these header not change the RFC 3325 requirement that allows each of these header
fields to contain at most two URIs, where one is a SIP or SIPS URI fields to contain at most two URIs, where one is a SIP or SIPS URI
and the other is a TEL URI, but future updates to this document may and the other is a TEL URI, but future updates to this document may
relax that requirement. In the absence of such a relaxation or a relax that requirement. In the absence of such a relaxation or a
Spec(T) determining otherwise, the RFC 3325 requirement means that an Spec(T) determining otherwise, the RFC 3325 requirement means that an
entity receiving a request containing a P-Asserted-Identity or entity receiving a request containing a P-Asserted-Identity or
P-Preferred-Identity header field must act as follows: P-Preferred-Identity header field must act as follows:
o ignore any URI with a scheme other than SIP, SIPS or TEL; o ignore any URI with a scheme other than SIP, SIPS, or TEL;
o ignore a second or subsequent SIP URI, a second or subsequent SIPS o ignore a second or subsequent SIP URI, a second or subsequent SIPS
URI or a second or subsequent TEL URI; and URI, or a second or subsequent TEL URI; and
o ignore a SIP URI if a SIPS URI occurred earlier in the header o ignore a SIP URI if a SIPS URI occurred earlier in the header
field and vice versa. field and vice versa.
A proxy MUST NOT forward a URI when forwarding a request if that URI A proxy MUST NOT forward a URI when forwarding a request if that URI
is to be ignored in accordance with the requirement above. is to be ignored in accordance with the requirement above.
When a UAC or a proxy sends a request containing a P-Asserted- When a UAC or a proxy sends a request containing a P-Asserted-
Identity header field to another node in the Trust Domain, if that Identity header field to another node in the Trust Domain, if that
other node complies with RFC 3325 but not with this specification, other node complies with RFC 3325 but not with this specification,
skipping to change at page 9, line 15 skipping to change at page 9, line 20
Privacy header field with value 'id', as specified in RFC 3325, the Privacy header field with value 'id', as specified in RFC 3325, the
other node might not handle the Privacy header field correctly. To other node might not handle the Privacy header field correctly. To
prevent incorrect handling of the Privacy header field with value prevent incorrect handling of the Privacy header field with value
'id', the Spec(T) in force for the Trust Domain SHOULD require all 'id', the Spec(T) in force for the Trust Domain SHOULD require all
nodes to comply with this specification. If this is not the case, a nodes to comply with this specification. If this is not the case, a
UAC or a proxy SHOULD NOT include a P-Asserted-Identity header field UAC or a proxy SHOULD NOT include a P-Asserted-Identity header field
in a request if the method is not one for which RFC 3325 specifies in a request if the method is not one for which RFC 3325 specifies
use of the P-Asserted-Identity header field and if the request also use of the P-Asserted-Identity header field and if the request also
contains a Privacy header field with value 'id'. contains a Privacy header field with value 'id'.
5. IANA considerations 5. Security Considerations
This document requires no IANA actions.
6. Security considerations
The use of asserted identity raises a number of security The use of asserted identity raises a number of security
considerations, which are discussed fully in [RFC3325]. This considerations, which are discussed fully in [RFC3325]. This
document raises the following additional security considerations. document raises the following additional security considerations.
When adding a P-Asserted-Identity header field to a message, an When adding a P-Asserted-Identity header field to a message, an
entity must have authenticated the source of the message by some entity must have authenticated the source of the message by some
means. One means is to challenge the sender of a message to provide means. One means is to challenge the sender of a message to provide
SIP digest authentication. Responses cannot be challenged, and also SIP digest authentication. Responses cannot be challenged, and also
ACK and CANCEL requests cannot be challenged. Therefore this ACK and CANCEL requests cannot be challenged. Therefore, this
document limits the use of P-Asserted-Identity to requests other than document limits the use of P-Asserted-Identity to requests other than
ACK and CANCEL. ACK and CANCEL.
When sending a request containing the P-Asserted-Identity header When sending a request containing the P-Asserted-Identity header
field and also the Privacy header field with value 'id' to a node field and also the Privacy header field with value 'id' to a node
within the Trust Domain, special considerations apply if that node within the Trust Domain, special considerations apply if that node
does not support this specification. Section 4.5 makes special does not support this specification. Section 4.5 makes a special
provision for this case. provision for this case.
When receiving a request containing a P-Asserted-Identity header When receiving a request containing a P-Asserted-Identity header
field, a proxy will trust the assertion only if the source is known field, a proxy will trust the assertion only if the source is known
to be within the Trust Domain and behaves in accordance with a to be within the Trust Domain and behaves in accordance with a
Spec(T), which defines the security requirements. This applies Spec(T), which defines the security requirements. This applies
regardless of the nature of the resource (UA or proxy). One example regardless of the nature of the resource (UA or proxy). One example
where a trusted source might be a UA is a PSTN gateway. In this case where a trusted source might be a UA is a PSTN gateway. In this
the UA can assert an identity received from the PSTN, the proxy case, the UA can assert an identity received from the PSTN, the proxy
itself having no means to authenticate such an identity. A SIP itself having no means to authenticate such an identity. A SIP
entity must not trust an identity asserted by a source outside the entity must not trust an identity asserted by a source outside the
Trust Domain. Typically a UA under the control of an individual user Trust Domain. Typically, a UA under the control of an individual
(such as a desk phone or mobile phone) should not be considered part user (such as a desk phone or mobile phone) should not be considered
of a Trust Domain. part of a Trust Domain.
When receiving a response from a node outside the Trust Domain, a When receiving a response from a node outside the Trust Domain, a
proxy has no standardised SIP means to authenticate the node. For proxy has no standardised SIP means to authenticate the source of the
this reason, this document does not specify the use of P-Asserted- response. For this reason, this document does not specify the use of
Identity or P-Preferred-Identity in responses. P-Asserted-Identity or P-Preferred-Identity in responses.
When receiving a REGISTER request containing a P-Asserted-Identity
header field, a proxy will trust the asserted identity only if
received over a secure connection from a proxy within the Trust
Domain.
7. Acknowledgements 6. Acknowledgements
Useful comments were received from Francois Audet, John-Luc Bakker, Useful comments were received from Francois Audet, John-Luc Bakker,
Jeroen van Bemmel, Hans Erik van Elburg, Vijay Gurbani, Cullen Jeroen van Bemmel, Hans Erik van Elburg, Vijay Gurbani, Cullen
Jennings, Hadriel Kaplan, Paul Kyzivat, Jonathan Rosenberg, Thomas Jennings, Hadriel Kaplan, Paul Kyzivat, Jonathan Rosenberg, Thomas
Stach and Brett Tate during drafting and review. Stach, and Brett Tate during drafting and review.
8. References 7. References
8.1. Normative References 7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. June 2002.
[RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP) [RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP)
skipping to change at page 11, line 11 skipping to change at page 11, line 5
[RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., [RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C.,
and D. Gurle, "Session Initiation Protocol (SIP) Extension and D. Gurle, "Session Initiation Protocol (SIP) Extension
for Instant Messaging", RFC 3428, December 2002. for Instant Messaging", RFC 3428, December 2002.
[RFC3903] Niemi, A., "Session Initiation Protocol (SIP) Extension [RFC3903] Niemi, A., "Session Initiation Protocol (SIP) Extension
for Event State Publication", RFC 3903, October 2004. for Event State Publication", RFC 3903, October 2004.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers",
RFC 3966, December 2004. RFC 3966, December 2004.
8.2. Informative References 7.2. Informative References
[RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G. [RFC3725] Rosenberg, J., Peterson, J., Schulzrinne, H., and G.
Camarillo, "Best Current Practices for Third Party Call Camarillo, "Best Current Practices for Third Party Call
Control (3pcc) in the Session Initiation Protocol (SIP)", Control (3pcc) in the Session Initiation Protocol (SIP)",
BCP 85, RFC 3725, April 2004. BCP 85, RFC 3725, April 2004.
[RFC4474] Peterson, J. and C. Jennings, "Enhancements for [RFC4474] Peterson, J. and C. Jennings, "Enhancements for
Authenticated Identity Management in the Session Authenticated Identity Management in the Session
Initiation Protocol (SIP)", RFC 4474, August 2006. Initiation Protocol (SIP)", RFC 4474, August 2006.
skipping to change at page 11, line 34 skipping to change at page 11, line 28
[RFC5363] Camarillo, G. and A. Roach, "Framework and Security [RFC5363] Camarillo, G. and A. Roach, "Framework and Security
Considerations for Session Initiation Protocol (SIP) URI- Considerations for Session Initiation Protocol (SIP) URI-
List Services", RFC 5363, October 2008. List Services", RFC 5363, October 2008.
Author's Address Author's Address
John Elwell John Elwell
Siemens Enterprise Communications Siemens Enterprise Communications
Phone: +44 115 943 4989 Phone: +44 115 943 4989
Email: john.elwell@siemens.com EMail: john.elwell@siemens-enterprise.com
 End of changes. 53 change blocks. 
180 lines changed or deleted 175 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/