Re: [Sip] Is REFER within dialog part of INVITE or subscription usage? (was RE: SIP INFO)

Paul Kyzivat <pkyzivat@cisco.com> Tue, 24 March 2009 14:33 UTC

Return-Path: <pkyzivat@cisco.com>
X-Original-To: sip@core3.amsl.com
Delivered-To: sip@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3E4DD3A6AC0 for <sip@core3.amsl.com>; Tue, 24 Mar 2009 07:33:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.676
X-Spam-Level:
X-Spam-Status: No, score=-5.676 tagged_above=-999 required=5 tests=[AWL=0.923, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PXkXaSy8cues for <sip@core3.amsl.com>; Tue, 24 Mar 2009 07:33:43 -0700 (PDT)
Received: from sj-iport-6.cisco.com (sj-iport-6.cisco.com [171.71.176.117]) by core3.amsl.com (Postfix) with ESMTP id CC4323A6AAE for <SIP@ietf.org>; Tue, 24 Mar 2009 07:33:43 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.38,413,1233532800"; d="scan'208";a="273135985"
Received: from sj-dkim-2.cisco.com ([171.71.179.186]) by sj-iport-6.cisco.com with ESMTP; 24 Mar 2009 14:34:35 +0000
Received: from sj-core-5.cisco.com (sj-core-5.cisco.com [171.71.177.238]) by sj-dkim-2.cisco.com (8.12.11/8.12.11) with ESMTP id n2OEYX7r003945; Tue, 24 Mar 2009 07:34:33 -0700
Received: from xbh-rtp-211.amer.cisco.com (xbh-rtp-211.cisco.com [64.102.31.102]) by sj-core-5.cisco.com (8.13.8/8.13.8) with ESMTP id n2OEYX2Z017529; Tue, 24 Mar 2009 14:34:33 GMT
Received: from xfe-rtp-201.amer.cisco.com ([64.102.31.38]) by xbh-rtp-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 24 Mar 2009 10:34:33 -0400
Received: from [161.44.174.105] ([161.44.174.105]) by xfe-rtp-201.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 24 Mar 2009 10:34:33 -0400
Message-ID: <49C8EF78.4030809@cisco.com>
Date: Tue, 24 Mar 2009 10:34:32 -0400
From: Paul Kyzivat <pkyzivat@cisco.com>
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
MIME-Version: 1.0
To: aayush bhatnagar <abhatnagar192006@gmail.com>
References: <24ACC38D-8B7D-46E6-B767-73A33F6C9266@standardstrack.com> <49C79CFD.1010408@cisco.com> <9B2A061A1137254BBE4F4B2CD843646A10BFF48DF0@mbx02.citservers.local> <1237853234.16613.41.camel@victoria-pingtel-com.us.nortel.com> <49C83831.7010102@cisco.com> <abcc59880903232030r413b6856q7c77cf68df7ca564@mail.gmail.com>
In-Reply-To: <abcc59880903232030r413b6856q7c77cf68df7ca564@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 24 Mar 2009 14:34:33.0102 (UTC) FILETIME=[A5EEB2E0:01C9AC8D]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=7041; t=1237905273; x=1238769273; c=relaxed/simple; s=sjdkim2002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=pkyzivat@cisco.com; z=From:=20Paul=20Kyzivat=20<pkyzivat@cisco.com> |Subject:=20Re=3A=20[Sip]=20Is=20REFER=20within=20dialog=20 part=20of=20INVITE=20or=20subscription=20=0A=20usage?=20(was =20RE=3A=20SIP=20INFO) |Sender:=20; bh=iCz8vB59ceOmSONG5yDky05aaLFve5ykduJQoe+RSME=; b=yJ8agiVfIN4tokbjfcxYfkwYiju7+OKyw25BvrBgfLDZEl853PNJDX5sc6 23raUaiHZms8Xp/SiAgfY6i4+Tt2pYjNkA7sY0wCLDd6m/oaNH7IxEzSbvK9 xKgpkQ53+6;
Authentication-Results: sj-dkim-2; header.From=pkyzivat@cisco.com; dkim=pass ( sig from cisco.com/sjdkim2002 verified; );
Cc: SIP IETF <SIP@ietf.org>, Brett Tate <brett@broadsoft.com>
Subject: Re: [Sip] Is REFER within dialog part of INVITE or subscription usage? (was RE: SIP INFO)
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 Mar 2009 14:33:45 -0000

What you say below is stated as *fact*. But the reason we are having 
this discussion is because its not entirely clear what the proper 
interpretation should be. So I will take your statements as being your 
*opinion* on the subject. Your opinion would be of more value if you 
gave the justifications for it.

More inline.


aayush bhatnagar wrote:
> REFER if placed within the scope of the existing dialog usage of
> INVITE will reuse its dialog usage, and create an implicit
> subscription for the refer event package at the recipient. However, if
> the recipient chooses to reject the in dialog REFER request, the
> communication established by the INVITE should not be affected. Such a
> rejection scenario implies that the call transfer failed..however the
> existing active call should not be torn down.

> REFER if sent outside the scope of any exisiting dialog will behave as
> a dialog creating request and will establish a subscription at the
> recipient as described above. This subscription is only used to notify
> the status of the sip session referral to the originator and is
> seperate from any other subscribe usage that may have existed at the
> recipient.
> 
> As far as accessing the referred resource is concerned...using the
> method parameter, it depends upon the business logic of the recipient
> of the REFER request. You may send a REFER to a conferencing server
> with a method INVITE to invite a user to join a conference. A method
> parameter with the value BYE would imply removal from the conference
> by the server and so on.

It has been observed before, that REFER is very weak in defining clearly 
what actions a particular REFER should elicit. Because it is unclear, 
your are right that some discretion on the part of the recipient is 
required. However that's a bad thing if the sender and receiver of the 
REFER don't agree on what the action should be.

If I send a REFER to a conference focus, I probably expect it send an 
invite to the URI I supply and include the resulting session as another 
participant in the conference. If the focus decided instead that I just 
wanted it play a message to the recipient and then hang up, then I would 
be displeased.

But that is a digression. My point in bringing up the method was that 
the method potentially may have nothing to do with the INVITE usage even 
when the REFER is sent within a dialog that has an INVITE usage. That is 
an argument for saying that the REFER is not part of the INVITE usage.

> I dont think you can include a SUBSCRIBE in the method parameter of
> the REFER request. You have no way of telling the event package usage
> of the subscription to the recipient, as the event header cannot be
> included in the REFER request. Moreover, you can never be sure whether
> the subscription usage is even applicable to the recipient or whether
> the recipient even supports it.

There was already a reply to this.

I think it is certainly possible to see how you could provide enough 
info to enable the recipient to generate a valid SUBSCRIBE request. It 
is indeed harder to imagine how you could expect the recipient to 
extract any value from the resulting subscription. But that is part of 
the magic of REFER that remains unresolved.

	Thanks,
	Paul

> aayush
> 
> On 3/24/09, Paul Kyzivat <pkyzivat@cisco.com> wrote:
>>
>> Dale Worley wrote:
>>> On Mon, 2009-03-23 at 08:18 -0700, Brett Tate wrote:
>>>> Everyone: Is REFER within dialog part of INVITE usage, SUBSCRIPTION
>>>> usage, or neither?
>>>>
>>>> I'm asking mainly because of REFER 481 impacts; however the answer
>>>> also has potential implications concerning draft-ietf-sip-info-events.
>>>> RFC 5057 appears to imply that it is part of the subscription usage;
>>>> however I'm not positive if my interpretation and/or RFC 5057 is
>>>> correct.
>>>>
>>>> If REFER isn't considered part of the INVITE usage, how should REFER
>>>> 481 be interpreted?  More specifically, should receiver of REFER 481
>>>> send BYE?
>>> I would argue that the REFER is part of the INVITE usage, because REFER
>>> in that context is intimately related to the INVITE usage -- it is
>>> intended to transfer the INVITE usage/dialog transferred to a different
>>> destination.
>> Well, I guess there is that implied association. (Part of the "do what
>> *I* had in mind" approach that REFER has.) Since this was never spelled
>> out, it could also be simply "while this isn't part of an INVITE usage,
>> if there happens to be an INVITE usage, please refer that one."
>>
>> I guess the question is: would it be valid to send a REFER within an
>> existing dialog that had no INVITE usage? If it were valid, presumably
>> it would have the same meaning as sending one outside a dialog, except
>> that the resulting subscription would share the dialog. I expect that is
>> a usage it would be difficult to find in the wild.
>>
>> Ah, but now I want to reconsider. Remember that REFER can take a method
>> name. So, rather than referring an INVITE, I could be referring MESSAGE,
>> OPTIONS, BYE, or maybe (????) SUBSCRIBE. In some of those cases, the
>> association to the INVITE usage is probably meaningless. (Of course its
>> meaningful for BYE.)
>>
>>> And it seems quite safe that if the REFER receives a 481 response, the
>>> INVITE usage must not be functional any more, since the far end of that
>>> usage has denied that it can act on the REFER.
>> IIRC, 5057 decided that each dialog usage must get its own 481 before it
>> goes away. I don't think there are any cases where a single 481 response
>> can make multiple usages go away.
>>
>> So the important question is whether the REFER is part of the INVITE
>> usage and so its 481 takes down the INVITE usage or not. That gets
>> especially interesting if  the dialog already had both an INVITE usage
>> and a SUBSCRIBE usage. Does it make sense that the refer take down the
>> INVITE usage and leave up the SUBSCRIBE usage?
>>
>>> Now it's possible that the REFER, if it is successful, is the first
>>> transaction of the subscription usage.  But I don't think that has any
>>> paradoxical consequences, as by hypothesis, the REFER succeeded.
>> Yeah, its already so weird, why not a little more weird?
>>
>> Also, I think it has recently been clarified that the 200 of a SUBSCRIBE
>> should not be considered to create a dialog - that its the NOTIFY that
>> creates the dialog. If so, then I suppose the same should be true of REFER.
>>
>> Bottom line: I can live with it either way, but think it should be
>> documented one way or the other.
>>
>> 	Thanks,
>> 	Paul
>> _______________________________________________
>> Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
>> This list is for NEW development of the core SIP Protocol
>> Use sip-implementors@cs.columbia.edu for questions on current sip
>> Use sipping@ietf.org for new developments on the application of sip
>>
>