[sipcore] [Technical Errata Reported] RFC7118 (5937)

RFC Errata System <rfc-editor@rfc-editor.org> Sat, 14 December 2019 20:06 UTC

Return-Path: <wwwrun@rfc-editor.org>
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 5D199120026 for <sipcore@ietfa.amsl.com>; Sat, 14 Dec 2019 12:06:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 Xe28khISF5b7 for <sipcore@ietfa.amsl.com>; Sat, 14 Dec 2019 12:06:37 -0800 (PST)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DAE1912000F for <sipcore@ietf.org>; Sat, 14 Dec 2019 12:06:37 -0800 (PST)
Received: by rfc-editor.org (Postfix, from userid 30) id 98A51F406CB; Sat, 14 Dec 2019 12:06:23 -0800 (PST)
To: ibc@aliax.net, jmillan@aliax.net, victor.pascual@quobis.com, ben@nostrum.com, aamelnikov@fastmail.fm, adam@nostrum.com, br@brianrosen.net, mahoney@nostrum.com
X-PHP-Originating-Script: 30:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: roman@telurix.com, sipcore@ietf.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset="UTF-8"
Message-Id: <20191214200623.98A51F406CB@rfc-editor.org>
Date: Sat, 14 Dec 2019 12:06:23 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/Al2anOWf-qXKUREQNNbNRWz_zjI>
X-Mailman-Approved-At: Sat, 14 Dec 2019 20:00:54 -0800
Subject: [sipcore] [Technical Errata Reported] RFC7118 (5937)
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Sat, 14 Dec 2019 20:06:40 -0000

The following errata report has been submitted for RFC7118,
"The WebSocket Protocol as a Transport for the Session Initiation Protocol (SIP)".

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid5937

--------------------------------------
Type: Technical
Reported by: Roman Shpount <roman@telurix.com>

Section: 8.2

Original Text
-------------
INVITE sip:bob@example.com SIP/2.0
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
From: sip:alice@example.com;tag=asdyka899
To: sip:bob@example.com
Call-ID: asidkj3ss
CSeq: 1 INVITE
Max-Forwards: 70
Supported: path, outbound, gruu
Route: <sip:proxy.example.com:443;transport=ws;lr>
Contact: <sip:alice@example.com;gr=urn:uuid:f81-7dec-14a06cf1;ob>
Content-Type: application/sdp


F2 100 Trying  proxy.example.com -> Alice (transport WSS)

SIP/2.0 100 Trying
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
From: sip:alice@example.com;tag=asdyka899
To: sip:bob@example.com
Call-ID: asidkj3ss
CSeq: 1 INVITE


F3 INVITE  proxy.example.com -> Bob (transport UDP)

INVITE sip:bob@203.0.113.22:5060 SIP/2.0
Via: SIP/2.0/UDP proxy.example.com;branch=z9hG4bKhjhjqw32c
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
Record-Route: <sip:proxy.example.com;transport=udp;lr>,
 <sip:h7kjh12s@proxy.example.com:443;transport=wss;lr>
From: sip:alice@example.com;tag=asdyka899
To: sip:bob@example.com
Call-ID: asidkj3ss
CSeq: 1 INVITE
Max-Forwards: 69
Supported: path, outbound, gruu
Contact: <sip:alice@example.com;gr=urn:uuid:f81-7dec-14a06cf1;ob>
Content-Type: application/sdp

F4 200 OK  Bob -> proxy.example.com (transport UDP)

SIP/2.0 200 OK
Via: SIP/2.0/UDP proxy.example.com;branch=z9hG4bKhjhjqw32c
 ;received=192.0.2.10
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
Record-Route: <sip:proxy.example.com;transport=udp;lr>,
 <sip:h7kjh12s@proxy.example.com:443;transport=ws;lr>
From: sip:alice@example.com;tag=asdyka899
To: sip:bob@example.com;tag=bmqkjhsd
Call-ID: asidkj3ss
CSeq: 1 INVITE
Contact: <sip:bob@203.0.113.22:5060;transport=udp>
Content-Type: application/sdp


F5 200 OK  proxy.example.com -> Alice (transport WSS)

SIP/2.0 200 OK
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
Record-Route: <sip:proxy.example.com;transport=udp;lr>,
 <sip:h7kjh12s@proxy.example.com:443;transport=ws;lr>
From: sip:alice@example.com;tag=asdyka899
To: sip:bob@example.com;tag=bmqkjhsd
Call-ID: asidkj3ss
CSeq: 1 INVITE
Contact: <sip:bob@203.0.113.22:5060;transport=udp>
Content-Type: application/sdp


F6 ACK  Alice -> proxy.example.com (transport WSS)

ACK sip:bob@203.0.113.22:5060;transport=udp SIP/2.0
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bKhgqqp090
Route: <sip:h7kjh12s@proxy.example.com:443;transport=ws;lr>,
 <sip:proxy.example.com;transport=udp;lr>,
