[Insipid] session-id ABNF (Was: Backward compability between draft-jones and draft-kaplan)

Hadriel Kaplan <HKaplan@acmepacket.com> Fri, 17 August 2012 17:47 UTC

Return-Path: <HKaplan@acmepacket.com>
X-Original-To: insipid@ietfa.amsl.com
Delivered-To: insipid@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9F6FC11E80D1 for <insipid@ietfa.amsl.com>; Fri, 17 Aug 2012 10:47:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.666
X-Spam-Level:
X-Spam-Status: No, score=-3.666 tagged_above=-999 required=5 tests=[AWL=0.933, BAYES_00=-2.599, GB_I_LETTER=-2]
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 YBUWC7iHupBn for <insipid@ietfa.amsl.com>; Fri, 17 Aug 2012 10:47:41 -0700 (PDT)
Received: from etmail.acmepacket.com (etmail.acmepacket.com [216.41.24.6]) by ietfa.amsl.com (Postfix) with ESMTP id B035B11E809B for <insipid@ietf.org>; Fri, 17 Aug 2012 10:47:40 -0700 (PDT)
Received: from MAIL2.acmepacket.com (10.0.0.22) by etmail.acmepacket.com (216.41.24.6) with Microsoft SMTP Server (TLS) id 8.2.254.0; Fri, 17 Aug 2012 13:47:36 -0400
Received: from MAIL1.acmepacket.com ([169.254.1.149]) by Mail2.acmepacket.com ([169.254.2.126]) with mapi id 14.02.0283.003; Fri, 17 Aug 2012 13:47:36 -0400
From: Hadriel Kaplan <HKaplan@acmepacket.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Thread-Topic: session-id ABNF (Was: Backward compability between draft-jones and draft-kaplan)
Thread-Index: AQHNfKBi2n2oQiD9n0aMHrsrBqV3wA==
Date: Fri, 17 Aug 2012 17:47:35 +0000
Message-ID: <EEDB748C-2DAC-4B8A-BB94-6D6DE37CEB1C@acmepacket.com>
References: <7F2072F1E0DE894DA4B517B93C6A05853408683664@ESESSCMS0356.eemea.ericsson.se>
In-Reply-To: <7F2072F1E0DE894DA4B517B93C6A05853408683664@ESESSCMS0356.eemea.ericsson.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [216.41.24.34]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EE2C07C7B47B7B48963D89F19D51D438@acmepacket.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAC02Sf0gTcRjG/e5u8xyenJu6V7OMgZqpM4NyGoX1h0FWmEGFgTntcsNtyjbLKPIXgohLC5E0K8UpOrRSRMWy1H6Q/lOI6ZiamBKpGeTPVNLudqd1f33ued73+T7f4whMki+Si8S42MnJK7QzXxF3oN2a3yhUFpZZBcrizgo8WhDnlCDU6JPTs5KE6uV1m3NGS0BW++oCykHFe4qQmJBQjQjME3nCIuTCvFQjWOm5xbKICoXn3c0Yyx7UYRhZNAtYxqggaKgddWZZSl2G4aYWZ24mCdbnN3COFTBprUcs45Q/vO4YdzBJHYf8Wk6XUBfh/dNeB7tQl2CzZcmRgygvWB1o4s+SgX36iYOBCoaO2VdCjkOgddiKc3wE5t9u8DoFlpcfMY7lYB79ye96wszUJj+jgLYaC3MWwfA5KH3kzsmH4IdlkI88Ch+a//AxJ6HgWQ2vn4G+WgvPfrD1ZYLnaJjv6uDn98Jazxq2nfNtsIHnWKirM/N8EEaW80SlKKjyv1tyHALVLxZElUw7jFkvmwBODob6mjms0vER3aG/YhqvRkIr8qRNOpVGq1Cl6OgMVUoabVKkpOtaEfNT2IJA1Im+rgT2IW9CIPckY7IVcRK35PSrN9Uqo/qKIVNLG/sQEK5yD7I6l/FIY4ZKZ9Skblu+BCEHsp613A10Kp11TaM10QbOHkD+xFZ//ziS4Pp0Pe0jI0vYQYrNUGfqd+YGkaePlLxwg/FcM2iDTmPidDuSEpMCfpmp68Q8+9AskhFILiW72CxXjd60U2eWaSpgmjZ6hLJNTap/lk8Oihm+Vx4YeH4xgrZmn76vrNyFV0Ru+S29KXG7PnWKOv1deazW39rXbNv9y95r1xWqxdoSS5v7gul35IOWtY4xWViReMbvbKQ1amapvLQgKlASEotZxua6EtfvBHc/vDscU/UusTRsSGvzvh2eYBp6HGFM+zRU9XkzvtP3REA8mSvHjWpV+H7MYFT9BY5LTTiWAwAA
Cc: "insipid@ietf.org" <insipid@ietf.org>
Subject: [Insipid] session-id ABNF (Was: Backward compability between draft-jones and draft-kaplan)
X-BeenThere: insipid@ietf.org
X-Mailman-Version: 2.1.12
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: Fri, 17 Aug 2012 17:47:41 -0000

