SlideShare a Scribd company logo
1 of 42
Introduction to Internet telephony (VoIP) Kundan Singh Columbia University
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Audio Packet Transfer …
Sampling, Quantization, Encoding 10101111…01101101 Sample at twice the highest voice frequency  2 x 4000=8000 Hz (interval of 125  µ sec) Round off samples to one of 256 levels (introduces noise) Encode each quantized sample into 8 bit code word PCM: 8000 x 8 bits = 64 kb/s Other techniques (differential coding, linear prediction)  2.4 kb/s to 64 kb/s +127 +0 -127
Problems with UDP ,[object Object],[object Object],[object Object],[object Object],1 2 3 5 7 6 1 2 3 4 5 6 7 timeline Sender Receiver (a) (b)
Receive buffer  (playout buffer or circular buffer) playout buffer while (true) { buf =  read (au,20ms); //blocks if (!silence) sendto (remote, buf); … buf =  get (20 ms); write (au, buf); } while (true) { buf = recvfrom(...); // blocks put(buf); } 20 ms  packet microphone sendto(remote IP:port) read speaker 20 ms  packet write get Received packet recvfrom() put
Receive buffer  (playout buffer or circular buffer) ,[object Object],[object Object],[object Object],[object Object],Sender Receiver 1 2 3 5 7 6 1 2 3 4 5 6 7 8 9 0 2 3 4 8 9 0 1 2 3 4 3 2 1 1 2 1 2 1 2 3 5 7 5 7 6 8 7 9 8 0 9 0 2 3 2
Timestamp vs sequence number ,[object Object],[object Object],1 2 3 4 1 2 3 4 Sender Receiver 5 6 7 5 6 7 Silence … t1 t2 t3 t4 t5 t6 t7 t8 t9 Playout time vs packet loss detection
Real-time Transport Protocol (RTP) Encoded  Audio RTP Header UDP header IP header msg   sendto(…, msg, …) recvfrom(…, msg, …) Sequence number Optional contributors’ list (CSrc) Source identifier (SSrc) Timestamp (proportional to sampling time) Payload type CC M V P X RTP:  media transport RTCP:  QoS feedback 8 bits  8 bits  16 bits
RTP-based conference 224.1.2.3:8000 ssrc=5263 ssrc=7182 ssrc=2639 ssrc=9844 Session identified using receive IP address + port
RTP-based conference   Mixer Transcoder  -law  -law G.729 G.729  -law  -law Mixer mixes multiple streams, and puts  rtp.ssrc s   of contributors in the mixed packet as  rtp.csrc Transcoder converts one encoding to another. Typically to accommodate heterogeneous bandwidth links.
Why do we need signaling? Alice 128.59.19.194 Bob 202.16.49.27 Sam 154.28.32.112 Henry 125.33.2.81 ,[object Object],[object Object],Bob=>192.1.2.3 Sam 154.28.32.112 Henry=>125.33.2.81 Alice=>128.59.19.194 Where is Alice? 128.59.19.194 INVITE for a call using  µ -law and G.729 at 202.16.49.27:8000 OK using µ-law at 128.59.19.194
Session Initiation Protocol (SIP) ,[object Object],[object Object],[object Object],[object Object],columbia.edu yahoo.com home.com office.com Alice Bob 128.59.19.194 Jane 128.59.19.61 $ dig –t  naptr  columbia.edu columbia.edu. 3600 IN NAPTR  1  0 "s"  "SIP+D2U" "" _sip._udp.columbia.edu. columbia.edu. 3600 IN NAPTR 2 0 "s" "SIP+D2T" "" _sip._tcp.columbia.edu. $ dig –t  srv  _sip._udp.columbia.edu _sip._udp.columbia.edu. 3600 IN  SRV  10   10  5060  cocoa.cc.columbia.edu . _sip._udp.columbia.edu. 3600 IN  SRV  10   10  5060 eclair.cc.columbia.edu. $ dig –t  a  cocoa.cc.columbia.edu cocoa.cc.columbia.edu.  3600 IN  A  128.59.59.199
SIP message format INVITE   sip:alice@home.com  SIP/2.0 From: “Bob” <bob@office.com> To: “Alice” <alice@home.com> Subject : How are you? ... SIP/2.0  200  OK From: “Bob” <bob@office.com> To: “Alice” <alice@home.com> Subject: How are you? ... Request Response
Session Description Protocol (SDP) Alice Bob INVITE alice@home.com  I can support   -law   and  G.729 Send me audio at  202.16.49.27:6780 OK;  I can support   -law Send me audio at  128.59.19.194:8000 202.16.49.27 128.59.19.194 ACK To port 8000 RTP To port 6780 RTP
SDP message format and offer answer INVITE sip:alice@home.com SIP/2.0 ... v=0 o=bob 26172 27162 IN IP4 202.16.49.27 s=SIP call c=IN IP4  202.16.49.27 t=0 0 m= audio   6780  RTP/AVP  0 8 5 m= video 6790  RTP/AVP 31 Request Response SIP/2.0 200 OK ... c=IN IP4  128.59.19.194 t=0 0 m= audio   8000  RTP/AVP  0 8 m= video 0  RTP/AVP 31
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SIP  is …, SIP  is not  … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Addressing ,[object Object],[object Object],[object Object],[object Object],[object Object],tel:12125551234 tel:19172223333 pc12.columbia.edu yahoo.com columbia.edu [email_address] [email_address] [email_address] [email_address]
SIP message format ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building blocks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Typically implemented in a single software or box Other entities: outbound proxy, back-to-back user agent (b2bua), application-level-gateway (ALG), …
Message routing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],q=1.0 q=0.7 q=0.2 Via: a.home.com Via: b.example.com Via: a.home.com Via: c.yahoo.com Via: b.example.com Via: a.home.com [email_address] [email_address] [email_address] [email_address] Via: a.home.com Via: b.example.com Via: a.home.com Via: c.yahoo.com Via: b.example.com Via: a.home.com INVITE 302 moved 486 busy 200 OK
Example call setup (3) invite (4) moved (5) @school.edu Bob @home.com (6) (6) (6) unavailable (7) Alice (8) (11) cancel (12) ok (1) invite (2) moved @yahoo.com @residence.net @visiting.com @lab.school.edu (9) ok (10) (13)
Transport ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
NAT traversal ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],L=10.1.2.3:5060 iptel.org REGISTER alice@iptel.org Contact: sip:alice@10.1.2.3:5060 . . . E=128.59.19.194:8123 INVITE alice@
NAT traversal (ICE) ,[object Object],[object Object],[object Object],L=10.1.2.3:8000 192.168.1.2:6000 example.net STUN server stun01.sipphone.com E=128.59.19.194:8123 R=192.1.2.3:7002 Gather addresses (L,E,R) 10.1.2.3:8000 (local) 128.59.19.194:8123 (external) 192.1.2.3:7002 (relay) Gather addresses 192.168.1.2:6000 (local) 135.59.22.99:6000 (external) 192.1.2.4:9004 (relay) INVITE (offer) OK (answer) 10.1.2.3:8000
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IP telephony services (PSTN) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],IP-telephony can’t win by just providing what PSTN has
IP telephony services (Internet) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programmability of services
Where do the services reside? Make call when boss is online … Enter your authentication PIN for billing… B2BUA Double ringing sound when boss calls… Endpoint Forward to office phone during day, and home phone during evening… Proxy/registrar Endpoint Service control on  client vs server Use  finger  for locating user…
Endpoint call control ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Network call control ,[object Object],[object Object],[object Object],Priority.pl SIP_FROM SIP_TO stdin CGI-PROXY-REQUEST stdout SIP proxy Urgent Low-priority Voicemail Phone if (defined $ENV{SIP_FROM} &&  $ENV{ SIP_FROM } =~ /sip: boss@ mycompany.com/)  { foreach $reg (get_regs())  { print &quot;CGI-PROXY-REQUEST $reg SIP/2.0&quot;; print &quot; Priority: urgent &quot;; } }
Call transfer ,[object Object],[object Object],active call REFER C Referred-By: B INVITE C Referred-By: B BYE A A B C active call
B2BUA and third-party call control ,[object Object],[object Object],[object Object],[object Object],[object Object],INVITE A B C OK (SDP1) ACK INVITE (SDP1) OK (SDP2) ACK INVITE (SDP2) OK ACK SIP SIP
Voicemail ,[object Object],vmail.pl SIP_FROM SIP_TO stdin CGI-PROXY-REQUEST stdout If no response Proxy controls accept after 15s Voicemail acts like a phone [email_address] Redirect after 10s Endpoint based
Interactive voice response  using VoiceXML Telephone PSTN IVR platform ,[object Object],[object Object],[object Object],VXML Browser Gateway Voice gateway Web server ,[object Object],[object Object],[object Object],Internet user VXML HTML Internet
VoiceXML contd. <form action=“url”> Enter your Id: < input  name=‘id’> <input type=‘submit’>  </form> <form> < field  name=‘id’> <prompt> Your ID, please. </prompt> </field> <block> <submit next=“url”/> </block> </form> Telephony, speech synthesis or audio output, user input and grammar, program flow, variable and properties, error handling, …
DTMF Telephone SIP/PSTN gateway PSTN Internet Internet user D D Audio SIP INFO RTP/ RFC2833
Interworking with telephone network ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Telephone network SIP/PSTN  gateway SIP server IP endpoint Telephone subscriber +1-415-123-4567 sip:bob@home.com ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
VoIP activities ,[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Voice over Internet Protocol
Voice over Internet ProtocolVoice over Internet Protocol
Voice over Internet ProtocolCourse Hero
 
2+ipt+configuring cisco-cme
2+ipt+configuring cisco-cme2+ipt+configuring cisco-cme
2+ipt+configuring cisco-cmeYves Jean Louis
 
Voice over Internet Protocol (VoIP)
Voice over Internet Protocol (VoIP)Voice over Internet Protocol (VoIP)
Voice over Internet Protocol (VoIP)Fringe Division
 
session initiation protocol - SIP
session initiation protocol - SIPsession initiation protocol - SIP
session initiation protocol - SIPMahmoud Abudaqa
 
voice over internet protocol
voice over internet protocol voice over internet protocol
voice over internet protocol jomin mathew
 
Sip trunking - future of tomorrow communications
Sip trunking  -  future of tomorrow communicationsSip trunking  -  future of tomorrow communications
Sip trunking - future of tomorrow communicationsRanjit Patel
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocolMichal Hrncirik
 
Wireless local area netwok slide
Wireless local area netwok slideWireless local area netwok slide
Wireless local area netwok slideFʑɭ Rɘʜɱʌŋ
 
VoLTE Interfaces , Protocols & IMS Stack
VoLTE Interfaces , Protocols & IMS StackVoLTE Interfaces , Protocols & IMS Stack
VoLTE Interfaces , Protocols & IMS StackVikas Shokeen
 
Barry Hesk: Cisco Unified Communications Manager training deck 1
Barry Hesk: Cisco Unified Communications Manager training deck 1Barry Hesk: Cisco Unified Communications Manager training deck 1
Barry Hesk: Cisco Unified Communications Manager training deck 1Barry Hesk
 
volte ims network architecture
volte ims network architecturevolte ims network architecture
volte ims network architectureVikas Shokeen
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCHMoises Silva
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation ProtocolMatt Bynum
 

What's hot (20)

Voice over Internet Protocol
Voice over Internet ProtocolVoice over Internet Protocol
Voice over Internet Protocol
 
VOIP BASIC
VOIP BASICVOIP BASIC
VOIP BASIC
 
VOIP security
VOIP securityVOIP security
VOIP security
 
2+ipt+configuring cisco-cme
2+ipt+configuring cisco-cme2+ipt+configuring cisco-cme
2+ipt+configuring cisco-cme
 
Voice-over-Internet Protocol (VoIP) ppt
Voice-over-Internet Protocol (VoIP) pptVoice-over-Internet Protocol (VoIP) ppt
Voice-over-Internet Protocol (VoIP) ppt
 
Voice over Internet Protocol (VoIP)
Voice over Internet Protocol (VoIP)Voice over Internet Protocol (VoIP)
Voice over Internet Protocol (VoIP)
 
session initiation protocol - SIP
session initiation protocol - SIPsession initiation protocol - SIP
session initiation protocol - SIP
 
voice over internet protocol
voice over internet protocol voice over internet protocol
voice over internet protocol
 
Sip trunking - future of tomorrow communications
Sip trunking  -  future of tomorrow communicationsSip trunking  -  future of tomorrow communications
Sip trunking - future of tomorrow communications
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocol
 
Wireless local area netwok slide
Wireless local area netwok slideWireless local area netwok slide
Wireless local area netwok slide
 
Voip
VoipVoip
Voip
 
VoLTE Interfaces , Protocols & IMS Stack
VoLTE Interfaces , Protocols & IMS StackVoLTE Interfaces , Protocols & IMS Stack
VoLTE Interfaces , Protocols & IMS Stack
 
Barry Hesk: Cisco Unified Communications Manager training deck 1
Barry Hesk: Cisco Unified Communications Manager training deck 1Barry Hesk: Cisco Unified Communications Manager training deck 1
Barry Hesk: Cisco Unified Communications Manager training deck 1
 
volte ims network architecture
volte ims network architecturevolte ims network architecture
volte ims network architecture
 
Wifi Security
Wifi SecurityWifi Security
Wifi Security
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation Protocol
 
VOIP
VOIPVOIP
VOIP
 
Présentation VOIP
Présentation  VOIPPrésentation  VOIP
Présentation VOIP
 

Viewers also liked

Sip Fundamentals and Prospects Tutorial - VoiceCon Orlando 2010
Sip Fundamentals and Prospects Tutorial - VoiceCon Orlando 2010Sip Fundamentals and Prospects Tutorial - VoiceCon Orlando 2010
Sip Fundamentals and Prospects Tutorial - VoiceCon Orlando 2010Voxeo Corp
 
Efficient Telecommunication Infrastructure with Internet Telephony (VoIP)
Efficient Telecommunication Infrastructure with Internet Telephony (VoIP)Efficient Telecommunication Infrastructure with Internet Telephony (VoIP)
Efficient Telecommunication Infrastructure with Internet Telephony (VoIP)Thomas Siegers
 
Voice Quality Metrics in VoIP
Voice Quality Metrics in VoIPVoice Quality Metrics in VoIP
Voice Quality Metrics in VoIPFraj Alshahibi
 
VoIP Wars : Return of the SIP
VoIP Wars : Return of the SIP VoIP Wars : Return of the SIP
VoIP Wars : Return of the SIP Fatih Ozavci
 
Voice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskVoice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskSameer Verma
 
Voip : voice over ip בעברית
Voip : voice over ip בעבריתVoip : voice over ip בעברית
Voip : voice over ip בעבריתShachar Oz
 
Everything you never wanted to know about mobile voip
Everything you never wanted to know about mobile voipEverything you never wanted to know about mobile voip
Everything you never wanted to know about mobile voipPaloSanto Solutions
 
Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Summit Day 2 -What's new in CXP 14Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Summit Day 2 -What's new in CXP 14Voxeo Corp
 
Internet telephony by abhishek mahajan
Internet telephony by abhishek mahajanInternet telephony by abhishek mahajan
Internet telephony by abhishek mahajanAbhishek Mahajan
 
Internet Telephony by Aria technologies
  Internet Telephony by Aria technologies  Internet Telephony by Aria technologies
Internet Telephony by Aria technologiesDavid Meadow
 
Recording Remote Hosts/Interviews with VoIP/Skype
Recording Remote Hosts/Interviews with VoIP/SkypeRecording Remote Hosts/Interviews with VoIP/Skype
Recording Remote Hosts/Interviews with VoIP/SkypeDan York
 
VoIP Literature review
VoIP Literature review VoIP Literature review
VoIP Literature review jodoh247
 
Wimax and VoIP Presentation
Wimax and VoIP PresentationWimax and VoIP Presentation
Wimax and VoIP PresentationMario B.
 
Der Kolner Dom (The Dom of Cologne/ Koln )
Der Kolner Dom (The Dom of Cologne/ Koln )Der Kolner Dom (The Dom of Cologne/ Koln )
Der Kolner Dom (The Dom of Cologne/ Koln )Nazmul Hossain Rakib
 
Security Challenges In VoIP
Security Challenges In VoIPSecurity Challenges In VoIP
Security Challenges In VoIPTomGilis
 
6293213 sip-presentation
6293213 sip-presentation6293213 sip-presentation
6293213 sip-presentationJoe Trial
 

Viewers also liked (20)

Sip Fundamentals and Prospects Tutorial - VoiceCon Orlando 2010
Sip Fundamentals and Prospects Tutorial - VoiceCon Orlando 2010Sip Fundamentals and Prospects Tutorial - VoiceCon Orlando 2010
Sip Fundamentals and Prospects Tutorial - VoiceCon Orlando 2010
 
Introduction To SIP
Introduction  To  SIPIntroduction  To  SIP
Introduction To SIP
 
Efficient Telecommunication Infrastructure with Internet Telephony (VoIP)
Efficient Telecommunication Infrastructure with Internet Telephony (VoIP)Efficient Telecommunication Infrastructure with Internet Telephony (VoIP)
Efficient Telecommunication Infrastructure with Internet Telephony (VoIP)
 
Voice Quality Metrics in VoIP
Voice Quality Metrics in VoIPVoice Quality Metrics in VoIP
Voice Quality Metrics in VoIP
 
VoIP Wars : Return of the SIP
VoIP Wars : Return of the SIP VoIP Wars : Return of the SIP
VoIP Wars : Return of the SIP
 
SIP - The Basics
SIP - The BasicsSIP - The Basics
SIP - The Basics
 
voip gateway
 voip gateway voip gateway
voip gateway
 
Voice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskVoice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using Asterisk
 
Voip : voice over ip בעברית
Voip : voice over ip בעבריתVoip : voice over ip בעברית
Voip : voice over ip בעברית
 
Everything you never wanted to know about mobile voip
Everything you never wanted to know about mobile voipEverything you never wanted to know about mobile voip
Everything you never wanted to know about mobile voip
 
Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Summit Day 2 -What's new in CXP 14Voxeo Summit Day 2 -What's new in CXP 14
Voxeo Summit Day 2 -What's new in CXP 14
 
Internet telephony by abhishek mahajan
Internet telephony by abhishek mahajanInternet telephony by abhishek mahajan
Internet telephony by abhishek mahajan
 
Internet Telephony by Aria technologies
  Internet Telephony by Aria technologies  Internet Telephony by Aria technologies
Internet Telephony by Aria technologies
 
Recording Remote Hosts/Interviews with VoIP/Skype
Recording Remote Hosts/Interviews with VoIP/SkypeRecording Remote Hosts/Interviews with VoIP/Skype
Recording Remote Hosts/Interviews with VoIP/Skype
 
VoIP Literature review
VoIP Literature review VoIP Literature review
VoIP Literature review
 
Wimax and VoIP Presentation
Wimax and VoIP PresentationWimax and VoIP Presentation
Wimax and VoIP Presentation
 
Der Kolner Dom (The Dom of Cologne/ Koln )
Der Kolner Dom (The Dom of Cologne/ Koln )Der Kolner Dom (The Dom of Cologne/ Koln )
Der Kolner Dom (The Dom of Cologne/ Koln )
 
Security Challenges In VoIP
Security Challenges In VoIPSecurity Challenges In VoIP
Security Challenges In VoIP
 
Voip Ppt
Voip PptVoip Ppt
Voip Ppt
 
6293213 sip-presentation
6293213 sip-presentation6293213 sip-presentation
6293213 sip-presentation
 

Similar to Introduction to VoIP using SIP

Positive Hack Days. Gritsai. VOIP insecurities workshop
Positive Hack Days. Gritsai. VOIP insecurities workshopPositive Hack Days. Gritsai. VOIP insecurities workshop
Positive Hack Days. Gritsai. VOIP insecurities workshopPositive Hack Days
 
cs522_presentation.ppt
cs522_presentation.pptcs522_presentation.ppt
cs522_presentation.ppthajAli4
 
VoIP on LTE -packet Filter
VoIP on LTE -packet FilterVoIP on LTE -packet Filter
VoIP on LTE -packet Filterraj_naveen
 
Short Introduction to IPv6
Short Introduction to IPv6Short Introduction to IPv6
Short Introduction to IPv6Martin Schütte
 
Ch02 TCP/IP Concepts Review
Ch02 TCP/IP Concepts ReviewCh02 TCP/IP Concepts Review
Ch02 TCP/IP Concepts Reviewphanleson
 
16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)Jeff Green
 