From: sip:alice@example.com;tag=asdyka899
To: sip:bob@example.com;tag=bmqkjhsd
Call-ID: asidkj3ss
CSeq: 1 ACK
Max-Forwards: 70

F7 ACK  proxy.example.com -> Bob (transport UDP)

ACK sip:bob@203.0.113.22:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP proxy.example.com;branch=z9hG4bKhwpoc80zzx
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bKhgqqp090
From: sip:alice@example.com;tag=asdyka899
To: sip:bob@example.com;tag=bmqkjhsd
Call-ID: asidkj3ss
CSeq: 1 ACK
Max-Forwards: 69


F8 BYE  Bob -> proxy.example.com (transport UDP)

BYE sip:alice@example.com;gr=urn:uuid:f81-7dec-14a06cf1;ob SIP/2.0
Via: SIP/2.0/UDP 203.0.113.22;branch=z9hG4bKbiuiansd001
Route: <sip:proxy.example.com;transport=udp;lr>,
 <sip:h7kjh12s@proxy.example.com:443;transport=ws;lr>
From: sip:bob@example.com;tag=bmqkjhsd
To: sip:alice@example.com;tag=asdyka899
Call-ID: asidkj3ss
CSeq: 1201 BYE
Max-Forwards: 70


F9 BYE  proxy.example.com -> Alice (transport WSS)

BYE sip:alice@example.com;gr=urn:uuid:f81-7dec-14a06cf1;ob SIP/2.0
Via: SIP/2.0/WSS proxy.example.com:443;branch=z9hG4bKmma01m3r5
Via: SIP/2.0/UDP 203.0.113.22;branch=z9hG4bKbiuiansd001
From: sip:bob@example.com;tag=bmqkjhsd
To: sip:alice@example.com;tag=asdyka899
Call-ID: asidkj3ss
CSeq: 1201 BYE
Max-Forwards: 69


F10 200 OK  Alice -> proxy.example.com (transport WSS)

SIP/2.0 200 OK
Via: SIP/2.0/WSS proxy.example.com:443;branch=z9hG4bKmma01m3r5
Via: SIP/2.0/UDP 203.0.113.22;branch=z9hG4bKbiuiansd001
From: sip:bob@example.com;tag=bmqkjhsd
To: sip:alice@example.com;tag=asdyka899
Call-ID: asidkj3ss
CSeq: 1201 BYE


F11 200 OK  proxy.example.com -> Bob (transport UDP)

SIP/2.0 200 OK
Via: SIP/2.0/UDP 203.0.113.22;branch=z9hG4bKbiuiansd001
From: sip:bob@example.com;tag=bmqkjhsd
To: sip:alice@example.com;tag=asdyka899
Call-ID: asidkj3ss
CSeq: 1201 BYE

Corrected Text
--------------
F1 INVITE  Alice -> proxy.example.com (transport WSS)

INVITE sips:bob@example.com SIP/2.0
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
From: sips:alice@example.com;tag=asdyka899
To: sips:bob@example.com
Call-ID: asidkj3ss
CSeq: 1 INVITE
Max-Forwards: 70
Supported: path, outbound, gruu
Route: <sips:proxy.example.com:443;transport=wss;lr>
Contact: <sips:alice@example.com;gr=urn:uuid:f81-7dec-14a06cf1;ob>
Content-Type: application/sdp


F2 100 Trying  proxy.example.com -> Alice (transport WSS)

SIP/2.0 100 Trying
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
From: sips:alice@example.com;tag=asdyka899
To: sips:bob@example.com
Call-ID: asidkj3ss
CSeq: 1 INVITE


F3 INVITE  proxy.example.com -> Bob (transport TLS)

INVITE sips:bob@203.0.113.22 SIP/2.0
Via: SIP/2.0/TLS proxy.example.com;branch=z9hG4bKhjhjqw32c
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
Record-Route: <sips:proxy.example.com;lr>,
 <sips:h7kjh12s@proxy.example.com:443;transport=ws;lr>
From: sip:alice@example.com;tag=asdyka899
To: sips:bob@example.com
Call-ID: asidkj3ss
CSeq: 1 INVITE
Max-Forwards: 69
Supported: path, outbound, gruu
Contact: <sips:alice@example.com
 ;gr=urn:uuid:f81-7dec-14a06cf1;ob>
Content-Type: application/sdp

F4 200 OK  Bob -> proxy.example.com (transport TLS)

SIP/2.0 200 OK
Via: SIP/2.0/TLS proxy.example.com;branch=z9hG4bKhjhjqw32c
 ;received=192.0.2.10
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
Record-Route: <sips:proxy.example.com;lr>,
 <sips:h7kjh12s@proxy.example.com:443;transport=ws;lr>
