Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bis-callflows-02.txt
worley@ariadne.com (Dale R. Worley) Fri, 01 March 2013 21:19 UTC
Return-Path: <worley@shell01.TheWorld.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66DAE1F0D0B for <sipcore@ietfa.amsl.com>; Fri, 1 Mar 2013 13:19:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.767
X-Spam-Level:
X-Spam-Status: No, score=-2.767 tagged_above=-999 required=5 tests=[AWL=0.213, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, RCVD_IN_SORBS_WEB=0.619]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TCvt8oXoMvvs for <sipcore@ietfa.amsl.com>; Fri, 1 Mar 2013 13:19:16 -0800 (PST)
Received: from TheWorld.com (pcls5.std.com [192.74.137.145]) by ietfa.amsl.com (Postfix) with ESMTP id D7A6A1F0D0C for <sipcore@ietf.org>; Fri, 1 Mar 2013 13:19:15 -0800 (PST)
Received: from shell.TheWorld.com (svani@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.14.5/8.14.5) with ESMTP id r21LJ1TP022887 for <sipcore@ietf.org>; Fri, 1 Mar 2013 16:19:03 -0500
Received: from shell01.TheWorld.com (localhost.theworld.com [127.0.0.1]) by shell.TheWorld.com (8.13.6/8.12.8) with ESMTP id r21LJ0852855872 for <sipcore@ietf.org>; Fri, 1 Mar 2013 16:19:00 -0500 (EST)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r21LJ0mg2857344; Fri, 1 Mar 2013 16:19:00 -0500 (EST)
Date: Fri, 01 Mar 2013 16:19:00 -0500
Message-Id: <201303012119.r21LJ0mg2857344@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: sipcore@ietf.org
In-reply-to: <580BEA5E3B99744AB1F5BFF5E9A3C67D16E36595DB@HE111648.emea1.cds.t-internal.com> (R.Jesske@telekom.de)
References: <20130129204912.30730.77135.idtracker@ietfa.amsl.com> <510C4370.6020306@alum.mit.edu> <580BEA5E3B99744AB1F5BFF5E9A3C67D16E36595DB@HE111648.emea1.cds.t-internal.com>
Subject: Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bis-callflows-02.txt
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipcore>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 01 Mar 2013 21:19:17 -0000
I've gone through draft-ietf-sipcore-rfc4244bis-callflows-02. I haven't examine everything in the SIP messages. Instead, I've concentrated on the History-Info headers in the "final" messages of the sequences. In each example, there is a final message that contains all of the information in all of the History-Info headers. I believe that the following amendments should be made in examles 3.1, 3.6, and 3.7. These amendments include a number of things that have been discussed on the Sipcore mailing list. 3.1. Sequentially Forking (History-Info in Response) Alice example.com Bob Office Home | | | | | | INVITE F1 | | | | |----------->| INVITE F2 | | | | |----------------->| | | | 100 Trying F3 | | | |<-----------| 302 Move Temporarily F4 | | | |<-----------------| | | | | ACK F5 | | | | |----------------->| | | | | INVITE F6 | | | |-------------------------->| | | | 180 Ringing F7 | | | |<--------------------------| | | 180 Ringing F8 | | |<-----------| retransmit INVITE | | | |-------------------------->| | | | ( timeout ) | | | | INVITE F9 | | |----------------------------------->| | | 100 Trying F10 | | |<-----------------------------------| | | 486 Busy Here F11 | | |<-----------------------------------| | 486 Busy Here F12 | |<-----------| ACK F13 | | |----------------------------------->| | ACK F14 | | |----------->| | In these examples, I have added Reason values to hi-entries that have effectively received failure responses due to the failure of their internally redirected targets. Doing so is optional per draft-4244bis but it seems to me to be the best practice. That is, I believe that the results of internal retargeting should be the same as if the second retargeting was done in a different proxy. F12 486 Busy Here example.com -> alice History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\ index=1.1;rc=1 - History-Info: <sip:office@example.com>;index=1.2;mp=1 + History-Info: <sip:office@example.com?Reason=SIP%3Bcause%3D408>;\ + index=1.2;mp=1 History-Info: <sip:office@192.0.2.5?Reason=SIP%3Bcause%3D408>;\ - index=1.2.1;index=1.2.1;rc=1.2 + index=1.2.1;rc=1.2 History-Info: <sip:home@example.com>;index=1.3;mp=1 History-Info: <sip:home@192.0.2.6>;index=1.3.1;rc=1.3 3.6. PBX Voicemail Example Alice example.com Bob Carol VM | INVITE F1 | | | | |------------->| | | | | | INVITE F2 | | | | |------------->| | | | | | | | | 100 Trying | | | | |<-------------| 302 Moved Temporarily F3 | | | |<-------------| | | | | | | | | ACK | | | |---------------------------->| | | | | | | | | | INVITE F4 | | | | |--------------------------->| | | | | | | | | 180 Ringing F5 | | | |<---------------------------| | | | | | | | 180 Ringing | | | | |<-------------| | | | | | | | | | | (timeout) | | | | | | | | | INVITE F6 | | | | |-------------------------------------->| | | | | | | | 200 OK F7 | | |<--------------------------------------| | 200 OK | | | | |<-------------| | | | | | | | | | ACK | |----------------------------------------------------->| Here, I assume we are using the "cause" URI parameter to indicate redirection reasons per RFC 4458. The redirection from Bob to Carol is "Deflection immediate response", which is translated into the SIP cause 480. The redirection from Carol to VM is "No reply", which is translated into SIP cause 408. We assume the "cause" parameter is preserved when AORs are mapped to their contacts. Here, we choose the "cause" that is sent to VM to be 408, because the immediately preceeding INVITE failed due to 408. But the VM box is Bob's, and the call to Bob failed due to cause=480. The choice probably depends on the application logic rather than standards. (History-Info, however, captures the entire history of the call.) The Reason value for index 1.2.1 has been corrected to 408. F7 200 OK VM -> Example.com History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\ index=1.1;rc=1 - History-Info: <sip:carol@example.com>;index=1.2;mp=1 - History-Info: <sip:carol@192.0.2.4?Reason=SIP%3Bcause%3D480>;\ - index=1.2.1;rc=1.2 - History-Info: <sip:vm@example.com;\ - target=sip:bob%40example.com>;\ - index=1.3;mp=1 - History-Info: <sip:vm@192.0.2.6;\ - target=sip:bob%40example.com>;\ - index=1.3.1;rc=1.3 + History-Info: <sip:carol@example.com;cause=480?Reason=SIP%3Bcause%3D408>;\ + index=1.2;mp=1 + History-Info: <sip:carol@192.0.2.4;cause=480?Reason=SIP%3Bcause%3D408>;\ + index=1.2.1;rc=1.2 + History-Info: <sip:vm@example.com;\ + target=sip:bob%40example.com;cause=408>;\ + index=1.3;mp=1 + History-Info: <sip:vm@192.0.2.6;\ + target=sip:bob%40example.com;cause=408>;\ + index=1.3.1;rc=1.3 3.7. Consumer Voicemail Example Alice example.com Bob Carol VM | INVITE F1 | | | | |------------->| | | | | | INVITE F2 | | | | |------------->| | | | | | | | | 100 Trying | | | | |<-------------| 302 Moved Temporarily F3 | | | |<-------------| | | | | | | | | ACK | | | |---------------------------->| | | | | | | | | | INVITE F4 | | | | |--------------------------->| | | | | | | | | 180 Ringing F5 | | | |<---------------------------| | | | | | | | 180 Ringing | | | | |<-------------| | | | | | | | | | | (timeout) | | | | | | | | | INVITE F6 | | | | |-------------------------------------->| | | | | | | | 200 OK F7 | | |<--------------------------------------| | 200 OK | | | | |<-------------| | | | | | | | | | ACK | |----------------------------------------------------->| Here, hi-entry 1.2.1 should have a Reason value, but the Reason value on 1.2 is optional. Since <sip:vm@example.com;target=sip:carol...> is generated from <sip:carol@example.com> (index 1.2), it should have index 1.2.2, not 1.3. F7 200 OK VM -> Example.com History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302\ - ;text="Moved Temporarily">\ + %3Btext%3D%22Moved%20Temporarily%22>\ ;index=1.1;rc=1 History-Info: <sip:carol@example.com?Reason=SIP%3Bcause%3D408>;\ index=1.2;mp=1 - History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2 + History-Info: <sip:carol@192.0.2.4?Reason=SIP%3Bcause%3D408>;\ + index=1.2.1;rc=1.2 History-Info: <sip:vm@example.com;target=sip:carol%40example.com>;\ - index=1.3;mp=1.2 + index=1.2.2;mp=1.2 History-Info: <sip:vm@192.0.2.5;target=sip:carol%40example.com>;\ - index=1.3.1;rc=1.3 + index=1.2.2.1;rc=1.2.1 Dale
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Dale R. Worley
- [sipcore] I-D Action: draft-ietf-sipcore-rfc4244b… internet-drafts
- [sipcore] Verify draft-ietf-sipcore-rfc4244bis-ca… Paul Kyzivat
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Brett Tate
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… marianne.mohali
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Dale R. Worley
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Shida Schubert
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Shida Schubert
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Shida Schubert
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Dale R. Worley
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… marianne.mohali
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Dale R. Worley
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… marianne.mohali
- Re: [sipcore] I-D Action: draft-ietf-sipcore-rfc4… OKUMURA Shinji
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… R.Jesske
- Re: [sipcore] I-D Action: draft-ietf-sipcore-rfc4… Dale R. Worley
- Re: [sipcore] I-D Action:draft-ietf-sipcore-rfc42… OKUMURA Shinji
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Dale R. Worley
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… OKUMURA Shinji
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Shida Schubert
- Re: [sipcore] Verify draft-ietf-sipcore-rfc4244bi… Dale R. Worley