My speech at AstriCon 2007
My speech at AstriCon 2007My speech at AstriCon 2007
My speech at AstriCon 2007stefanocarlini
 
Your app lives on the network - networking for web developers
Your app lives on the network - networking for web developersYour app lives on the network - networking for web developers
Your app lives on the network - networking for web developersWim Godden
 
CCNA_200-301_June_2023-v1.2.pdf
CCNA_200-301_June_2023-v1.2.pdfCCNA_200-301_June_2023-v1.2.pdf
CCNA_200-301_June_2023-v1.2.pdfCCIEHOMER
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDaniel-Constantin Mierla
 

Similar to Introduction to VoIP using SIP (20)

SIP for geeks
SIP for geeksSIP for geeks
SIP for geeks
 
Sip crash course
Sip crash courseSip crash course
Sip crash course
 
Positive Hack Days. Gritsai. VOIP insecurities workshop
Positive Hack Days. Gritsai. VOIP insecurities workshopPositive Hack Days. Gritsai. VOIP insecurities workshop
Positive Hack Days. Gritsai. VOIP insecurities workshop
 
Indroduction to SIP
Indroduction to SIPIndroduction to SIP
Indroduction to SIP
 
Asterisk Voip
Asterisk VoipAsterisk Voip
Asterisk Voip
 