From: sips:alice@example.com;tag=asdyka899
To: sips:bob@example.com;tag=bmqkjhsd
Call-ID: asidkj3ss
CSeq: 1 INVITE
Contact: <sips:bob@203.0.113.22>
Content-Type: application/sdp


F5 200 OK  proxy.example.com -> Alice (transport WSS)

SIP/2.0 200 OK
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
Record-Route: <sips:proxy.example.com;lr>,
 <sips:h7kjh12s@proxy.example.com:443;transport=ws;lr>
From: sips:alice@example.com;tag=asdyka899
To: sips:bob@example.com;tag=bmqkjhsd
Call-ID: asidkj3ss
CSeq: 1 INVITE
Contact: <sips:bob@203.0.113.22>
Content-Type: application/sdp


F6 ACK  Alice -> proxy.example.com (transport WSS)

ACK sips:bob@203.0.113.22 SIP/2.0
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bKhgqqp090
Route: <sips:h7kjh12s@proxy.example.com:443;transport=ws;lr>,
 <sips:proxy.example.com;lr>,
From: sips:alice@example.com;tag=asdyka899
To: sips:bob@example.com;tag=bmqkjhsd
Call-ID: asidkj3ss
CSeq: 1 ACK
Max-Forwards: 70

F7 ACK  proxy.example.com -> Bob (transport TLS)

ACK sips:bob@203.0.113.22 SIP/2.0
Via: SIP/2.0/TLS proxy.example.com;branch=z9hG4bKhwpoc80zzx
Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bKhgqqp090
From: sips:alice@example.com;tag=asdyka899
To: sips:bob@example.com;tag=bmqkjhsd
Call-ID: asidkj3ss
CSeq: 1 ACK
Max-Forwards: 69


F8 BYE  Bob -> proxy.example.com (transport TLS)

BYE sips:alice@example.com;gr=urn:uuid:f81-7dec-14a06cf1;ob SIP/2.0
Via: SIP/2.0/TLS 203.0.113.22;branch=z9hG4bKbiuiansd001
Route: <sips:proxy.example.com;lr>,
 <sips:h7kjh12s@proxy.example.com:443;transport=ws;lr>
From: sips:bob@example.com;tag=bmqkjhsd
To: sips:alice@example.com;tag=asdyka899
Call-ID: asidkj3ss
CSeq: 1201 BYE
Max-Forwards: 70


F9 BYE  proxy.example.com -> Alice (transport WSS)

BYE sips:alice@example.com;gr=urn:uuid:f81-7dec-14a06cf1;ob SIP/2.0
Via: SIP/2.0/WSS proxy.example.com:443;branch=z9hG4bKmma01m3r5
Via: SIP/2.0/TLS 203.0.113.22;branch=z9hG4bKbiuiansd001
From: sips:bob@example.com;tag=bmqkjhsd
To: sips:alice@example.com;tag=asdyka899
Call-ID: asidkj3ss
CSeq: 1201 BYE
Max-Forwards: 69


F10 200 OK  Alice -> proxy.example.com (transport WSS)

SIP/2.0 200 OK
Via: SIP/2.0/WSS proxy.example.com:443;branch=z9hG4bKmma01m3r5
Via: SIP/2.0/TLS 203.0.113.22;branch=z9hG4bKbiuiansd001
From: sips:bob@example.com;tag=bmqkjhsd
To: sips:alice@example.com;tag=asdyka899
Call-ID: asidkj3ss
CSeq: 1201 BYE


F11 200 OK  proxy.example.com -> Bob (transport TLS)

SIP/2.0 200 OK
Via: SIP/2.0/TLS 203.0.113.22;branch=z9hG4bKbiuiansd001
From: sips:bob@example.com;tag=bmqkjhsd
To: sips:alice@example.com;tag=asdyka899
Call-ID: asidkj3ss
CSeq: 1201 BYE

Notes
-----
This example states that WSS protocol is used, but Route header specifies SIP URI with transport=ws. which would mean WS (insecure Web Socket). Furthermore, if SIPS URI is used in Route header, then all other URI must be SIPS as well and message cannot be forwarded over UDP, SIPS over TLS must be used instead. I have modified the entire example to use SIPS and TLS, instead of SIP and UDP.

Instructions:
-------------
This erratum is currently posted as "Reported". If necessary, please
use "Reply All" to discuss whether it should be verified or
rejected. When a decision is reached, the verifying party  
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC7118 (draft-ietf-sipcore-sip-websocket-10)
--------------------------------------
Title               : The WebSocket Protocol as a Transport for the Session Initiation Protocol (SIP)
Publication Date    : January 2014
Author(s)           : I. Baz Castillo, J. Millan Villegas, V. Pascual
Category            : PROPOSED STANDARD
Source              : Session Initiation Protocol Core RAI
Area                : Real-time Applications and Infrastructure
Stream              : IETF
Verifying Party     : IESG