[Sipping] Late comment on draft-ietf-sippping-sip-offeranswer-14

"Elwell, John" <john.elwell@siemens-enterprise.com> Tue, 26 April 2011 13:37 UTC

Return-Path: <john.elwell@siemens-enterprise.com>
X-Original-To: sipping@ietfa.amsl.com
Delivered-To: sipping@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ACD40E07A1; Tue, 26 Apr 2011 06:37:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.591
X-Spam-Level:
X-Spam-Status: No, score=-104.591 tagged_above=-999 required=5 tests=[AWL=2.008, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 59ydLdL9i9eF; Tue, 26 Apr 2011 06:37:42 -0700 (PDT)
Received: from mail182.messagelabs.com (mail182.messagelabs.com [85.158.139.83]) by ietfa.amsl.com (Postfix) with SMTP id 7D09EE0793; Tue, 26 Apr 2011 06:37:41 -0700 (PDT)
X-VirusChecked: Checked
X-Env-Sender: john.elwell@siemens-enterprise.com
X-Msg-Ref: server-10.tower-182.messagelabs.com!1303825059!5622519!1
X-StarScan-Version: 6.2.9; banners=-,-,-
X-Originating-IP: [62.134.46.10]
Received: (qmail 28558 invoked from network); 26 Apr 2011 13:37:39 -0000
Received: from unknown (HELO senmx12-mx) (62.134.46.10) by server-10.tower-182.messagelabs.com with SMTP; 26 Apr 2011 13:37:39 -0000
Received: from MCHP064A.global-ad.net (unknown [172.29.37.63]) by senmx12-mx (Server) with ESMTP id 9054423F03E2; Tue, 26 Apr 2011 15:37:39 +0200 (CEST)
Received: from MCHP058A.global-ad.net ([172.29.37.55]) by MCHP064A.global-ad.net ([172.29.37.63]) with mapi; Tue, 26 Apr 2011 15:37:39 +0200
From: "Elwell, John" <john.elwell@siemens-enterprise.com>
To: "ietf@ietf.org" <ietf@ietf.org>, "sipping@ietf.org" <sipping@ietf.org>
Date: Tue, 26 Apr 2011 15:37:37 +0200
Thread-Topic: Late comment on draft-ietf-sippping-sip-offeranswer-14
Thread-Index: AcwEFxtQP2WQ8OP3Tnm7SkCj3hScBA==
Message-ID: <A444A0F8084434499206E78C106220CA0875F83F02@MCHP058A.global-ad.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [Sipping] Late comment on draft-ietf-sippping-sip-offeranswer-14
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "SIPPING Working Group \(applications of SIP\)" <sipping.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipping>
List-Post: <mailto:sipping@ietf.org>
List-Help: <mailto:sipping-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Apr 2011 13:37:42 -0000

I know last call finished already, but the following has just been brought to my attention:

In section 5.2.5
"Changing the o-line,
      except version number value, during the session is an error case.
      The behavior when receiving such a non-compliant offer/answer SDP
      body is implementation dependent. "
I would content this is NOT an error situation, or at least not an error in the case where a NEW session is being signalled.

Consider a 3PCC situation along the lines described in section 7 of RFC 3725. The controlling B2BUA converts a session between UA A and UA B into a session between UA B and UA C. Prior to this conversion, UA B has received UA A's SDP (SDP A). As a result of the conversion, UA B receives UA C's SDP (SDP C).

SDP C is likely to be completely different from SDP A. Therefore just a change of version number in the o-line is insufficient and would probably violate RFC 3264. In particular, if SDP A has 2 m-lines and SDP C has only one m-line, the change from 2 m-lines to 1 m-line is not permitted according to RFC 3264. So although RFC 3725 talks about the controlling B2BUA adjusting version numbers, that is insufficient in some cases.

The text of 5.2.5 then goes on to say:
"The behavior when receiving such a non-compliant offer/answer SDP
      body is implementation dependent."
It is not clear what this fails to comply with. I can find nothing in RFC 3264 that stops you sending a new o-line if there is a new session. Yes, it would be non-compliant if only modifying an existing session, but how does the recipient know whether or not it is a new session, and therefore whether or not it is valid?

It then goes on to recommend use of Replaces in this situation (i.e. change of session):
"If a UA needs to negotiate a
      'new' SDP session, it should use the INVITE/Replaces method."
But Replaces is not feasible if the UA concerned does not support it (and hence "should", presumably). So there will still be cases where a controlling B2BUA is forced to change the o-line (not just the version) in order to comply with RFC 3264.

So there needs to be a mechanism for changing to a 'new' session without relying on Replaces. As far as I can see, there is no standards track RFC that forbids changing the o-line to achieve this, so this new Informational draft should not attempt to make that change, and in particular should not do so without proposing an alternative solution.

A simple fix would be to delete the entire bullet beginning "In the o-line, only the version number may change".

John