VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP...
Transcript of VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP...
![Page 1: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/1.jpg)
Hit the Ground Running
VoIP
Robert Sparks
![Page 2: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/2.jpg)
VoIP: Voice Over IP
• Real-time interactive Voice (and Video)– Not the same as streaming media, but there
are some mechanisms in common
• Evolution path for telephony– Consolidation of networks and applications– Richer Services– Universal Accessability– Lower Cost
![Page 3: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/3.jpg)
Two Classes of VoIP Systems
• Open Standards based systems– SIP
• Vonage, AT&T, Yahoo, AOL• Hundreds of service providers/vendors
– MGCP/Megaco– H.323
• Proprietary, closed systems– Skype
![Page 4: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/4.jpg)
High-Level Concepts
• Identity– Who are you?
• Presence– Are you available to talk?
• Rendezvous– How do other people find you?
• Media Negotiation– How will you exchange voice or other media?
![Page 5: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/5.jpg)
High-Level Concepts
• Signaling– Setting up and controlling a media session– Encompasses Rendezvous and Negotiation– Can take place over a variety of transports
• Media– Usually uses a different transport than signaling– Encoded using negotiated codecs.– Usually carried using RTP/RTCP (Real Time
Transport Protocol) over UDP
![Page 6: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/6.jpg)
Signaling and Media
RendezvousService
Signaling (e.g. SIP overUDP, TCP,or TLS)
Media(typically RTP over UDPusing ephemeralsource anddestination ports)
voicePhil Robert
![Page 7: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/7.jpg)
Codecs• Agreed encoding of media (voice, video)• Differing properties
– Bandwidth consumption (bitrate)– Audio quality– Resiliency to packetloss and jitter
• Common codecs include– G.711– G.729– ILBC (Internet Low Bitrate Codec)– SPEEX wideband
![Page 8: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/8.jpg)
Use of DNS• SIP uses NAPTR/SRV RRs to
– Select transport protocols and ports– Distribute load between elements
$ORIGIN example.com. IN NAPTR 50 50 "s" "SIPS+D2T" "" _sips._tcp.example.com. IN NAPTR 90 50 "s" "SIP+D2T" "" _sip._tcp.example.com. IN NAPTR 100 50 "s" "SIP+D2U" "" _sip._udp.example.com.$ORIGIN _sip._tcp.example.com. IN SRV 0 1 5060 server1.example.com. IN SRV 0 2 5060 server2.example.com.
• ENUM uses NAPTR RRs to map E.164 numbersto Internet Services
$ORIGIN 3.8.0.0.6.9.2.3.6.1.4.4.e164.arpa. NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:[email protected]!" . NAPTR 10 102 "u" "E2U+msg" "!^.*$!mailto:[email protected]!" .
![Page 9: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/9.jpg)
Typical Landscape
![Page 10: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/10.jpg)
The LandscapeUser Agents (end-user endpoints)
• ATA (Analog Terminal Adaptor)– Connects a legacy analog telephone to a VoIP
system• Hard Phone
– Looks like a phone, acts like a phone (andmore) but has an ethernet port instead of ananalog RJ11 jack
• Soft Client– Programs that run on general purpose PCs
![Page 11: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/11.jpg)
SIPProxy/Registrar
INVITE sip:[email protected]: sip:[email protected]
INVITE sip:[email protected]: sip:[email protected]
Address of Record(AoR)
REGISTER sip:estacado.netTo: sip:[email protected]: sip:[email protected]
Phil Robert
12 3
The LandscapeRendezvous using SIP
![Page 12: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/12.jpg)
The LandscapeTrapezoid model
SIPProxy
RTP
voicePhil Robert
SIP
SIPProxy
tamu.edu estacado.net
![Page 13: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/13.jpg)
Ecosystem MembersSession Border Controllers
SBC
SBC
RTP
Phil Robert
SIPtamu.edu estacado.net
UA UAUA UA
![Page 14: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/14.jpg)
Ecosystem MembersPSTN Gateways
SIPProxy
PhilRobert
SIP/PSTNGateway
RTPSIP
![Page 15: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/15.jpg)
Ecosystem MembersVoice Mail / IVR systems
SIPProxy
Phil
Robert’sVoicemail
Server
RTPSIP
![Page 16: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/16.jpg)
Ecosystem MembersConference Servers
ConferenceServer
SIPProxy
SIPProxy
RTPSIP
![Page 17: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/17.jpg)
Ecosystem MembersPresence Servers
PresenceServer
SIPProxy
XCAPSIP
Subs
crib
eN
otify
Pub
lish
Grant
Perm
issions
Manage
Buddylist
![Page 18: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/18.jpg)
Forking
SIPProxy
Phil Robert
SIPtamu.edu estacado.net
SIPProxy
Gateway
someprovider
some ISP
Robert’shome phone
VoicemailServer
![Page 19: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/19.jpg)
Hot Topics• Authentication
– Digest– Certificate-based (SIP Identity, TLS)
• Securing Media– SRTP– RTP over DTLS
• Nat/Firewall Traversal– STUN (Simple Traversal of UDP through Nats)– TURN (Traversal Using Relay Nat)– ICE (Interactive Connectivity Establishment)
![Page 20: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/20.jpg)
Hot Topics
• ENUM– Using DNS to bind E.164 numbers to Internet
Services
• Fixed/Mobile Convergence– Handoff between WiFi and Cellular
• E911 (Enhanced 911)
![Page 21: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/21.jpg)
SIP Implementations andServices
• Hundreds available. Some information at– www.sipforum.org– www.sipcenter.com
• Many Open-source implementations,including– www.sipfoundry.org– www.iptel.org– www.asterisk.org
![Page 22: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/22.jpg)
Evaluating Implementations
• Interoperability is the most importantaspect to evaluate
• Useful question: Has the implementationbeen to SIPit?– International Interop Test Event– Held twice a year– ~100 implementations from ~80 vendors– www.sipit.net
![Page 23: VoIP - USENIX · –RTP over DTLS •Nat/Firewall Traversal –STUN (Simple Traversal of UDP through Nats) –TURN (Traversal Using Relay Nat) –ICE (Interactive Connectivity ...](https://reader033.fdocuments.in/reader033/viewer/2022042110/5e8afbe8ceea626ed04cfb92/html5/thumbnails/23.jpg)
Other Resources• IETF: www.ietf.org
– Working Groups• SIP, SIPPING, SIMPLE, AVT, MMUSIC, BEHAVE, SPEER,
XCON, ENUM
• Books– “SIP: Understanding the Session Initiation Protocol,
2nd Edition”, A. Johnston– “Internet Communications Using SIP”, H. Sinnreich,
A. Johnston– “SIP beyond VoIP”, H. Sinnreich, A. Johnston, R.
Sparks– “SIP Demystified”, G. Camarillo– “RTP: Audio and Video for the Internet”, C. Perkins