Internet DRAFT - draft-donovan-publish-requirements
draft-donovan-publish-requirements
Transport Working Group S. Donovan
Internet-Draft dynamicsoft
Expires: May 22, 2002 November 21, 2001
Requirements for Publication of SIP related service data
draft-donovan-publish-requirements-01.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
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
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 22, 2002.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
This document defines the requirements for a proposed extension to
the Session Initiation Protocol [1]. This extension would provide a
general-purpose mechanism for uploading service related data. For
instance, there is currently the need to upload or publish CPL to SIP
Proxies and presence documents to SIP Presence Servers.
This document does NOT outline an extension to SIP to handle these
requirements. The author is attempting to follow the guidelines that
requirements should be defined and agreed to before work on the an
extension begins.
Donovan Expires May 22, 2002 [Page 1]
Internet-Draft SIP Publication Requirements November 2001
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Why SIP? . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Why not SIP? . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.1 Publication Data Requirements . . . . . . . . . . . . . . . . 5
5.2 Authentication and Authorization Requirements . . . . . . . . 5
5.3 Data Handling Requirements . . . . . . . . . . . . . . . . . . 5
5.4 Privacy Requirements . . . . . . . . . . . . . . . . . . . . . 6
5.5 Error Cases . . . . . . . . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 8
Full Copyright Statement . . . . . . . . . . . . . . . . . . . 9
Donovan Expires May 22, 2002 [Page 2]
Internet-Draft SIP Publication Requirements November 2001
1. Introduction
This document defines the requirements for a proposed extension to
the Session Initiation Protocol [1]. This extension would provide
for a general-purpose mechanism for uploading service related data.
For instance, there is currently the need to upload or publish CPL to
SIP Proxies and presence documents to SIP Presence Servers.
Note that CPL is currently uploaded using the SIP REGISTER request.
It is thought that the REGISTER request, which was designed
specifically for publishing Contacts which are in turn used to
control routing of SIP requests, is not sufficiently general purpose
to handle the uploading of generic service related data. For
instance, there is currently no clean mechanism for reporting on the
failure to upload CPL while the registration of Contacts is
successful.
While this draft proposes that the solution to the requirements
outlined in this document should be based on SIP, it is recognized
that there is currently no consensus that SIP is the correct protocol
to be used for the generic publishing of service related data. If
there is consensus that something other than SIP should be used, then
the requirements in this document still apply to whatever solution is
selected.
2. Motivation
There are various situations where SIP clients need the ability to
supply service related information to SIP servers in order for the
services supplied by the SIP servers to operate properly.
The following are two well understood examples:
o Call Processing Language - Clients load Call Processing Language
(CPL) scripts to SIP Proxies. The SIP Proxies then use the CPL
scripts to control the routing of subsequent SIP requests.
o Presence Documents - Clients load Presence Documents to Presence
Servers. The Presence Servers then use the presence documents
when notifying watchers of the clients presence state.
It is felt that there is the need for a general-purpose mechanism for
uploading of SIP service information. Furthermore, it is felt that
the SIP REGISTER request is NOT the appropriate mechanism for handing
this loading of SIP service information. The semantics of the
REGISTER request are tightly coupled with the handling of the
contacts contained in the REGISTER request. There is not a clean way
to define handling of other service data without also effecting the
Donovan Expires May 22, 2002 [Page 3]
Internet-Draft SIP Publication Requirements November 2001
handling of REGISTERed contacts.
3. Why SIP?
It is valid to ask why the loading of service data should be defined
using the SIP protocol.
The primary reason for basing it on SIP is that both of the user's of
the information, the SIP client that creates it and the SIP server
that consumes it, already have SIP implementations running on them.
In addition, it might not be easy to put another protocol engine on
these devices, especially SIP phones.
The other possible reason to base it on SIP is that there is not
necessarily a clear mapping between the address of a SIP server that
would handle the publication of a CPL script and the address of
another protocol's server. As such, there will be additional
configuration complexity in the client associated with the ability to
send the message to a different server.
It can also be argued that SIP already supports a publication
mechanism in the REGISTER request. The only problem is that the
REGISTER request is not a general-purpose publication mechanism. So
all that is being proposed is a generalization of something that is
already in SIP (although this draft does NOT propose deprecating the
use of REGISTER for the original purpose of associating contacts with
a SIP url).
4. Why not SIP?
It is fairly easy to model the publication of SIP service information
as an HTTP PUT operation.
In fact, the draft "Guidelines for Authors of SIP Extensions" [2]
explicitly says:
"SIP is not a transfer protocol. It is not meant to send large
amounts of data unrelated to SIPs operation. It is not meant as a
replacement for HTTP..."
However, the same draft also says that REGISTER is an exception to
this rule, and this draft proposes a generalization of the REGISTER
function. In addition, the data being published is clearly related
to SIPs operation. This draft does NOT propose that this mechanism
apply to any and all uploads of data.
Donovan Expires May 22, 2002 [Page 4]
Internet-Draft SIP Publication Requirements November 2001
5. Requirements
This section contains the requirements for the proposed SIP
extension.
5.1 Publication Data Requirements
The extension MUST support the ability to carry arbitrary message
bodies, here-after called publication data.
The extension MUST support the ability to associate publication data
contained in a message body with a service.
For instance, presence and cpl are services.
The extension MUST support the ability to identify the
format/encoding of the publication data.
5.2 Authentication and Authorization Requirements
The extension MUST support the ability to identify the user to which
the publication data applies.
The extension MUST support the ability to authenticate the source of
the publication requests.
The extension MUST support the ability to determine the authorization
of the source of the publication request to publish data for the user
effected by the publication data.
The extension MUST support the ability for the user determined to be
the source of the publication request to be different than the user
determined to be the target of the publication request.
Another way of saying this it that the third party registration
concept currently supported for registrations must also be supported
for publications.
5.3 Data Handling Requirements
The extension MUST support the ability to treat the published data as
hard state.
CPL is an example of data that would be treated as hard state. As
such, it should not have an expiration period applied to it and it is
kept in place until it is replaced or explicitly removed.
The extension MUST support the ability for the server to indicate
Donovan Expires May 22, 2002 [Page 5]
Internet-Draft SIP Publication Requirements November 2001
that a request to store published data as hard state will not be
honored.
The server might not want to be told to store something forever. It
is envisioned that this could be achieved by including an expires
timer in the response, much has would be done in the soft state case
discussed in the next requirement.
The extension MUST support the ability to treat the published data
as soft state. As such, the extension MUST support the ability to
associate an expiration time with a message body.
There are times that a presence document could be considered to be
soft state, with the explicit requirement that there is an explicit
period of time that the presence document is valid. If this is the
case then the presentity publishing the data would be required to
refresh the publication in order to keep it in effect.
The extension MUST support the ability to query or retrieve
publication data associated with a service.
The extension MUST support the ability to define a desired action to
be taken on the published data. Example actions are replace, remove,
append and merge. Each service that uses the publication capability
must define the actions that apply to that service.
The extension MUST allow for the list of actions to be extensible.
Note: It is not clear that the action to be taken should be part of
the extension or should be a part of the message body containing the
publication data. Making it a part of the message body makes it a
service/application specific definition, which might make for a
cleaner separation from the publication extension and the service to
which the publication is targeted.
5.4 Privacy Requirements
The extension MUST support the ability to encrypt the publication
data.
The extension MUST support the ability for the response to
unauthorized requests to hide the fact that the source user is not
authorized to publish for the target user.
It is anticipated that there will be cases where returning a response
indicating that the source user is not authorized will supply
information about either the server or the target user of the server
that could enable attacks on one or the other. As such, it is
Donovan Expires May 22, 2002 [Page 6]
Internet-Draft SIP Publication Requirements November 2001
envisioned that a generic "accepted" response, that can be
differentiated from "successful" and "unauthorized", would be useful
in this case
5.5 Error Cases
The extension MUST support the ability to reject the publication
request when the contents of the publication data are malformed or
erroneous.
The extension MUST support the ability to reject the publication
request because the source user is not authorized to access the
particular service. This rejection should indicate the services that
the server supports.
The extension MUST support the ability to reject the publication
request because the source is not allowed to publish data for the
target user.
The extension MUST support the ability to reject the publication
request because the target user is not known to the server.
The extension MUST support the ability to reject the publication
because the type of the indicated service is not supported. This
rejection should indicate the services that the server supports.
The extension MUST support the ability to reject the publication
because the type of the data is not supported. This rejection
should indicate the services for which publication is allowed.
The extension MUST support the ability to reject the publication
because the operation (replace, remove, append and merge) is not
permitted for the particular service.
6. Security Considerations
The security considerations are addressed in the Authentication,
Authorization and Privacy requirements.
References
[1] Handley, M., Schulzrinne, H., Schooler, E. and J. Rosenberg,
"The Session Initiation Protocol", RFC 2543, March 1999.
[2] Rosenberg, J. and H. Schulzrinne, "Guidelines for Authors of SIP
Extensions", RFC Guidelines, March 2001.
Donovan Expires May 22, 2002 [Page 7]
Internet-Draft SIP Publication Requirements November 2001
Author's Address
Steven R. Donovan
dynamicsoft
5100 Tennyson Parkway
Suite 1200
Plano, TX 75024
US
EMail: sdonovan@dynamicsoft.com
Donovan Expires May 22, 2002 [Page 8]
Internet-Draft SIP Publication Requirements November 2001
Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Donovan Expires May 22, 2002 [Page 9]