Re: [Sip] comments on draft-ietf-sip-info-events-01

Eric Burger <eburger@standardstrack.com> Mon, 17 November 2008 12:38 UTC

Return-Path: <sip-bounces@ietf.org>
X-Original-To: sip-archive@optimus.ietf.org
Delivered-To: ietfarch-sip-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 692D03A6403; Mon, 17 Nov 2008 04:38:45 -0800 (PST)
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 1A36A3A6403 for <sip@core3.amsl.com>; Mon, 17 Nov 2008 04:38:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.499
X-Spam-Level:
X-Spam-Status: No, score=-2.499 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599]
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 6dXYKCLvEJbc for <sip@core3.amsl.com>; Mon, 17 Nov 2008 04:38:43 -0800 (PST)
Received: from gs19.inmotionhosting.com (gs19.inmotionhosting.com [205.134.252.251]) by core3.amsl.com (Postfix) with ESMTP id 04CFE3A63D3 for <sip@ietf.org>; Mon, 17 Nov 2008 04:38:43 -0800 (PST)
Received: from [130.129.79.35] (port=51606) by gs19.inmotionhosting.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.68) (envelope-from <eburger@standardstrack.com>) id 1L23NI-0000X9-NN; Mon, 17 Nov 2008 04:38:41 -0800
Message-Id: <C07AD30D-011D-42FA-B863-69E201066F12@standardstrack.com>
From: Eric Burger <eburger@standardstrack.com>
To: Jonathan Rosenberg <jdrosen@cisco.com>
In-Reply-To: <49210299.4010103@cisco.com>
Mime-Version: 1.0 (Apple Message framework v929.2)
Date: Mon, 17 Nov 2008 06:38:40 -0600
References: <49210299.4010103@cisco.com>
X-Mailer: Apple Mail (2.929.2)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - gs19.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - standardstrack.com
X-Source:
X-Source-Args:
X-Source-Dir:
Cc: IETF SIP List <sip@ietf.org>
Subject: Re: [Sip] comments on draft-ietf-sip-info-events-01
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-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>
Content-Type: multipart/mixed; boundary="===============0368004567=="
Sender: sip-bounces@ietf.org
Errors-To: sip-bounces@ietf.org

Thanks for the review!

Responses inline.

On Nov 16, 2008, at 11:35 PM, Jonathan Rosenberg wrote:

> General comments:
>
> * I really dislike how the meaning of UAC/UAS has been changed from
> RFC3261. This is really confusing and I think complicates presentation
> of the material

The sense of UAC/UAS has not been changed at all, which is why it is  
complicated.  The document talks about a situation where (for example)  
a phone (UAC) calls a B2BUA (UAS) and then that selfsame B2BUA (UAC)  
sends an INFO to the phone (UAS).  Adam suggested a better way to  
describe the scenarios that will eliminate this confusion.  Namely,  
since this document focuses on INFO, when we talk about a phone  
calling a B2BUA, we will talk about the calling UA and the called UA.

> * I think the negotiation of supported types is not sufficiently well
> defined. We're going to run into many of the hard cases we ran into  
> for
> offer/answer - so lets address them now. What happens if, in an early
> dialog, there is a reverse UPDATE that changes the send/recv packages,
> and then a 2xx to the INVITE arrives with a different set? Which takes
> priority? What about mid-dialog exchanges that are rejected, do we
> revert back to the previous set? Indeed I don't think we should  
> model this on O/A at all.

Lots of people noticed this, and I will fix it.

> * The draft allows for multiple packages to be in a single INFO.  
> Egads,
> that just complicates life. Multipart support is already a mess in  
> SIP.
> Do we REALLY need this? Cant you just send two INFO requests? If a
> single INFO has a single package, we also don't need the cid  
> mechanism.
> Less is more (I know this had some discussion already on the list...)

I was 80% finished the text of why we had only one package per INFO  
when I realized an implementation would need 99% of the parsing  
machinery to deal with multiple packages per INFO 100% of the time.

The only cogent argument I have heard for why it would be nice to have  
one package per INFO is to be able to hand off the entire body to a  
subprocess dedicated to processing the info package type. However,  
that process would need to parse out its relevant body part, which  
makes this identical to handing the entire body to multiple  
subprocesses, which means one instantly gets processing multiple  
packages per INFO free.  Another way of implementing this is to have  
the SIP stack parse the multiple body parts to find the relevant INFO  
body part, but again one finds that you again get multiple packages  
per INFO free.

I will admit to a subversive reason for allowing multiple packages per  
INFO: it is a way of ensuring no one confuses a SIP transaction with  
an application transaction. Check out MSCML.  There is a lot of  
application logic to handle the fact an INFO transaction can succeed  
while the application transaction fails.  In this case, one had better  
return a 200 OK for the INFO request, and then some other indication  
(most likely an INFO in the reverse direction) of the problem with the  
payload.  Otherwise, I can envision people writing packages with  
language, "If you don't like the body for this transaction, send a 498  
SIP response code."


> * I don't like the behavior whereby, if a UA receives an INFO with an
> unknownn package, we terminate the dialog. Why so extreme?

Because it represented a protocol failure.  However, note the tense of  
the last sentence.  A race condition was identified which hints that  
we really should just ignore unknown packages.  However, we want to  
make sure we have the strongest language that a UAC MUST NOT send an  
INFO the UAS has not indicated it will receive.

> * I know we've discussed this one, but I disagree that the event
> packages HAVE to be specification required. I think we should allow  
> for
> vendor prorpietary usage. My suggestion is to define a vendor tree for
> info event packages.

Theoretical world: give folks a vendor tree because there are truly  
proprietary usages that no one will care about; the only thing we care  
about is not colliding with the proprietary info package name.

Real world: this is where we get (just looking at THIS e-mail) X- 
Original-To, X-Virus-Scanned, X-Spam-Flag, X-Spam-Score, X-Spam-Level,  
X-Spam-Status, X-Mailer, X-Beenthere, X-Mailman-Version, of which 3  
are really used by the Internet infrastructure.  That is, they are  
beyond common usage and should be specified somewhere.

Also real world: no matter what we say, people will do proprietary  
usages.  I would offer specification required encourages some  
documentation - the bar is VERY low to publish an Individual  
Informational Proprietary document or, better yet, a link to the  
documentation on your corporate web site.

Obviously, this is not an issue for me personally to decide.  What  
does the work group want to do?

> * Section 7.1 includes some of the considerations in the info-litmus  
> draft, but only some. We should either fold it all in or else split  
> it all out. In either way, its really important to separately  
> consider the question on whether the exchange should take place in  
> the signaling vs. media path, and then if signaling, whether to use  
> INFO, event pakcage, or new method, etc.

Yup - as said two weeks ago, I forgot your document.  Definitely  
should be folded in.

_______________________________________________
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