Re: AW: [Sipping] Call Completion: In Defense of Explicit Operations

Adam Roach <adam@nostrum.com> Wed, 11 April 2007 14:55 UTC

Return-path: <sipping-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HbeEH-0005FJ-89; Wed, 11 Apr 2007 10:55:25 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HbeEF-0005F8-JG for sipping@ietf.org; Wed, 11 Apr 2007 10:55:23 -0400
Received: from shaman.nostrum.com ([72.232.15.10] helo=nostrum.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HbeED-0004c5-7f for sipping@ietf.org; Wed, 11 Apr 2007 10:55:23 -0400
Received: from [172.17.2.61] (vicuna-alt.estacado.net [75.53.54.121]) (authenticated bits=0) by nostrum.com (8.13.8/8.13.8) with ESMTP id l3BEtCPc034673 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 11 Apr 2007 09:55:19 -0500 (CDT) (envelope-from adam@nostrum.com)
Message-ID: <461CF6D6.4020809@nostrum.com>
Date: Wed, 11 Apr 2007 09:55:18 -0500
From: Adam Roach <adam@nostrum.com>
User-Agent: Thunderbird 1.5.0.10 (Macintosh/20070221)
MIME-Version: 1.0
To: Paul Kyzivat <pkyzivat@cisco.com>
Subject: Re: AW: [Sipping] Call Completion: In Defense of Explicit Operations
References: <CCA850DCD3FBE2479D5076C5C18732220168AA33@S4DE9JSAAHW.ost.t-com.de> <461CED8F.60501@cisco.com>
In-Reply-To: <461CED8F.60501@cisco.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Received-SPF: pass (nostrum.com: 75.53.54.121 is authenticated by a trusted mechanism)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: bdc523f9a54890b8a30dd6fd53d5d024
Cc: sipping@ietf.org
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SIPPING Working Group \(applications of SIP\)" <sipping.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sipping@ietf.org>
List-Help: <mailto:sipping-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=subscribe>
Errors-To: sipping-bounces@ietf.org

Thank you, Paul. You've summarized the key points in a very coherent 
fashion.

/a

Paul Kyzivat wrote:
>
>
> Huelsemann, Martin wrote:
>> I think the part of the solution where are no doubts is that we can 
>> use SUB/NOT to inform the user about his call-completion state 
>> (queued, or he is the one who shall start the recall). IF we decide 
>> for a SIP solution, which I think we should do if there are no 
>> technical reasons against, because BFCP seem to be easy to implement 
>> with the necassary knowledge, but it is still another protocol.
>> The question is, when SUBSCRIBEs are used anyway, why can't we reuse 
>> them for queue manipulation actions? Why put another RFC into the 
>> terminal, when RFC 3265 would be enough. The simpler those terminals 
>> are, the cheaper they will be, and the more people will use them.
>> Yes, using the SUBSCRIBE also for queue manipulations would be one 
>> operation with two effects, but where is the harm? There is a similar 
>> use in the policy package, which submits an SDP in the SUBSCRIBE 
>> request and gets back a policy for that SDP in the NOTIFY request.
>
> Lets go through this again:
>
> Suppose it does work that way. Then conceptually what is the event 
> state that is being subscribed to? Apparently it is the queue of 
> potential callers. In principle, every time this state changes there 
> should be a notification sent to *all* the subscribers.
>
> Now it could be that policy is used to restrict how much visibility 
> subscribers have to the event state. So the views of some may be such 
> that they can't see the change, and so get no notification of it. But 
> arranging things that way requires structuring the state very 
> carefully. For instance, the policy might state that a subscriber can 
> only see entries that refer to them. But this wouldn't be very 
> interesting unless their entry included "position in queue". That 
> would result in getting a notification each time your entry advanced 
> in the queue. If that is annoying there could be a filter that says to 
> only display entries that are "first in queue".
>
> None of that says anything about queue manipulation - just using 
> sub/not to observer a queue in a useful way for this purpose.
>
> Note that we do have an example where the act of subscribing creates 
> state that can itself be subscribed to. It is watcherinfo. But in that 
> case there are two event packages in use - e.g. presence and 
> presence.watcherinfo. Subscribing to presence creates watcher state 
> that can be observed by subscribing to presence.watcherinfo. Having a 
> SUBSCRIBE modify the state of the event being subscribed to introduces 
> a sort of Heisenberg Uncertainty Principle - you can't observe the 
> event without affecting it.
>
> Specifically, it becomes impossible to observe the queue without 
> becoming one of the requesters. For instance, suppose the queue was 
> managed on a server separate from the UAs that receive calls to the 
> target AOR. They may want to observe the queue themselves. But 
> attempting to do so would seem to cause them to become candidates to 
> call themself. This could be mitigated by requesting that the entry be 
> suspended, but the point remains.
>
> Further manipulation of the queue, such as suspend and resume, also 
> doesn't seem to fit the sub/not model very well. If its done as part 
> of the body (as the current draft specifies) then it should be 
> considered a filter, but filters don't change state of the event - 
> only the view of it. There isn't any good place to specify this kind 
> of action in a subscribe request, for the obvious reason that 
> SUBSCRIBE isn't intended to be used in that way.
>
> I have seen reference to the policy event package as precedent for 
> using bodies to create the state being subscribed to. I think that 
> case is less of a problem because it does fall into a suitable 
> conceptual model as a filter. In theory one is subscribing to all 
> policies. Supplying a body can be viewed as simply a filter 
> restricting notifications to ones pertaining to a particular set of 
> media, etc.
>
>     Paul


_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sip@ietf.org for new developments of core SIP