Desktop sharing with the Session Initiation Protocol Willem Toorop willem.toorop@os3.nl February 25, 2009 How can application and desktop sharing, initiated by SIP, be realised in existing SIP infrastructure with the least possible impact on that infrastructure? Research Project 1 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 1 / 21
What is SIP? What is SIP? RFC 3261: The Session Initiation Protocol User location Wherever they are on the internet. Addresses are easy to remember. User availability User capabilities For example: michiel@nlnet.nl Session setup Session management Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 2 / 21
What is SIP? What is SIP? RFC 3261: The Session Initiation Protocol User location Originally, “User not found” User availability Nowadays also presence information, User capabilities like in instant messaging clients. Session setup Session management Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 2 / 21
What is SIP? What is SIP? RFC 3261: The Session Initiation Protocol User location The session types supported: User availability Voice Video User capabilities Instant Messaging Session setup Desktop sharing Session management Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 2 / 21
What is SIP? What is SIP? RFC 3261: The Session Initiation Protocol User location Calling User availability Redirections User capabilities Session setup Session management Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 2 / 21
What is SIP? What is SIP? RFC 3261: The Session Initiation Protocol User location Transfers User availability Hangups User capabilities Session setup Session management Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 2 / 21
What is SIP? What is SIP? RFC 3261: The Session Initiation Protocol User location SIP does not do the session itself! User availability User capabilities Session setup Session management Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 2 / 21
Why desktop sharing with SIP? Why desktop sharing with SIP? + No host names or IP-addresses to remember or find out about Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 3 / 21
Why desktop sharing with SIP? Why desktop sharing with SIP? + No host names or IP-addresses to remember or find out about + No VPN’s to private networks needed Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 3 / 21
Why desktop sharing with SIP? Why desktop sharing with SIP? + No host names or IP-addresses to remember or find out about + No VPN’s to private networks needed + Simply call your problem solver and offer your desktop Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 3 / 21
How does SIP work? How does SIP work? Alice’s Bobs Proxy for User User example.com Agent Agent INVITE sip:bob@example.com Contact: Alice 1 SIP/2.0 100 Trying INVITE sip:bob@example.com Contact: Proxy SIP/2.0 180 Ringing Contact: Bob 2 SIP/2.0 180 Ringing Contact: Bob SIP/2.0 200 OK Contact: Bob 3 SIP/2.0 200 OK Contact: Bob ACK Bob 4 ACK Bob Media session RTP over UDP Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 4 / 21
The NAT-Traversal problem The NAT-Traversal problem Client Host 10.0.0.8:2345 → 192.0.0.1:6789 → NAT 74.125.79.104:80 74.125.79.104:80 10.0.0.8 74.125.79.104 NAT Binding table Internal External 10.0.0.8:2345 192.0.0.1:6789 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 5 / 21
The NAT-Traversal problem How does SIP deal with it? How does SIP deal with it? Alice’s Alice’s Bobs Proxy for User NAT Outbound User example.com Agent Proxy Agent INVITE alice@example.com 100 Trying INVITE alice@example.com 100 Trying . c o m e x a m p l e E a l i c e @ I N V I T 180 Ringing 200 OK 1 8 0 R i n g i n g 2 0 0 O K 180 Ringing 200 OK ACK ACK ACK Media session??? How to connect? Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 6 / 21
The NAT-Traversal problem Industry solutions Industry solutions Media session ALG Client NAT client NAT Application-level Gateway Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 7 / 21
The NAT-Traversal problem Industry solutions Industry solutions Media session ALG Client NAT client NAT Application-level Gateway Media- -session SBC Client NAT NAT client Proxy Session Border Controller Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 7 / 21
The NAT-Traversal problem The IETF answer Full cone NAT Client Host 1 10.0.0.8 74.125.79.104 10.0.0.8:2345 → 192.0.0.1:6789 → 74.125.79.104:80 74.125.79.104:80 Host 2 NAT 145.100.96.70 7 . 7 0 : 1 3 5 5 . 1 0 0 . 9 6 1 4 0 : 1 3 5 7 ← 0 0 . 9 6 . 7 1 4 5 . 1 ← 1 : 6 7 8 9 9 2 . 0 . 0 . 1 2 3 4 5 . 0 . 0 . 8 : 1 0 NAT Binding table Internal External 10.0.0.8:2345 192.0.0.1: 6789 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 8 / 21
The NAT-Traversal problem The IETF answer Address restricted cone NAT Client Host 1 10.0.0.8 74.125.79.104 10.0.0.8:2345 → 192.0.0.1:6789 → 74.125.79.104:80 74.125.79.104:80 Host 2 NAT 145.100.96.70 10.0.0.8:2345 → 192.0.0.1:6789 → 145.100.96.70:80 145.100.96.70 :80 ← 145.100.96.70 :1357 ← 145.100.96.70:1357 192.0.0.1:6789 10.0.0.8:2345 Internal External Servers 74.125.79.104 10.0.0.8:2345 192.0.0.1: 6789 145.100.96.70 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 9 / 21
The NAT-Traversal problem The IETF answer Port restricted cone NAT Client Host 1 10.0.0.8 74.125.79.104 10.0.0.8:2345 → 192.0.0.1:6789 → 74.125.79.104:80 74.125.79.104:80 Host 2 NAT 145.100.96.70 10.0.0.8:2345 → 192.0.0.1:6789 → 145.100.96.70:80 145.100.96.70:80 ← 145.100.96.70:80 ← 145.100.96.70:80 192.0.0.1:6789 10.0.0.8:2345 Internal External Server & port 74.125.79.104:80 10.0.0.8:2345 192.0.0.1: 6789 145.100.96.70:80 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 10 / 21
The NAT-Traversal problem The IETF answer Symmetric NAT Client Host 1 10.0.0.8 74.125.79.104 10.0.0.8:2345 → 192.0.0.1:6789 → 74.125.79.104:80 74.125.79.104:80 Host 2 NAT 145.100.96.70 10.0.0.8:2345 → 192.0.0.1:5555 → 145.100.96.70:80 145.100.96.70:80 ← 145.100.96.70:80 ← 145.100.96.70:80 192.0.0.1:5555 10.0.0.8:2345 Internal from External to External from 74.125.79.104:80 192.0.0.1: 6789 10.0.0.8:2345 10.0.0.8:2345 145.100.96.70:80 192.0.0.1: 5555 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 11 / 21
The NAT-Traversal problem The IETF answer STUN & TURN IP-address 1 What IP:port do you see? → Client NAT STUN Server ← IP:port of NAT IP-address 2 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 12 / 21
The NAT-Traversal problem The IETF answer STUN & TURN IP-address 1 Reply from other IP please → Client NAT STUN Server ← Sure! IP-address 2 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 12 / 21
The NAT-Traversal problem The IETF answer STUN & TURN IP-address 1 Reply from other IP please → Client NAT STUN Server ← Sure! IP-address 2 IP-address 1 Media session Media session Client NAT TURN Server NAT Client IP-address 2 Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 12 / 21
The NAT-Traversal problem The IETF answer ICE & ICE-TCP draft-ietf-mmusic-ice-19: Interactive Connectivity Establishment Defines a procedure for SIP User Agents to get the best connection. Uses STUN for discovery and TURN as a last resort solution. But... Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 13 / 21
The NAT-Traversal problem The IETF answer ICE & ICE-TCP draft-ietf-mmusic-ice-19: Interactive Connectivity Establishment Defines a procedure for SIP User Agents to get the best connection. Uses STUN for discovery and TURN as a last resort solution. But... - It is still a draft Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 13 / 21
The NAT-Traversal problem The IETF answer ICE & ICE-TCP draft-ietf-mmusic-ice-19: Interactive Connectivity Establishment Defines a procedure for SIP User Agents to get the best connection. Uses STUN for discovery and TURN as a last resort solution. But... - It is still a draft - SBCs work well Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 13 / 21
The NAT-Traversal problem Media specific solutions Media specific solutions: MSRP INVITE → Proxy Proxy ← ACK INVITE → INVITE → ← ACK ← ACK Client Client NAT NAT A B M MSRP- S R P s e s s i o n session MSRP- Relay For instant messaging Willem Toorop (willem.toorop@os3.nl) Desktop sharing with SIP February 25, 2009 14 / 21
Recommend
More recommend