IP Mobility
1
Mobile IP (multimedia) without Mobile IP: SIP and RTP mobility Henning Schulzrinne Dept. of Computer Science Columbia University New York, New York
[email protected] Bell Laboratories June 8, 1999
(Joint work Elin Wedlund)
June 9, 1999
IP Mobility
2
Overview • mobility: which layer? • SIP overview • SIP mobility • RTP mobility • Open issues
June 9, 1999
IP Mobility
3
Mobility • connected: move while connected • plug-in: lap top • synchronization: PalmPilot
June 9, 1999
IP Mobility
4
Review: Mobile IP • goal: make IP address changes invisible to upper layers • “home address” of mobile host (MH) home agent (HA): tunnels IP packets to current location; corresponent host (CH): the host that talks to MH (mobile or fixed); foreign agent (FA): router/MH that decapsulates packets
June 9, 1999
IP Mobility
5
Mobile moves to new network
MH
home network CN
MH
CH
HA HA
CH
data
HA
mobile host correspondent host router with home agent functionality router with foreign agent functionality
FA
tunnelled data
data
data MH
foreign network
• extra HA–FA + encapsulation packet delay • IP-in-IP encapsulation overhead of 20 bytes • MH may send directly to CH, but may not get out June 9, 1999
IP Mobility
6
Mobile IP with route optimization • CH tunnels directly to FA • UDP-based binding update from HA • old FA sends binding warning to HA ➠ HA sends binding update
June 9, 1999
IP Mobility
7
Problems with route-optimized IP • CH must change IP stack (tunnel!) • CH must support binding update process • only HA can send update ➠ delay • MH has to rely on old FA to forward packets • don’t send binding updates blindly
June 9, 1999
IP Mobility
8
Why is there no mobile IP deployment? • no incentive to install: few short-term visitors, few public access points beyond modems • address-based packet filtering for return traffic • operating system support lacking • many synchronization-based ➠ partially disconnected operation
June 9, 1999
IP Mobility
9
Application-Layer Mobility Address assignment: • DHCP • IPv6 autoconfiguration (link-local addresses) Web: “designed for mobility”? • short transactions ➠ client can close • restartable • stateless at server (cookies) • recoverable: “range” header
June 9, 1999
IP Mobility
10
Application-Layer Mobility Email: • POP for email retrieval, local storage • IMAP for server-storage • web-based email access (hotmail.com) • but: need “home” server for SMTP (spam prevention)
June 9, 1999
IP Mobility
11
Application-layer mobility News: • download and read • upload to local server ftp: • now: mostly large file transfers • recent: restart capability (“smart download”)
June 9, 1999
IP Mobility
12
Application-layer mobility file systems: • NFS: UDP based • even with TCP, stateless telnet: • type while walking/driving? • decreasing importance irc: needs continuous connectivity!
June 9, 1999
IP Mobility
13
Mobile applications: radio and TV • multicast: join at new location • main problems: IGMP leave latency, IGMP traffic • leave latency: depart without IGMP farewell • smooth handoff if listener in next local network
June 9, 1999
IP Mobility
14
What are truly mobile applications? • clients only • audio and video – 38% at home, 41% cars, 21% at work – three hours each weekday • telephone: “number of mobile-phone subscriptions in Finland (2.9 mio.) has surpassed the number of traditional fixed-phone subscriptions.”
June 9, 1999
IP Mobility
15
SIP Basics
June 9, 1999
IP Mobility
16
Light-weight signaling: Session Initiation Protocol (SIP) IETF MMUSIC working group (RFC 2543) • light-weight generic signaling protocol • part of IETF conference control architecture: – SAP for “Internet TV Guide” announcements – RTSP for media-on-demand – SDP for describing media – others: malloc, multicast, conference bus, . . . • typical post-dial delay: 1.5 round-trip time (with UDP)
June 9, 1999
IP Mobility
17
SIP Features, cont’d. • provides call control (hold, forward, transfer, media changes, ...) • leverages web infrastructure: security, “cgi-bin”, electronic payments, PICS, cookies, . . . • web-oriented: return HTML pages (“web IVR”) • network-protocol independent: UDP or TCP (or AAL5 or X.25) • easily extends to presence information (“buddy lists”) and event notification
June 9, 1999
IP Mobility
18
SIP for H.323 experts H.323 H.225.0 + RAS H.245 gatekeeper
SIP + SDP SIP SDP, SMIL, . . . proxy
June 9, 1999
IP Mobility
19
SIP architecture: peer-to-peer SIP redirect server
Internet
128.119.40.186
RTP audio
128.59.19.141
CATV Ethernet
June 9, 1999
IP Mobility
20
SIP architecture: carrier authenticate anonymize
SIP proxy
SIP proxy
10.4.5.6
firewall NAPT edge router
RTP audio 128.59.19.141
128.119.40.186
firewall NAPT edge router
10.1.2.3
CATV Ethernet
June 9, 1999
IP Mobility
21
SIP addresses food chain yellow pages common names host-independent host-specific IP address
“president of the United States” ↓ WWW search engines “Bill Clinton, Whitehouse” ↓ directory services
[email protected] . SIP & SIP sip:
[email protected] sip:
[email protected] ↓ DNS 198.137.241.30
June 9, 1999
IP Mobility
22
SIP: basic operation 1. use directory service (e.g., LDAP) to map name to user@domain 2. locate SIP servers using DNS SRV, CNAME 3. called server may map name to user@host 4. callee accepts, rejects, forward (→ new address) 5. if new address, go to step 2 6. if accept, caller confirms 7. . . . conversation . . . 8. caller or callee sends BYE
June 9, 1999
IP Mobility
23
SIP–DNS interaction extended email-like domain resolution ➠ try until success: 1. try SRV DNS record for “sip.udp” and “sip.tcp” in domain, with priority and weights for randomized load balancing 2. DNS CNAME or A record 3. may try SMTP EXPN command to get new address; goto (1) 4. if all else fails, send SIP request via MIME
June 9, 1999
IP Mobility
24
SIP operation in proxy mode cs.columbia.edu
? location server 1
[email protected]
2
hgs@play
200 OK
4
henning
cs.tu-berlin.de
INVITE
[email protected]
7
INVITE hgs@play 3
5
200 OK 6
play
tune
9
8
ACK hgs@play ACK
[email protected]
June 9, 1999
IP Mobility
25
SIP operation in redirect mode
?
tu-berlin.de INVITE
[email protected] 302 Moved temporarily Contact:
[email protected]
2
henning
1
location server columbia.edu
ieee.org
3
4 5 ACK
[email protected]
6 INVITE
[email protected]
columbia.edu
7 200 OK 8 ACK
[email protected]
hgs
June 9, 1999
IP Mobility
26
SIP operation in redirect mode INVITE
[email protected] 302 Moved temporarily ACK INVITE
[email protected]
100 Trying
200 OK ACK UAC
redirect server
UAS
ieee.org
[email protected]
June 9, 1999
IP Mobility
27
Interaction with resource reservation avoid “fast busy” after ringing ➠ interleave INVITE YESSIR? SR RR
reserve (no traffic - no charge)
SR RR
200
ACK or BYE June 9, 1999
IP Mobility
28
Invitation modes invitation
conference unicast multicast
unicast multicast
telephony reach first
MBone session dept. conference
➠ SIP for all modes, SAP also for multicast/multicast
June 9, 1999
IP Mobility
29
SIP servers and clients UAC: user-agent client (caller application) UAS: user-agent server ➠ accept, redirect, refuse call redirect server: redirect requests proxy server: server + client registrar: track user locations often combine registrar + proxy or redirect server
June 9, 1999
IP Mobility
30
Proxy and redirect servers proxy: may fork requests ➠ parallel or sequential search • near-end proxy: outgoing calls ➠ address lookup, policy, firewalls • far-end proxy: closer to callee ➠ callee firewall, call path hiding redirect server: lower state overhead, more messages
June 9, 1999
IP Mobility
31
SIP requests and responses • HTTP look-alike • provisional and final responses: – 1xx = searching, ringing, queueing, . . . – 2xx = success – 3xx = forwarding – 4xx = client mistakes – 5xx = server failures – 6xx = busy, refuse, not available anywhere
June 9, 1999
IP Mobility
32
SIP protocol request INVITE sip:
[email protected] SIP/2.0 From: Christian Zahl To: Henning Schulzrinne Via: SIP/2.0/UDP 131.215.131.131, SIP/2.0 foo.com Call-ID:
[email protected] Content-Type: application/sdp Content-Length: 187 CSeq: 8348 INVITE Subject: New error codes session description
June 9, 1999
IP Mobility
33
SIP URLs sip:[user:pw@]host:[port] ;transport=UDP;maddr=224.2.0.1 • used in Request-URI, Contact headers (redirect, registration), web pages • transport and maddr specify transport • can specify methods, header and body in web pages, email • example: sip:
[email protected]
June 9, 1999
IP Mobility
34
SIP/RTP mobility overview • pre-call mobility ➠ SIP proxy, redirect • mid-call mobility ➠ SIP re-INVITE, RTP • recovery from disconnection
June 9, 1999
IP Mobility
35
Review: DHCP 1. client broadcasts DHCPDISCOVER 2. server offers address: DHCPOFFER 3. client broadcasts DHCPREQUEST 4. server acks via DHCPACK
June 9, 1999
IP Mobility
36
SIP mobility: pre-call • MH acquires IP address via DHCP • optional: MH finds SIP server via multicast REGISTER • MH updates home SIP server • optimization: hierarchical LR (later) redir
MH
home network
MH
CH
redir
1 2
CH
3 5
4 MH
mobile host correspondent host SIP redirect server
1
SIP INVITE
2
SIP 302 moved temporarily
3
SIP INVITE
4
SIP OK
5
data
foreign network
June 9, 1999
IP Mobility
37
SIP mobility: mid-call • MH→CH: new INVITE, with Contact and updated SDP • re-registers with home registrar redir
MH
home network
MH
CH
redir
CH
2
mobile host correspondent host SIP redirect server
1
SIP INVITE
2
SIP OK
3
data
1 3 MH MH
foreign network
June 9, 1999
IP Mobility
38
SIP mobility: simultaneous moves MH MH
MH
INVITE
INVITE
MH
MH
MH
➠ need addition to protocol behavior: try well-known address
June 9, 1999
IP Mobility
39
SIP mobility: security • telephone-like: random Call-ID, sequential CSeq • password: HTTP “basic” authentication ➠ plain-text password no better than Call-ID • challenge-response: HTTP “digest” authentication ➠ possibly more messages for updates • true crypto: PGP, S/MIME • possibilities: shared secret, ipsec, Lamport’s hash (OTP)
June 9, 1999
IP Mobility
40
SIP mobility: multi-stage registration Send this to local registrar, ca.move.com REGISTER sip:ny.move.com SIP/2.0 Contact: sip:
[email protected] ;expires=3600 • gets proxied like INVITE to nyc.move.com ➠ hierarchical LR • only updates home registrar when MH leaves Calif. • first INVITE goes to ca.move.com
June 9, 1999
IP Mobility
41
Packet loss recovery • CH’s packets sent to old MH address lost • MH indicates seq. no. of last packet received in SDP • CH retransmits missing packets • artificial silence period? • proxy recovery?
June 9, 1999
IP Mobility
42
RTP mobility support • RTP uses 32-bit random synchronization source (SSRC) • stays constant even if IP address changes • RTCP SDES CNAME binds to global identity • very fast, binding update retransmitted every 50 ms. . . • loop/collision detection: if two sources with same SSRC, keep one • need to modify RTP discard behavior: keep new IP address
June 9, 1999
IP Mobility
43
RTP mobility • CH accepts RTP packets from new IP address • “mobile RTP” CH: – send own RTP packets (also) to the new address – allows smooth hand-offs – terminate double sending when receiving SIP update
June 9, 1999
IP Mobility
44
Comparison SIP vs. IP mobility
constant update security impl. reg.
IP
SIP
RTP
IP address binding upd. via HA OS one (*)
SIP url
[email protected] re-INVITE call-ID, crypto app. proxy
SSRC/SDES audio packet crypto app. none
June 9, 1999
IP Mobility
45
Open Issues/Problems • latency: DHCP uses ARP for confirmation ➠ 150 ms latency • soft handover ➠ multiple IP addresses? • multi-stage location register • interaction with RTP loop detection • division of labor: do we need link-layer mobility?
June 9, 1999
IP Mobility
46
Conclusion • mobile data mostly done • mobile IP: infrastructure changes, overhead • Internet telephone mobility ➠ SIP • mobile media-on-demand terminals: RTP or RTSP REDIRECT
June 9, 1999
IP Mobility
47
More information Internet and telecom statistics: http://www.cs.columbia.edu/˜hgs/internet Papers: http://www.cs.columbia.edu/˜hgs/research/irt RTP: http://www.cs.columbia.edu/˜hgs/rtp RTSP: http://www.cs.columbia.edu/˜hgs/rtsp SIP: http://www.cs.columbia.edu/˜hgs/sip
June 9, 1999