When we talked about this in Vancouver I was thinking there wouldn't be any problem going to/from UUID syntax, because going to/from UUIDs in H.323 was talked about a long, long time ago for session-id.  But I forgot about the bug in the draft-kaplan ABNF...

Since version 01 of draft-kaplan-sip-session-id in 2008, which later became draft-kaplan-dispatch-session-id, the rules for generating the session-id always made it lower-case *hex* characters.  I.e., the g-z range wasn't actually possible.  The ABNF for it didn't get fixed until draft-kaplan-dispatch-session-id-01 in April 2010, but that also dropped it to 16 characters of hex because the algorithm changed, and then 3 months later reverted back to 32 characters and the correct ABNF.

So that begs the question of *which* version of draft-kaplan we want to be backwards compatible with.  Since draft-kaplan-dispatch-session-id-01 only existed for 3 months, I think we can ignore that one.  And since everything else only used hex characters, except the initial 00-draft which itself only existed for 4 months, I think we can ignore that one too.

Therefore, as far as I can tell we shouldn't have a problem converting draft-kaplan session-ids to/from UUIDs for H.323/whatever.

-hadriel


On Aug 14, 2012, at 4:27 PM, Christer Holmberg wrote:

> Hi,
> 
> In Vancouver, I expressed a wish to make the INSIPID mechanism backward compatible with the draft-kaplan-session-id one, the reason being that it has been around for a relatively long time, and has been implemented and deployed.
> 
> I compared the suggested draft-jones solution with the draft-kaplan solution, and I think there are ways to achieve backward compability.
> 
> 
> --------------
> 
> 
> FIRST, looking purely at the ABNF syntax:
> 
> The jones ABNF is:
> 
> 
> Session-ID-UUID = "Session-ID-UUID" HCOLON UUID
> 
> 
> 
> The kaplan ABNF is:
> 
> 
> 
> Session-ID           =  "Session-ID" HCOLON sess-id
> 
>                           *( SEMI generic-param )
> 
> sess-id              =  32(DIGIT / %x61-7A)  ; 32 chars of [0-9a-z]
> 
> 
> 
> 
> 
> Now, assuming 32 chars is enough to carry ONE UUID, jones applications could put the SECOND UUID in a header field parameter (generic-param), rather than combining it with the received UUID.
> 
> 
> 
> Of course, the first UUDI (carried in sess-id) can only contains characters 0-9 and a-z.
> 
> 
> 
> A UUID can contain characters 0-9 and a-f and A-F.
> 
> 
> 
> So, a jones entity would have to be prepared to receive g-z.
> 
> 
> 
> And, as kaplan entity is not prepared to receive capital A-F, a jones entity would have to only use small letters. But, that should not be a problem, afaik, as they have the same meaning as far as UUID is concerned.
> 
> 
> 
> --------------
> 
> 
> 
> SECOND, looking at it would work functionwise:
> 
> 
> 
> There are two main alternatives:
> 
> 
> 
> 
> 
> 1. Second UUID is added even when one entity is kaplan compliant
> 
> 2. Second UUID is not added when one entity is kaplan compliant
> 
> 
> 
> 
> 
> Alternative 1:
> 
> 
> 
> When a kaplan entity inserts the first UUID (I use that as a general term, eventhough a kaplan entity does not use UUIDs), one must assume that it is prepared to receive a response from a jones entity which has added the second UUID into the header field parameter.
> 
> 
> 
> When a jones entity inserts the first UUID, one must assume that it is prepared to receive a response from a kaplan entity where the second UUID has *not* been added.
> 
> 
> 
> 
> 
> Alternative 2:
> 
> 
> 
> When a kaplan entity inserts the first UUID, the jones entity detects (using some identify-a-kaplan-entity mechanism) that it comes from a kaplan entity, so it does not insert a seoncd UUID in the first place.
> 
> 
> 
> As in alternative 1, when a jones entity inserts the first UUID, it has to be prepared to receive a response where the second UUID has not been added (the identify-a-kaplan-entity mechanism might also inform the jones entity that the response comes from a kaplan entity.
> 
> 
> 
> 
> 
> --------------
> 
> 
> 
> Now, there will of course be cases, where two UUIDs are required, that won't work. But, kaplan entities would be able to use the session-id for whatever they've used it so far.
> 
> 
> 
> 
> 
> Regards,
> 
> 
> 
> Christer
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> insipid mailing list
> insipid@ietf.org
> https://www.ietf.org/mailman/listinfo/insipid