< draft-rosenberg-sipping-service-identification-02.txt   draft-rosenberg-sipping-service-identification-03.txt >
SIPPING J. Rosenberg SIPPING J. Rosenberg
Internet-Draft Cisco Internet-Draft Cisco
Intended status: Best Current May 7, 2007 Intended status: Best Current July 9, 2007
Practice Practice
Expires: November 8, 2007 Expires: January 10, 2008
Identification of Communications Services in the Session Initiation Identification of Communications Services in the Session Initiation
Protocol (SIP) Protocol (SIP)
draft-rosenberg-sipping-service-identification-02 draft-rosenberg-sipping-service-identification-03
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 36 skipping to change at page 1, line 36
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on November 8, 2007. This Internet-Draft will expire on January 10, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document considers the problem of service identification in the This document considers the problem of service identification in the
Session Initiation Protocol (SIP). Service identification is the Session Initiation Protocol (SIP). Service identification is the
process of determining the user-level use case that is driving the process of determining the user-level use case that is driving the
skipping to change at page 2, line 19 skipping to change at page 2, line 19
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Services and Service Identification . . . . . . . . . . . . . 4 3. Services and Service Identification . . . . . . . . . . . . . 4
4. Example Services . . . . . . . . . . . . . . . . . . . . . . . 6 4. Example Services . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. IPTV vs. Multimedia . . . . . . . . . . . . . . . . . . . 6 4.1. IPTV vs. Multimedia . . . . . . . . . . . . . . . . . . . 6
4.2. Gaming vs. Voice Chat . . . . . . . . . . . . . . . . . . 7 4.2. Gaming vs. Voice Chat . . . . . . . . . . . . . . . . . . 7
4.3. Configuration vs. Pager Messaging . . . . . . . . . . . . 7 4.3. Configuration vs. Pager Messaging . . . . . . . . . . . . 7
5. Using Service Identification . . . . . . . . . . . . . . . . . 7 5. Using Service Identification . . . . . . . . . . . . . . . . . 7
5.1. Application Invocation in the User Agent . . . . . . . . . 8 5.1. Application Invocation in the User Agent . . . . . . . . . 8
5.2. Application Invocation in the Network . . . . . . . . . . 8 5.2. Application Invocation in the Network . . . . . . . . . . 9
5.3. Network Quality of Service Authorization . . . . . . . . . 9 5.3. Network Quality of Service Authorization . . . . . . . . . 9
5.4. Service Authorization . . . . . . . . . . . . . . . . . . 10 5.4. Service Authorization . . . . . . . . . . . . . . . . . . 10
5.5. Accounting and Billing . . . . . . . . . . . . . . . . . . 10 5.5. Accounting and Billing . . . . . . . . . . . . . . . . . . 10
5.6. Negotiation of Service . . . . . . . . . . . . . . . . . . 10 5.6. Negotiation of Service . . . . . . . . . . . . . . . . . . 10
5.7. Dispatch to Devices . . . . . . . . . . . . . . . . . . . 11 5.7. Dispatch to Devices . . . . . . . . . . . . . . . . . . . 11
6. Key Principles of Service Identification . . . . . . . . . . . 11 6. Key Principles of Service Identification . . . . . . . . . . . 11
6.1. Services are a By-Product of Signaling . . . . . . . . . . 11 6.1. Services are a By-Product of Signaling . . . . . . . . . . 11
6.2. Perils of Explicit Identifiers . . . . . . . . . . . . . . 13 6.2. Perils of Explicit Identifiers . . . . . . . . . . . . . . 13
6.2.1. Fraud . . . . . . . . . . . . . . . . . . . . . . . . 13 6.2.1. Fraud . . . . . . . . . . . . . . . . . . . . . . . . 13
6.2.2. Systematic Interoperability Failures . . . . . . . . . 14 6.2.2. Systematic Interoperability Failures . . . . . . . . . 14
6.2.3. Stifling of Service Innovation . . . . . . . . . . . . 15 6.2.3. Stifling of Service Innovation . . . . . . . . . . . . 16
7. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 17 7. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 17
8. Security Considerations . . . . . . . . . . . . . . . . . . . 17 8. Security Considerations . . . . . . . . . . . . . . . . . . . 17
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
11.1. Normative References . . . . . . . . . . . . . . . . . . . 18 11.1. Normative References . . . . . . . . . . . . . . . . . . . 18
11.2. Informational References . . . . . . . . . . . . . . . . . 18 11.2. Informational References . . . . . . . . . . . . . . . . . 18
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 19 Intellectual Property and Copyright Statements . . . . . . . . . . 20
1. Introduction 1. Introduction
The Session Initiation Protocol (SIP) [2] defines mechanisms for The Session Initiation Protocol (SIP) [2] defines mechanisms for
initiating and managing communications sessions between agents. SIP initiating and managing communications sessions between agents. SIP
allows for a broad array of session types between agents. It can allows for a broad array of session types between agents. It can
manage audio sessions, ranging from low bitrate voice-only up to manage audio sessions, ranging from low bitrate voice-only up to
multi-channel hi fidelity music. It can manage video sessions, multi-channel hi fidelity music. It can manage video sessions,
ranging from small, "talking-head" style video chat, up to high ranging from small, "talking-head" style video chat, up to high
definition multipoint video conferencing, to low bandwidth user- definition multipoint video conferencing, to low bandwidth user-
skipping to change at page 5, line 35 skipping to change at page 5, line 35
services available, for example, SIP or tel [15], in which case the services available, for example, SIP or tel [15], in which case the
scheme is less meaningful as a way of creating a summary. The reach scheme is less meaningful as a way of creating a summary. The reach
information could also indicate that certain application software has information could also indicate that certain application software has
to be invoked (such as a videogame), in which case that aspect of the to be invoked (such as a videogame), in which case that aspect of the
reach information would be useful for generating an iconic reach information would be useful for generating an iconic
representation of the game. representation of the game.
Essentially, the service is the user-visible use case that is driving Essentially, the service is the user-visible use case that is driving
the behavior of the user-agents and servers in the SIP network. the behavior of the user-agents and servers in the SIP network.
Being user-visible means that there is a difference in user Being user-visible means that there is a difference in user
experience between two services that are different. This user experience between two services that are different. That user
experience can be based on different media types (an audio call vs. a experience can be part of the call, or outside of the call. Within a
video chat), different content within a particular media type (stored call, the user experience can be based on different media types (an
content, such as a movie or TV session), different devices (a audio call vs. a video chat), different content within a particular
wireless device for "telephony" vs. a PC application for "voice- media type (stored content, such as a movie or TV session), different
chat"), different user interfaces (a buddy list view of voice on a PC devices (a wireless device for "telephony" vs. a PC application for
application vs. a software emulation of a hard phone), different "voice-chat"), different user interfaces (a buddy list view of voice
communities that can be accessed (voice chat with other users that on a PC application vs. a software emulation of a hard phone),
have the same voice chat client, vs. voice communications with any different communities that can be accessed (voice chat with other
endpoint on the PSTN), or different applications that are invoked by users that have the same voice chat client, vs. voice communications
the user (manually selecting a push-to-talk application from a with any endpoint on the PSTN), or different applications that are
wireless phone vs. a telephony application). invoked by the user (manually selecting a push-to-talk application
from a wireless phone vs. a telephony application). Outside of a
call, the difference in user experience can be a billing one (cheaper
for one service than other), a notification feature for one and not
another (for example, an IM that gets sent whenever a user makes a
call), and so on.
In some cases, there is very little difference in the underlying In some cases, there is very little difference in the underlying
technology that will support two different services, and in other technology that will support two different services, and in other
cases, there are big differences. However, for purposes of this cases, there are big differences. However, for purposes of this
discussion, the key definition is that two services are distinct when discussion, the key definition is that two services are distinct when
there is a perceived difference by the user in the two services. there is a perceived difference by the user in the two services.
This leads naturally to the desire to perform service identification. This leads naturally to the desire to perform service identification.
Service identification is defined as the process of (1) determination Service identification is defined as the process of (1) determination
of the underlying service which is driving a particular signaling of the underlying service which is driving a particular signaling
skipping to change at page 11, line 37 skipping to change at page 11, line 41
Almost always, the first solution that people consider is to add some Almost always, the first solution that people consider is to add some
kind of field to the signaling messages which indicates what the kind of field to the signaling messages which indicates what the
service is. This field would then be inserted by the user agent, and service is. This field would then be inserted by the user agent, and
then can be used by the proxies and other user agent as a service then can be used by the proxies and other user agent as a service
identifier. identifier.
This approach, however, misses a key point, which cannot be stressed This approach, however, misses a key point, which cannot be stressed
enough, and which represents the core architectural principle to be enough, and which represents the core architectural principle to be
understood here: understood here:
A service is the by-product of the signaling - the effects of the A service is the by-product of the signaling and the context
signaling message once launched into the network. The service around it (the user profile, time-of-day and so on) - the effects
identity is therefore always derivable from the signaling without of the signaling message once launched into the network. The
additional identifiers. service identity is therefore always derivable from the signaling
and its context without additional identifiers.
When a user sends an INVITE request to the network, and targets that When a user sends an INVITE request to the network, and targets that
request at an IPTV server, and includes SDP for audio and video request at an IPTV server, and includes SDP for audio and video
streaming, the *result* of sending such an INVITE is that an IPTV streaming, the *result* of sending such an INVITE is that an IPTV
session occurs. The entire purpose of the INVITE is to establish session occurs. The entire purpose of the INVITE is to establish
such a session, and therefore, invoke the service. Thus, a service such a session, and therefore, invoke the service. Thus, a service
is not something that is different from the rest of the signaling is not something that is different from the rest of the signaling
message. A service is what the user gets after the network and other message. A service is what the user gets after the network and other
user agents have processed a signaling message. user agents have processed a signaling message.
skipping to change at page 17, line 45 skipping to change at page 18, line 8
extensively in Section 6.2.1, that the usage of explicit service extensively in Section 6.2.1, that the usage of explicit service
identifiers inserted by a UA is NOT RECOMMENDED. identifiers inserted by a UA is NOT RECOMMENDED.
9. IANA Considerations 9. IANA Considerations
There are no IANA considerations associated with this specification. There are no IANA considerations associated with this specification.
10. Acknowledgements 10. Acknowledgements
This document is based on discussions with Paul Kyzivat and Andrew This document is based on discussions with Paul Kyzivat and Andrew
Allen, who contributed significantly to the ideas here. Allen, who contributed significantly to the ideas here. Much of the
content in this draft is a result of discussions amongst participants
in the SIPPING mailing list, including Dean Willis, Tom Taylor, Eric
Burger, Dale Worley, Christer Holmberg, and John Elwell, amongst many
others.
11. References 11. References
11.1. Normative References 11.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997. Levels", BCP 14, RFC 2119, March 1997.
[2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., [2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
skipping to change at page 18, line 29 skipping to change at page 18, line 38
[4] Rosenberg, J. and H. Schulzrinne, "Guidelines for Authors of [4] Rosenberg, J. and H. Schulzrinne, "Guidelines for Authors of
Extensions to the Session Initiation Protocol (SIP)", RFC 4485, Extensions to the Session Initiation Protocol (SIP)", RFC 4485,
May 2006. May 2006.
[5] Campbell, B., "The Message Session Relay Protocol", [5] Campbell, B., "The Message Session Relay Protocol",
draft-ietf-simple-message-sessions-19 (work in progress), draft-ietf-simple-message-sessions-19 (work in progress),
February 2007. February 2007.
[6] Rosen, B., "Framework for Emergency Calling in Internet [6] Rosen, B., "Framework for Emergency Calling in Internet
Multimedia", draft-ietf-ecrit-framework-00 (work in progress), Multimedia", draft-ietf-ecrit-framework-01 (work in progress),
October 2006. March 2007.
[7] Schulzrinne, H., "A Uniform Resource Name (URN) for Services", [7] Schulzrinne, H., "A Uniform Resource Name (URN) for Services",
draft-ietf-ecrit-service-urn-05 (work in progress), August 2006. draft-ietf-ecrit-service-urn-06 (work in progress), March 2007.
[8] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and [8] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and
D. Gurle, "Session Initiation Protocol (SIP) Extension for D. Gurle, "Session Initiation Protocol (SIP) Extension for
Instant Messaging", RFC 3428, December 2002. Instant Messaging", RFC 3428, December 2002.
Author's Address Author's Address
Jonathan Rosenberg Jonathan Rosenberg
Cisco Cisco
Edison, NJ Edison, NJ
 End of changes. 13 change blocks. 
28 lines changed or deleted 38 lines changed or added

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