Re: [Insipid] draft-ietf-insipid-session-id-10: comments

Brett Tate <brett@broadsoft.com> Mon, 26 January 2015 14:13 UTC

Return-Path: <brett@broadsoft.com>
X-Original-To: insipid@ietfa.amsl.com
Delivered-To: insipid@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3409F1A892C for <insipid@ietfa.amsl.com>; Mon, 26 Jan 2015 06:13:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.979
X-Spam-Level:
X-Spam-Status: No, score=-1.979 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8kK2DDh9ZU0G for <insipid@ietfa.amsl.com>; Mon, 26 Jan 2015 06:13:57 -0800 (PST)
Received: from mail-qc0-f179.google.com (mail-qc0-f179.google.com [209.85.216.179]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E06C1A8835 for <insipid@ietf.org>; Mon, 26 Jan 2015 06:13:57 -0800 (PST)
Received: by mail-qc0-f179.google.com with SMTP id w7so6926961qcr.10 for <insipid@ietf.org>; Mon, 26 Jan 2015 06:13:56 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:content-type; bh=z9YOXfh+VvDyTNfcBMrMI4i6lBY7qKEzkpBi3bRn6Ks=; b=f4HZXIotXzb19zqQXdD/qMpfh9ZoVv96IeSoa6xOB56CQ4LrN0UekLXVTdC9KEy2en LIR7JVKWSDWr2jkhCxeS6uQ7ExdYYu4byce01DiuNxrjkYIOCHTbqna5om+u3aqgsxqq qR6SXflI5wsmzAon3jqXp6oGBBL7UtzMBan8Cq/YfrJfGzZuDamBrkQ7f+eW+Oesp9M8 /joIhrKH69dmxfxibWg3uYrLUULfsEmuaUfVSFghSleRba1ZJSg0BonQB9i89r5tfuI5 SToZVp04gh62Xz0VCKdfccImQSckC+973C7ChBd2twIZk3iUknZBKdMCfLQ+gRUr3LfX nQ7A==
X-Gm-Message-State: ALoCoQmxQ9u3myXhtlojkMHDzeunlx8vc3ILjHIIAjlX/6uvsCJsyBey4THzJZr8dliKSWS0Dr2s
X-Received: by 10.140.21.48 with SMTP id 45mr39459466qgk.87.1422281636332; Mon, 26 Jan 2015 06:13:56 -0800 (PST)
From: Brett Tate <brett@broadsoft.com>
References: <86b4120892860c2b418046d71347c35b@mail.gmail.com> <em17a6c706-b38c-48d2-8146-2a8b41ff8628@sydney>
In-Reply-To: <em17a6c706-b38c-48d2-8146-2a8b41ff8628@sydney>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQJVCwk8su+E0b88kafk9aBrS8/SpJvIpk/g
Date: Mon, 26 Jan 2015 09:14:39 -0500
Message-ID: <0d1e73a3f19e0cb34ce1f77cfbd1f6f0@mail.gmail.com>
To: draft-ietf-insipid-session-id@tools.ietf.org, insipid@ietf.org
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/insipid/ZFntS0t2KOhxD3_KBhMQkx5hRFs>
Subject: Re: [Insipid] draft-ietf-insipid-session-id-10: comments
X-BeenThere: insipid@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: SIP Session-ID discussion list <insipid.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/insipid>, <mailto:insipid-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/insipid/>
List-Post: <mailto:insipid@ietf.org>
List-Help: <mailto:insipid-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/insipid>, <mailto:insipid-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jan 2015 14:13:59 -0000

Hi,

Thanks for the response; reply is inline.

> >>  I think the answer, regardless, is going to be that
> >> the 487 should have the same Session-ID value as the
> >> CANCEL or INVITE for the "remote" part.
> >
> >Is there a snippet within the draft (or an RFC) which
> >supports that behavior? SIP has occasionally been vague
> >about what can update stored information associated the
> >dialog/remote-party (and what all gets rolled back during
> >re-INVITE failure); I'm attempting to help avoid this
> >draft from having the same issue.
>
> Section 6 (first sentence) says that all non-intermediary
> SIP UAs must include the Session-ID header.  It then
> explains what the format of that message is.  There are no
> exception, except for CANCEL that we added and provisional
> responses.

The UPDATE sent towards the called party changed the Session-ID associated
with the dialog.  Section 6 indicates the following.

"A UA MUST assume that the UUID value of the peer UA MAY change at any
time due to service interactions.  If the UUID value of the peer UA
changes, the UA MUST accept the new UUID as the peer's UUID and
include this new UUID as the "remote" parameter in any subsequent
messages."

Are you saying that the CANCEL received out-of-dialog changed it back or
something else rolled it back?

Additionally since the CANCEL's 200 response and INVITE's 487 can be
generated by the intermediary (before receiving such responses from
endpoint), what section indicates how the intermediary behaves when
generating the CANCEL response and INVITE response?  I haven't noticed the
applicable normative text within section 7.


> >If your answer is correct, that means that the working
> >group thinks that it is better to use the received
> >out-of-dialog CANCEL or INVITE local-uuid (instead of
> >reflecting the mid-dialog modification) when populating
> >the 487's remote-uuid. The behavior seems atypical; I
> >usually don't consider an out-of-dialog CANCEL as being
> >able to update mid dialog information (or mid-dialog
> >updates forgotten before sending failure response).
>
> These values should be the same, since they're part of
> the same "session". Now, it's the definition of "session"
> that is purposely vague, but the OOD message should have
> the same UUID as the INVITE and other in-dialog messages.

That is the issue.  The UPDATE changed the UUID so it no longer matches the
value sent within prior INVITE and subsequent CANCEL.  Thus I'm trying to
determining which remote UUID that the B2BUA should or must include within
the CANCEL's 2xx, INVITE's 487 response, and non-2xx's ACK when the To tags
reflect that same dialog that was updated.


> >If your answer is correct, that means that the working
> >group thinks that it is better to use the received
> >mid-dialog CANCEL or re-INVITE local-uuid (instead of
> >reflecting a subsequent modification) when populating
> >the 487's remote-uuid. The behavior seems atypical; I
> >usually don't consider a mid-dialog CANCEL as being able
> >to update mid-dialog information (or mid-dialog updates
> >forgotten before sending failure response).
>
> Is this just a repeat of the previous?

Almost; the distinction is that the CANCEL is sent within dialog (i.e.
cancelling a re-INVITE).


> >What about my ACK questions? Should the ACK sent by B2BUA
> >for the 487 (after CANCEL) contain {A, B} or {A2, B}
> >during the two situations? Is there a snippet within the
> >draft (or an RFC) which supports that behavior?
>
> All messages related to the session should carry the same
> UUID values. If the intermediary is manipulating the
> exchanges (e.g., switching endpoints B with C, for example),
> it should know what UUID to send.

I'm not asking about the intermediary/endpoint that caused the UUID to
change.  I'm asking about another intermediary that is aware of the UUID
modification (caused by the UPDATE) but subsequently received a CANCEL
reflecting the old UUID.


> >To help avoid further confusion, I fixed my following
> >questions concerning 487 since I had accidently
> >reflected To/From switching behavior instead of
> >draft's local/remote switching behavior.
> >
> >
> >>  >The CANCEL is sent outside of dialog and would
> >>  >contain {A, N}. If the 487 from B contains the
> >>  >same To tag associated with UPDATE's modification,
> >>  >should the 487 indicate {B, A} or {B, A2}? Should
> >>  >the ACK sent by B2BUA contain {A, B} or {A2, B}?
> >>  >
> >>  >Same questions except UPDATE occurs during a re-INVITE.
> >>  >
> >>  >The CANCEL is sent within dialog and would
> >>  >contain {A, B}. Should the 487 indicate {B, A}
> >>  >or {B, A2}? Should the ACK sent by B2BUA contain
> >>  >{A, B} or {A2, B}?
>
> The 487 should contain {B,A} (same UUID for same session).
> I'm not sure what's leading you to suggest this A2 value.

The UPDATE changed the UUID to be A2.  Section 6 indicates the following;
but CANCEL containing INVITE's UUID (A) was received after the UPDATE
modification to A2.

"A UA MUST assume that the UUID value of the peer UA MAY change at any
time due to service interactions.  If the UUID value of the peer UA
changes, the UA MUST accept the new UUID as the peer's UUID and
include this new UUID as the "remote" parameter in any subsequent
messages."