cs522_presentation.ppt
cs522_presentation.pptcs522_presentation.ppt
cs522_presentation.ppt
 
VoIP on LTE -packet Filter
VoIP on LTE -packet FilterVoIP on LTE -packet Filter
VoIP on LTE -packet Filter
 
IP and VoIP Fundamentals
IP and VoIP FundamentalsIP and VoIP Fundamentals
IP and VoIP Fundamentals
 
Fact sheet sip v1
Fact sheet   sip v1Fact sheet   sip v1
Fact sheet sip v1
 
Short Introduction to IPv6
Short Introduction to IPv6Short Introduction to IPv6
Short Introduction to IPv6
 
Ch02 TCP/IP Concepts Review
Ch02 TCP/IP Concepts ReviewCh02 TCP/IP Concepts Review
Ch02 TCP/IP Concepts Review
 
TCP/IP basics
TCP/IP basicsTCP/IP basics
TCP/IP basics
 
16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)
 
My speech at AstriCon 2007
My speech at AstriCon 2007My speech at AstriCon 2007
My speech at AstriCon 2007
 
Your app lives on the network - networking for web developers
Your app lives on the network - networking for web developersYour app lives on the network - networking for web developers
Your app lives on the network - networking for web developers
 
Presentation
PresentationPresentation
Presentation
 
