Subject: RE: [Sip] Query on Extensions

From: [email-masked]
Date: Tue, 2 Dec 2003 12:41:01 +0200

If you put Allow: REMOVEPARTY, you are telling the other side that you can handle a request with method REMOVEPARTY if you receive it. You tell the other side what methods you support. Require-header tells the other side that if it doesn't support a certain extension, then you don't want to talk to it.
 
So if you require the other side to support REMOVEPARTY, then you would have the require: pRem extension.
 
/Hisham

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]On Behalf Of ext Gokul Krishnan
Sent: 02.December.2003 10:28
To: [email-masked]
Cc: [email-masked]
Subject: Re: [Sip] Query on Extensions

Thanks for the reply Paul.
 
Suppose I add a new method to SIP, say REMOVEPARTY. Now,
(1) if my UAC want to force this on UAS, is the only way to define a package, say pRem, and use "Require: pRem" ??
(2) if my UAC want just to let know the UAS, should I use "Supported: pRem" ? 
Can I only use "Allow: REMOVEPARTY" in Case2 ?

Paul Kyzivat <[email-masked]> wrote:

Gokul Krishnan wrote:
> Hi All,
> 
> What is the difference between "Allow" and "Supported" header *from a 
> usage perspective*?
> 
> As an example, for PRACK an UAC sends Supported:100rel (RFC 3262) and 
> for UPDATE, the UAC is supposed to send Allow: UPDATE (RFC 3311).

"Allow" identifies sip *methods* that the UA supports. "Supported" 
identifies named "packages" that the UA supports. The values are drawn 
from different namespaces.

> What is the advantage/disadvantage of each approach?

They aren't substitutes for one another. A package listed as Supported 
may require the use of certain methods. Those methods should also be 
listed in an Allow header.

An example of this is 100rel. You need to specify both Allow: UPDATE and 
Supported: 100rel to use reliable provisional responses.

Paul

_______________________________________________
Sip mailing list https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

  _____  

Do you Yahoo!?
Free  <http://us.rd.yahoo.com/slv/mailtag/*http://companion.yahoo.com/> Pop-Up Blocker - Get it now

---

From: Gokul Krishnan <[email-masked]>
Date: Tue, 2 Dec 2003 04:45:54 -0800 (PST)

Thanks Hisham.
 
But this is what confuses me: 
 
By using "Require" we force the other side to support the extension.
 
By using "Supported" or "Allow" we are letting the other side know that we support some (new) extension - by using a token (in case of "Supported") or by using method name itself (in case of "Allow"). When implementing a new methd (not forcing the other side) why should I go for "Supported"? Cant I just settle with "Allow" ? 
 
Or is it that even with "Require", we must send "Allow" also ?! Which will mean that, if "Require" or "Supported" is there, then it must be accompanied with "Allow"?
 
Sorry for keeping on bombarding with the same query, but I am confused :(

[email-masked] wrote:
If you put Allow: REMOVEPARTY, you are telling the other side that you can handle a request with method REMOVEPARTY if you receive it. You tell the other side what methods you support. Require-header tells the other side that if it doesn't support a certain extension, then you don't want to talk to it.

/Hisham
-----Original Message-----
From: [email-masked] [mailto:[email-masked]]On Behalf Of ext Gokul Krishnan
Sent: 02.December.2003 10:28
To: [email-masked]
Cc: [email-masked]
Subject: Re: [Sip] Query on Extensions

Paul

---------------------------------
Do you Yahoo!?
Free Pop-Up Blocker - Get it now

---------------------------------
Do you Yahoo!?
Free Pop-Up Blocker - Get it now

---

From: Paul Kyzivat <[email-masked]>
Date: Tue, 02 Dec 2003 12:03:05 -0500

Gokul Krishnan wrote:
> By using "Require" we *force* the other side to support the extension.
>  
> By using "Supported" or "Allow" we are letting the other side know that 
> we support some (new) extension - by using a token (in case of 
> "Supported") or by using method name itself (in case of "Allow"). 
> When implementing a new methd (not forcing the other side) why should I 
> go for "Supported"? Cant I just settle with "Allow" ?

When implementing a new method, you would probably expose your 
capability with Allow. "Supported" isn't about a specific method, it is 
about some package of functionality. Of course any package of 
functionality is going to need to use some methods, but often it will 
use common methods in special ways.

For example, the "timer" package only requires the use of INVITE and 
ACK, but it also requires the processing of specific extension headers 
and some specific protocol actions.

> Or is it that even with "Require", we must send "Allow" also ?! Which 
> will mean that, if "Require" or "Supported" is there, then it must be 
> accompanied with "Allow"?

Typically yes. If you want to be complete, you will list every supported 
method in Allow, and every supported package in Supported.

> Sorry for keeping on bombarding with the same query, but I am confused :(

Yes, it is a bit obscure.

	Paul