Re: [Sip] FW: I-D Action:draft-kaplan-sip-info-events-00.txt

Adam Roach <adam@nostrum.com> Tue, 27 November 2007 22:06 UTC

Return-path: <sip-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Ix8Zh-00049k-Pd; Tue, 27 Nov 2007 17:06:37 -0500
Received: from sip by megatron.ietf.org with local (Exim 4.43) id 1Ix8Zg-00047H-4S for sip-confirm+ok@megatron.ietf.org; Tue, 27 Nov 2007 17:06:36 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Ix8Zf-000460-73 for sip@ietf.org; Tue, 27 Nov 2007 17:06:35 -0500
Received: from shaman.nostrum.com ([72.232.15.10] helo=nostrum.com) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1Ix8Ze-0005PD-FD for sip@ietf.org; Tue, 27 Nov 2007 17:06:35 -0500
Received: from orthrus.local (vicuna-alt.estacado.net [75.53.54.121]) (authenticated bits=0) by nostrum.com (8.14.1/8.14.1) with ESMTP id lARM6TJu057749 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 27 Nov 2007 16:06:30 -0600 (CST) (envelope-from adam@nostrum.com)
Message-ID: <474C94EF.10905@nostrum.com>
Date: Tue, 27 Nov 2007 16:06:39 -0600
From: Adam Roach <adam@nostrum.com>
User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031)
MIME-Version: 1.0
To: Hadriel Kaplan <HKaplan@acmepacket.com>
Subject: Re: [Sip] FW: I-D Action:draft-kaplan-sip-info-events-00.txt
References: <E6C2E8958BA59A4FB960963D475F7AC3023157C467@mail.acmepacket.com> <4741F8A7.204@nostrum.com> <E6C2E8958BA59A4FB960963D475F7AC30231807918@mail.acmepacket.com>
In-Reply-To: <E6C2E8958BA59A4FB960963D475F7AC30231807918@mail.acmepacket.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-Virus-Scanned: ClamAV 0.91.2/4933/Tue Nov 27 13:10:57 2007 on shaman.nostrum.com
X-Virus-Status: Clean
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 7da5a831c477fb6ef97f379a05fb683c
Cc: "sip@ietf.org" <sip@ietf.org>, Christer Holmberg <christer.holmberg@ericsson.com>
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www1.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://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Errors-To: sip-bounces@ietf.org

On 11/19/07 3:07 PM, Hadriel Kaplan wrote:
> Yeah my bad for not re-writing that whole thing.  It started out as a "rfc3265 Event Packages for INFO" type thing, but after your emails on the subject we were convinced that was a bad way to go.  I apologize for not cleaning it up better before submission.  Do you want me to re-submit using better terminology?  (unfortunately due to the submission deadlines I don't think I can do so officially?)
>
> I was thinking this was really just a discussion point doc for the Vancouver meeting, and if the concept in general was adopted we'd fix all the terminology.
>
> Sorry 'bout that.  :(
>   

No problem -- I know how hectic things can get before the face-to-face 
meetings. Perhaps a bit more heads-up (either in the document or on the 
mailing list) that the event-package terminology was a known issue would 
have helped.

Comments follow. To prevent my fingers from burning while I type this, I 
will use the terms "Info Package", "Send-Info" and "Recv-Info" instead 
of "Info Event Package," "Send-Event," and "Recv-Event" as currently 
found in the document. I'll also talk about the header field 
"Info-Profile" instead of "Event".

----

General nit: s/header/header field/g

----

      [NOTE: do we need to support the "id" concept as well?  Is there 
   a use case?] 


The "id" concept in 3261 is to support multiple SUBSCRIBE usages in a 
dialog. Because INFO is part of an INVITE dialog, there can be only one. 
You don't need "id" for INFO.

----

The document needs some discussion around grandfathering existing 
standardized usages, similar to what 3265 did for PINT. Specifically, we 
want a way at the beginning of the dialog that one can use to usually 
detect that ISUP or QSIG will be sent, and text specifically indicating 
that ISUP and QSIG payloads without an "Info-Profile" header field can 
be interpreted according to the appropriate legacy RFCs. This impacts 
normative languages elsewhere (like the "MUST NOT" in the first 
paragraph of section 5.1).

I would be careful about grandfathering DTMF, simply because doing so 
would require clear definition of what those INFO messages mean, and 
consensus on that topic would take more than a little work. (A taste of 
what you'll argue about: do they represent tones? Keypresses? Generic 
user stimulus? Are they sent with in-band DTMF or instead of it? If you 
receive both, what does it mean? If they are tones, how do they get 
synced with the RTP stream and re-insterted?)

----

In terms of where the events are negotiated: I think this probably needs 
to follow the general offer/answer rules for greatest flexibility. The 
key reason is 3PCC. If a 3PCC is bringing two parties together to 
communicate, it won't be able to indicate supported Info Packages in the 
initial INVITE. It would be useful, then, for the first party contacted 
to be able to indicate Send-Info and Recv-Info in its 200-class 
response, and get a negotiated set of packages in the ACK.

----

   A Re-INVITE or UPDATE request MUST NOT contain any Send-Event or 
   Recv-Event headers, and such headers MUST be ignored on reception.  
   The info-event package negotiation is performed during the initial 
   INVITE transaction, and there is no re-negotiation. 
    
   [Is that ok?  Is there a need to have re-negotiation? (is there a 
   use case?)  It sure makes it simple not to have things change in the 
   middle of a session] 


I think you run into unsolvable 3PCC interactions here as well, since a 
3PCC can switch out one party of a call -- this could result in a 
completely different set of Info Packages being valid after the switch-out.

It is also remotely conceivable that a reconfiguration of the client may 
result in a change in available packages; for example, a client may 
advertise a video-related Info Package for video calls, but not for 
other kinds of calls; an upgrade to video under such circumstances would 
warrant a change in available packages.

----

   If an Invite usage fails or is terminated, the Info-based 
   event state no longer exists, and an INFO request MUST NOT be sent. 


You probably also want to briefly mention INFO/BYE glare (and similar 
situations) and how it should be handled.

----

   Recv-Event          18x        -   -   -   o   o   -   - 


I think you mean "1xx", not "18x"

----

The document needs to talk about appropriate rates of INFO transmission 
so as to not overwhelm the proxy network. You also need to discuss the 
responsibilities of Info Package definitions (similar to RFC 3265, 
section 4.4 and its subsections).

----

I would also suggest a discussion of Supported/Require as it pertains to 
specific Info Packages, so as to avoid the discussion around, "but what 
if I *want* the call to fail if a specific package isn't supported?"

----

Discussion of handling of the Send-Info and Recv-Info in REGISTER and 
OPTIONS is also warranted. You may think it's intuitive and doesn't need 
explanation, but I promise that people will get it wrong without 
specific language around what these things mean (for example: does the 
Recv-Info header field in an OPTIONS response describe all the Info 
Packages a UA can receive, or only that subset that was indicated in the 
OPTIONS request?).  I _DO_ think the presence of these fields in at 
least OPTIONS (and, to a lesser degree, REGISTER) would be a very useful 
thing.

----

Finally, I would argue that INFO is old enough (it predates 3261!) -- 
and consequently sufficiently out of date -- that it makes more sense to 
incorporate the definition of INFO into this document and aim to 
*replace* RFC 2976 instead of update it. (When you take the tables and 
boilerplate out of 2976, it comes to only a couple pages in length).

/a




_______________________________________________
Sip mailing list  https://www1.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