Subject: [SIP] I-D ACTION:draft-ietf-sip-serverfeatures-03.txt

From: [email-masked]
Date: Tue, 13 Feb 2001 07:01:08 -0500

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Session Initiation Protocol Working Group of the IETF.

	Title		: The SIP Supported Header
	Author(s)	: J. Rosenberg, H. Schulzrinne
	Filename	: draft-ietf-sip-serverfeatures-03.txt
	Pages		: 7
	Date		: 12-Feb-01
	
The Session Initiation Protocol (SIP) provides a mechanism that
allows a client to request that a particular protocol extension be
used to process the request. The server declines the request if it
does not support the extension. However, there is currently no way
for a server to determine which extensions are supported by the
client. Knowing about client-supported extensions allows the server
to tailor its response accordingly. Furthermore, SIP does not define
a way for a client to query a server about the extensions it
supports. This document defines a SIP extension that allows clients
to indicate, in a request, the set of extensions supported. We also
define a mechanism that allows clients, through an OPTIONS request,
to determine the extensions supported by a server.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-sip-serverfeatures-03.txt

Internet-Drafts are also available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
	"get draft-ietf-sip-serverfeatures-03.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt

Internet-Drafts can also be obtained by e-mail.

Send a message to:
	[email-masked].
In the body type:
	"FILE /internet-drafts/draft-ietf-sip-serverfeatures-03.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

---

From: Christer Holmberg <[email-masked]>
Date: Wed, 14 Feb 2001 09:56:42 +0200

Hi,

I have an issue, which I don't know if it has has been discussed before,
but at least it is not mentioned in the draft.

The draft says that the UAC shall insert all supported option-tags in
the Supported header, that the UAS can send a 421 response etc etc etc.

I think it should be allowed also for a proxy server on the path to
insert it's own option tags in the request, and then handle the feature
correctly if the UAS chooses to use it. This is similar to the
session-timer, where a proxy can choose to use the feature even if the
UAC doesn't.

I also think it should be allowed for a proxy server an option tag from
the Supported header (for example, it may want the next entity not to
require it to be used), but still be able to require it for the entity
from where it received the request.

An example:

-------          -----------          -----------          -------
| UAC |----------| PROXY 1 |----------| PROXY 2 |----------| UAS |
-------          -----------          -----------          -------
    
  -->   INVITE        -->    INVITE       -->     INVITE
        Supported: a         Supported: a,b       Supported: a
     
  <--   200           <--    200          <--     200
                             Require: b

In this case "b" could be some advanced feature/service, which the
User-Agents may not be able to handle (or maybe aren't even allowed to,
e.g. for security/billing/management/operator/whatever reasons), but the
proxies will use it between themselves. I mean, isn't this one of the
purposes of proxy servers in the first place: not only to provide
services to the end-users but also within the SIP network?

No, the draft may not say that all this is forbidden (after all, a proxy
also acts like both a UAC and a UAS, so...), but maybe by clarifying it
people would realise how useful the Supported header can be for
services, re-routing, and the use of proxies in general.

And, the same thing should also be allowed for the Require- and
Proxy-Require headers... After all, in a real-world deployment I think
that it is going often to be pretty much the operator, managing the
proxy servers in the network, who is going to decide what users are
allowed to require, and/or show support for, from each other.

Regards,

Christer Holmberg
Ericsson Finland