Subject: [sipcore] Call flow for Secure Web Socket creation --- draft-ibc-sipcore-sip-websocket-02.txt

From: "Nataraju A.B" <[email-masked]>
Date: Tue, 17 Apr 2012 22:56:05 +0530

Hi All,

I have written a call flow for the secure web socket usage with TCP.

Please go through the same and share if any changes required.

---------------------------------------------------------------------

8.3.  INVITE dialog through a proxy (Secure Web Socket, WSS)

   Alice    (SIP WSS)    proxy.atlanta.com    (SIP TLS)       Bob
   |                             |                             |
   |INVITE F1                    |                             |
   |---------------------------->|                             |
   |100 Trying F2                |                             |
   |<----------------------------|                             |
   |                             |INVITE F3                    |
   |                             |---------------------------->|
   |                             |200 OK F4                    |
   |                             |<----------------------------|
   |200 OK F5                    |                             |
   |<----------------------------|                             |
   |                             |                             |
   |ACK F6                       |                             |
   |---------------------------->|                             |
   |                             |ACK F7                       |
   |                             |---------------------------->|
   |                             |                             |
   |                    Both Way RTP Media                     |
   |<=========================================================>|
   |                             |                             |
   |                             |BYE F8                       |
   |                             |<----------------------------|
   |BYE F9                       |                             |
   |<----------------------------|                             |
   |200 OK F10                   |                             |
   |---------------------------->|                             |
   |                             |200 OK F11                   |
   |                             |---------------------------->|
   |                             |                             |

   In the same scenario Alice places a call to Bob's AoR.  The WebSocket
   SIP server at proxy.atlanta.com acts as a SIP proxy routing the
   INVITE to the UDP location of Bob over TLS, who answers the call and
   terminates it later.

   Message details (authentication and SDP bodies are omitted for
   simplicity):

   F1 INVITE  Alice -> proxy.atlanta.com (transport WSS)

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

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

   SIP/2.0 100 Trying
   Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
   From: sips:[email-masked];tag=asdyka899
   To: sips:[email-masked]
   Call-ID: asidkj3ss
   CSeq: 1 INVITE

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

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

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

   SIP/2.0 200 OK
   Via: SIP/2.0/TLS proxy.atlanta.com;branch=z9hG4bKhjhjqw32c
   Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
   Record-Route: <sips:proxy.atlanta.com;transport=TCP;lr>,
     <sips:[email-masked]:443;transport=ws;lr>
   From: sips:[email-masked];tag=asdyka899
   To: sips:[email-masked];tag=bmqkjhsd
   Call-ID: asidkj3ss
   CSeq: 1 INVITE
   Max-Forwards: 69
   Contact: <sips:[email-masked]:5060;transport=TCP>
   Content-Type: application/sdp

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

   SIP/2.0 200 OK
   Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bK56sdasks
   Record-Route: <sips:proxy.atlanta.com;transport=TCP;lr>,
     <sips:[email-masked]:443;transport=ws;lr>
   From: sips:[email-masked];tag=asdyka899
   To: sip:[email-masked];tag=bmqkjhsd
   Call-ID: asidkj3ss
   CSeq: 1 INVITE
   Max-Forwards: 69
   Contact: <sips:[email-masked]:5060;transport=TCP>
   Content-Type: application/sdp

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

   ACK sips:[email-masked]:5060;transport=TCP SIP/2.0
   Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bKhgqqp090
   Route: <sips:[email-masked]:443;transport=ws;lr>,
     <sips:proxy.atlanta.com;transport=TCP;lr>,
   From: sips:[email-masked];tag=asdyka899
   To: sips:[email-masked];tag=bmqkjhsd
   Call-ID: asidkj3ss
   CSeq: 1 ACK
   Max-Forwards: 70

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

   ACK sips:[email-masked]:5060;transport=TCP SIP/2.0
   Via: SIP/2.0/TLS proxy.atlanta.com;branch=z9hG4bKhwpoc80zzx
   Via: SIP/2.0/WSS df7jal23ls0d.invalid;branch=z9hG4bKhgqqp090
   From: sips:[email-masked];tag=asdyka899
   To: sips:[email-masked];tag=bmqkjhsd
   Call-ID: asidkj3ss
   CSeq: 1 ACK
   Max-Forwards: 69

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

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

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

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

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

   SIP/2.0 200 OK
   Via: SIP/2.0/WSS proxy.atlanta.com:443;branch=z9hG4bKmma01m3r5
   Via: SIP/2.0/TLS 203.0.113.22;branch=z9hG4bKbiuiansd001
   From: sips:[email-masked];tag=bmqkjhsd
   To: sips:[email-masked];tag=asdyka899
   Call-ID: asidkj3ss
   CSeq: 1201 BYE

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

   SIP/2.0 200 OK
   Via: SIP/2.0/TLS 203.0.113.22;branch=z9hG4bKbiuiansd001
   From: sips:[email-masked];tag=bmqkjhsd
   To: sips:[email-masked];tag=asdyka899
   Call-ID: asidkj3ss
   CSeq: 1201 BYE

Thanks,
Nataraju A.B.
[email-masked] / [email-masked]
+91-98455-95744

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Thu, 19 Apr 2012 18:22:46 +0200

> Please go through the same and share if any changes required.

Hi Nataraju, I think the flow is ok, but honestly we wouldn't like to
deal too much with SIPS stuf within the draft, is not the mission of
the draft to clarify all the SIPS complexity and issues. IMHO RFC 5630
is the good place for that, and RFC 5630 is already referenced by RFC
3261 (it updates RFC 3261 in fact) so IMHO the draft does not need to
mention it (we don't want to open Pandora'x box and I think we
shouldn't).

As said before in a previous mail, using a secure transport without
SIPS schema is perfectly valid according to RFC 3261 and RFC 5630:

- SIPS requires secure transport in all the path,
- but a secure transport does not require SIPS schema.

http://tools.ietf.org/html/rfc5630#section-3.1.3

Thanks a lot.

-- 
Iñaki Baz Castillo
<[email-masked]>