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

MPLS Concepts and Fundamentals
MPLS Concepts and FundamentalsMPLS Concepts and Fundamentals
MPLS Concepts and FundamentalsShawn Zandi
 
IMS Registration Flow
IMS Registration FlowIMS Registration Flow
IMS Registration FlowKent Loh
 
SIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolSIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolLivePerson
 
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017Bruno Teixeira
 
ims registration call flow procedure volte sip
ims registration call flow procedure volte sipims registration call flow procedure volte sip
ims registration call flow procedure volte sipVikas Shokeen
 
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm
 
VoIP Wars: Attack of the Cisco Phones
VoIP Wars: Attack of the Cisco PhonesVoIP Wars: Attack of the Cisco Phones
VoIP Wars: Attack of the Cisco PhonesFatih Ozavci
 
BGP (border gateway routing protocol)
BGP (border gateway routing protocol)BGP (border gateway routing protocol)
BGP (border gateway routing protocol)Netwax Lab
 
Basic ASA Configuration, NAT in ASA Firewall
Basic ASA Configuration,NAT in ASA FirewallBasic ASA Configuration,NAT in ASA Firewall
Basic ASA Configuration, NAT in ASA Firewall NetProtocol Xpert
 
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersCisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersBruno Teixeira
 
Voice Over Internet Protocol (VOIP)
Voice Over Internet Protocol (VOIP)Voice Over Internet Protocol (VOIP)
Voice Over Internet Protocol (VOIP)Aakura Pyakura
 
Session initiation protocol SIP
Session initiation protocol SIPSession initiation protocol SIP
Session initiation protocol SIPLaraib Khan
 
VoLTE Flows and CS network
VoLTE Flows and CS networkVoLTE Flows and CS network
VoLTE Flows and CS networkKarel Berkovec
 
Simplified Call Flow Signaling: Registration - The Attach Procedure
Simplified Call Flow Signaling: Registration - The Attach ProcedureSimplified Call Flow Signaling: Registration - The Attach Procedure
Simplified Call Flow Signaling: Registration - The Attach Procedure3G4G
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksAPNIC
 
Access Network Evolution
Access Network Evolution Access Network Evolution
Access Network Evolution Cisco Canada
 

What's hot (20)

MPLS Concepts and Fundamentals
MPLS Concepts and FundamentalsMPLS Concepts and Fundamentals
MPLS Concepts and Fundamentals
 
VoIP
VoIPVoIP
VoIP
 
IMS Registration Flow
IMS Registration FlowIMS Registration Flow
IMS Registration Flow
 
SIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolSIP - Introduction to SIP Protocol
SIP - Introduction to SIP Protocol
 
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
 
ims registration call flow procedure volte sip
ims registration call flow procedure volte sipims registration call flow procedure volte sip
ims registration call flow procedure volte sip
 
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
 
VoIP Wars: Attack of the Cisco Phones
VoIP Wars: Attack of the Cisco PhonesVoIP Wars: Attack of the Cisco Phones
VoIP Wars: Attack of the Cisco Phones
 
BGP (border gateway routing protocol)
BGP (border gateway routing protocol)BGP (border gateway routing protocol)
BGP (border gateway routing protocol)
 
Basic ASA Configuration, NAT in ASA Firewall
Basic ASA Configuration,NAT in ASA FirewallBasic ASA Configuration,NAT in ASA Firewall
Basic ASA Configuration, NAT in ASA Firewall
 
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersCisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
 
Voice Over Internet Protocol (VOIP)
Voice Over Internet Protocol (VOIP)Voice Over Internet Protocol (VOIP)
Voice Over Internet Protocol (VOIP)
 
Ether channel fundamentals
Ether channel fundamentalsEther channel fundamentals
Ether channel fundamentals
 
Session initiation protocol SIP
Session initiation protocol SIPSession initiation protocol SIP
Session initiation protocol SIP
 
VoLTE Flows and CS network
VoLTE Flows and CS networkVoLTE Flows and CS network
VoLTE Flows and CS network
 
Simplified Call Flow Signaling: Registration - The Attach Procedure
Simplified Call Flow Signaling: Registration - The Attach ProcedureSimplified Call Flow Signaling: Registration - The Attach Procedure
Simplified Call Flow Signaling: Registration - The Attach Procedure
 
LTE: X2 interface
LTE: X2 interfaceLTE: X2 interface
LTE: X2 interface
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building Blocks
 
Access Network Evolution
Access Network Evolution Access Network Evolution
Access Network Evolution
 
SIP for geeks
SIP for geeksSIP for geeks
SIP for geeks
 

Viewers also liked

Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...ALTANAI BISHT
 
Introduction to VoIP, RTP and SIP
Introduction to VoIP, RTP and SIP Introduction to VoIP, RTP and SIP
Introduction to VoIP, RTP and SIP ThousandEyes
 
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
 

Viewers also liked (20)

Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
Sip Detailed , Call flows , Architecture descriptions , SIP services , sip se...
 
Introduction to VoIP, RTP and SIP
Introduction to VoIP, RTP and SIP Introduction to VoIP, RTP and SIP
Introduction to VoIP, RTP and SIP
 
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
 

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
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation ProtocolMatt Bynum
 
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 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)
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation Protocol
 
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

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

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.