RFC Errata
Found 1 record.
Status: Reported (1)
RFC 7118, "The WebSocket Protocol as a Transport for the Session Initiation Protocol (SIP)", January 2014
Source of RFC: sipcore (rai)
Errata ID: 5937
Status: Reported
Type: Technical
Publication Format(s) : TEXT
Reported By: Roman Shpount
Date Reported: 2019-12-14
Section 8.2 says:
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
It should say:
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.