CCNA_200-301_June_2023-v1.2.pdf
CCNA_200-301_June_2023-v1.2.pdfCCNA_200-301_June_2023-v1.2.pdf
CCNA_200-301_June_2023-v1.2.pdf
 
IPAddressing .pptx
IPAddressing .pptxIPAddressing .pptx
IPAddressing .pptx
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling Servers
 
12 tcp-dns
12 tcp-dns12 tcp-dns
12 tcp-dns
 

Recently uploaded

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Introduction to VoIP using SIP

  • 1. Introduction to Internet telephony (VoIP) Kundan Singh Columbia University
  • 2.
  • 3.
  • 4. Sampling, Quantization, Encoding 10101111…01101101 Sample at twice the highest voice frequency 2 x 4000=8000 Hz (interval of 125 µ sec) Round off samples to one of 256 levels (introduces noise) Encode each quantized sample into 8 bit code word PCM: 8000 x 8 bits = 64 kb/s Other techniques (differential coding, linear prediction) 2.4 kb/s to 64 kb/s +127 +0 -127
  • 5.
  • 6. Receive buffer (playout buffer or circular buffer) playout buffer while (true) { buf = read (au,20ms); //blocks if (!silence) sendto (remote, buf); … buf = get (20 ms); write (au, buf); } while (true) { buf = recvfrom(...); // blocks put(buf); } 20 ms packet microphone sendto(remote IP:port) read speaker 20 ms packet write get Received packet recvfrom() put
  • 7.
  • 8.
  • 9. Real-time Transport Protocol (RTP) Encoded Audio RTP Header UDP header IP header msg sendto(…, msg, …) recvfrom(…, msg, …) Sequence number Optional contributors’ list (CSrc) Source identifier (SSrc) Timestamp (proportional to sampling time) Payload type CC M V P X RTP: media transport RTCP: QoS feedback 8 bits 8 bits 16 bits
  • 10. RTP-based conference 224.1.2.3:8000 ssrc=5263 ssrc=7182 ssrc=2639 ssrc=9844 Session identified using receive IP address + port
  • 11. RTP-based conference   Mixer Transcoder  -law  -law G.729 G.729  -law  -law Mixer mixes multiple streams, and puts rtp.ssrc s of contributors in the mixed packet as rtp.csrc Transcoder converts one encoding to another. Typically to accommodate heterogeneous bandwidth links.
  • 12.
  • 13.
  • 14. SIP message format INVITE sip:alice@home.com SIP/2.0 From: “Bob” <bob@office.com> To: “Alice” <alice@home.com> Subject : How are you? ... SIP/2.0 200 OK From: “Bob” <bob@office.com> To: “Alice” <alice@home.com> Subject: How are you? ... Request Response
  • 15. Session Description Protocol (SDP) Alice Bob INVITE alice@home.com I can support  -law and G.729 Send me audio at 202.16.49.27:6780 OK; I can support  -law Send me audio at 128.59.19.194:8000 202.16.49.27 128.59.19.194 ACK To port 8000 RTP To port 6780 RTP
  • 16. SDP message format and offer answer INVITE sip:alice@home.com SIP/2.0 ... v=0 o=bob 26172 27162 IN IP4 202.16.49.27 s=SIP call c=IN IP4 202.16.49.27 t=0 0 m= audio 6780 RTP/AVP 0 8 5 m= video 6790 RTP/AVP 31 Request Response SIP/2.0 200 OK ... c=IN IP4 128.59.19.194 t=0 0 m= audio 8000 RTP/AVP 0 8 m= video 0 RTP/AVP 31
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Example call setup (3) invite (4) moved (5) @school.edu Bob @home.com (6) (6) (6) unavailable (7) Alice (8) (11) cancel (12) ok (1) invite (2) moved @yahoo.com @residence.net @visiting.com @lab.school.edu (9) ok (10) (13)
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Where do the services reside? Make call when boss is online … Enter your authentication PIN for billing… B2BUA Double ringing sound when boss calls… Endpoint Forward to office phone during day, and home phone during evening… Proxy/registrar Endpoint Service control on client vs server Use finger for locating user…
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. VoiceXML contd. <form action=“url”> Enter your Id: < input name=‘id’> <input type=‘submit’> </form> <form> < field name=‘id’> <prompt> Your ID, please. </prompt> </field> <block> <submit next=“url”/> </block> </form> Telephony, speech synthesis or audio output, user input and grammar, program flow, variable and properties, error handling, …
  • 38. DTMF Telephone SIP/PSTN gateway PSTN Internet Internet user D D Audio SIP INFO RTP/ RFC2833
  • 39.
  • 40.
  • 41.
  • 42.

Editor's Notes

  1. Internet telephony or Voice over IP involves transport of telephone calls over the Internet. Most of the interest in Internet telephony is motivated by cost savings and ease of integrating new services. In a way, Internet telephony is closer to the Internet services such as email and web, than to traditional telephony. It employs a variety of protocols, including RTP (Real-time Transport Protocol) for transport of multimedia data and SIP (Session Initiation Protocol) for signaling, i.e., establishing and controlling sessions. SIP is designed to integrate with other Internet services such as email, web, voice mail, instant messaging, presence, multi-party conferencing and multimedia collaboration. In this presentation, I give a brief tutorial of Internet telephony services using SIP.