1 / 57

The Voice Over Internet Protocol (VOIP)

Presented by: Christopher Thorpe Course: TCP/IP and Upper Layer Protocols Instructor: Professor Amer May 10 th 2011. The Voice Over Internet Protocol (VOIP). Slides used from: Varsha Mahadevan , Kevin Jeffay , Behrouz Forouzan. VOIP Standards .

limei
Download Presentation

The Voice Over Internet Protocol (VOIP)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Presented by: Christopher Thorpe Course: TCP/IP and Upper Layer Protocols Instructor: Professor Amer May 10th 2011 The Voice Over Internet Protocol (VOIP) Slides used from: VarshaMahadevan, Kevin Jeffay, BehrouzForouzan

  2. VOIP Standards • International Telecommunications Union (ITU) • H.323 – Visual Telephone Systems and Equipment for Local Area Networks which Provide a Non-Guaranteed Quality of Service • Internet Engineering Task Force (IETF) • Session Initiation Protocol (SIP) • Media Gateway Control (Megaco) • Signal Transport (SigTran)

  3. Reasons for VOIP’s growth • Demand for multimedia communication. • Demand for integration of voice and data networks. • Demand for greater flexibility. • Cost reduction in long distance telephone calls.

  4. VOIP Components • Media Encoding • G.711, Pulse Coded Modulation, Excellent quality, Delay << 1ms • G.723.1, Algebraic Codebook Excited Linear Prediction, Good quality, Delay 67-97ms • G.729, Conjugate Structure-ACELP, Good quality, Delay 25-35ms • Gateway Control • ITU H.GCP • IETF MGCP, MEGACO, IPDC • Media Transport • Real Time Protocol (RTP) • Real Time Control Protocol (RTCP) • Signaling • H.323 – ITU recommendation for telephone on local area networks • Session Initiation Protocols (SIP) • Session Description Protocol (SDP)

  5. VOIP using H.323 Audio Services – Encoding and Compression Audio Services – Control and Signaling Application layer H.225 H.323 RTSP RTCP RAS Q.931 H.245 RTP Transport layer TCP UDP UDP Network layer IP Link layer Underlying LAN or WAN Technology Physical layer

  6. VOIP using SIP Audio Services – Encoding, Compression Audio Services – Control and Signaling Application layer RTP RTCP RTP RTSP SIP Transport layer UDP/TCP UDP UDP Network layer IP Link layer Underlying LAN or WAN Technology Physical layer

  7. Session Initiation Protocol (SIP) • Major Features • User location – Determines the end system to used for communications. • User availability – Determines called party’s willingness to engage in communications. • Feature negotiation – Matches device capabilities. • Call setup – Establishment of call parameters. • Call handling – Transfer and termination of call.

  8. VOIP using SIP • Before you make a call… Bell-tell REGISTER sip:bell-tel.com SIP/2.0 Via: SIP/2.0/UDP saturn.bell-tel.com From: sip:watson@bell-tel.com To:sip:watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com Cseq:1 REGISTER Contact: sip:watson@saturn.bell-tel.com:3890;transport=udp Expires: 7200 sip.mcast.net, 224.0.1.75 saturn X-tel y-tel

  9. VOIP using SIP • Before you make a call… 401 Unauthorized Authentication challenge nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093" Bell-tell saturn X-tel Y-tel

  10. VOIP using SIP • Before you make a call… Registration Authentication response response="6629fae49393a05397450978507c4ef1" Bell-tell saturn X-tel Y-tel

  11. VOIP using SIP • Before you make a call… Bell-tell 200 - OK saturn X-tel Y-tel

  12. VOIP using SIP • Before you make a call… Bell-tell Watson’s information saturn X-tel Y-tel

  13. SIP – Making a call INVITE: address, options Establishing OK: address ACK Communicating Exchanging Audio Terminating BYE

  14. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B 1 INVITE sip:UserB@ss1.wcom SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Call-ID: 12345600@here.com Cseq: 1 INVITE Contact: BigGuysip:UserA@here.com Content-Type: application/sdp Content-Length: 147 V = 0 O = UserA 2890844526 2890844526 IN IP4 here.com S = Session SDP C = IN IP4 100.101.102.103 T = 0 0 M = audio 49170 RTP/AVP 0 A = rtpmap: 0 PCMU/8000

  15. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 407 Proxy Authorization Required Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Call-ID: 12345600@here.com Cseq: 1 INVITE Proxy-Authenticate: Digest realm=“MCI WorldCom SIP” Domain=“wcom.com”, nonce=“wf84f1ceczx41ae6cbe5aea9c8e88d359” Opaque=“”, stale = “FALSE”, algorithm=“MD5” Content-Length: 0 2

  16. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B ACK sip:UserB@ss1.wcom SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Call-ID: 12345600@here.com Cseq: 1 INVITE Content-Length: 0 3

  17. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B INVITE sip:UserB@ss1.wcom SIP/2.0 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Cseq: 1 INVITE Authorization:Digestusername=“UserA”, Nonce = “wf84f1ceczx41ae6cbe5aea9c8e88d359” Uri=sip:ss1.wcom.com, Response=“42ce3cef44b22f50c6a6071bc8” Content-Type: application/sdp Content-Length: 147 4

  18. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B 5 INVITE sip:UserB@ss2.wcom SIP/2.0 Via: SIP/2.0/UDP ss1.wcom:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: sip:UserB@ss1.wcom.com From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com

  19. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B 6 SIP/2.0 100 Trying Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Call-ID: 12345600@here.com Cseq: 1 INVITE Content-Length: 0

  20. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B INVITE sip:UserB@ss2.wcom SIP/2.0 Via: SIP/2.0/UDP ss2.wcom:5060 Via: SIP/2.0/UDP ss1.wcom:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: sip:UserB@ss2.wcom.com , sip:UserB@ss1.wcom.com From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com 7

  21. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 100 Trying Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Call-ID: 12345600@here.com Cseq: 1 INVITE Content-Length: 0 8

  22. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com ; tag = 314159 Call-ID: 12345600@here.com Cseq: 1 INVITE Content-Length: 0 9

  23. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 180 Ringing Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com ; tag = 314159 Call-ID: 12345600@here.com Cseq: 1 INVITE Content-Length: 0 10

  24. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 180 Ringing Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com ; tag = 314159 Call-ID: 12345600@here.com Cseq: 1 INVITE Content-Length: 0 11

  25. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.wcom:5060 Via: SIP/2.0/UDP ss1.wcom:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: sip:UserB@ss2.wcom.com , sip:UserB@ss1.wcom.com From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Call-ID: 12345600@here.com Cseq: 1 INVITE Contact: BigGuysip:UserA@here.com Content-Type: application/sdp Content-Length: 134 12

  26. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom:5060 Via: SIP/2.0/UDP here.com:5060 Record-Route: sip:UserB@ss2.wcom.com , sip:UserB@ss1.wcom.com From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Call-ID: 12345600@here.com Cseq: 1 INVITE Contact: BigGuysip:UserA@here.com Content-Type: application/sdp Content-Length: 134 13

  27. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 Record-Route: sip:UserB@ss2.wcom.com , sip:UserB@ss1.wcom.com From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@here.com Call-ID: 12345600@here.com Cseq: 1 INVITE Contact: BigGuysip:UserA@here.com Content-Type: application/sdp Content-Length: 134 14

  28. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B ACK sip:UserB@ss1.wcom.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 Route: sip:UserB@ss2.wcom.com , sip:UserB@there.com From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@there.com ; tag = 314159 Call-ID: 12345601@here.com Cseq: 1 ACK Content-Length: 0 15

  29. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B ACK sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 Route: sip:UserB@there.com , From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@there.com ; tag = 314159 Call-ID: 12345601@here.com Cseq: 1 ACK Content-Length: 0 16

  30. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B ACK sip:UserB@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP here.com:5060 From: BigGuysip:UserA@here.com To: LittleGuysip:UserB@there.com ; tag = 314159 Call-ID: 12345601@here.com Cseq: 1 ACK 17

  31. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B Two-way Media Flow

  32. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B BYE sip : UserA@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: sip:UserA@ss1.wcom.com , sip:UserA@here.com From: LittleGuysip:UserB@there.com ; tag = 314159 To: BigGuysip:UserA@here.com Call-ID: 12345601@here.com Cseq: 1 BYE Content-Length: 0 18

  33. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B BYE sip : UserA@ss2.wcom.com SIP/2.0 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 Route: sip:UserA@ss1.wcom.com , sip:UserA@here.com From: LittleGuysip:UserB@there.com ; tag = 314159 To: BigGuysip:UserA@here.com Call-ID: 12345601@here.com Cseq: 1 BYE Content-Length: 0 19

  34. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B BYE sip : UserA@here.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuysip:UserB@there.com ; tag = 314159 To: BigGuysip:UserA@here.com Call-ID: 12345601@here.com Cseq: 1 BYE Content-Length: 0 20

  35. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 200 OK Via: SIP/2.0/UDP ss1.wcom.com:5060 Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuysip:UserB@there.com ; tag = 314159 To: BigGuysip:UserA@here.com Call-ID: 12345601@here.com Cseq: 1 BYE Content-Length: 0 21

  36. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 200 OK Via: SIP/2.0/UDP ss2.wcom.com:5060 Via: SIP/2.0/UDP there.com:5060 From: LittleGuysip:UserB@there.com ; tag = 314159 To: BigGuysip:UserA@here.com Call-ID: 12345601@here.com Cseq: 1 BYE Content-Length: 0 22

  37. SIP Connection Through Two Proxy Servers User A Proxy 1 Proxy 2 User B SIP/2.0 200 OK Via: SIP/2.0/UDP there.com:5060 From: LittleGuysip:UserB@there.com ; tag = 314159 To: BigGuysip:UserA@here.com Call-ID: 12345601@here.com Cseq: 1 BYE Content-Length: 0 23

  38. H.323 Architecture

  39. Figure 25.27H.323 example TCP/IP Protocol Suite

  40. VOIP using H.323 • Before you make a call…. Gateway discovery Gatekeeper Request requestSeqNum protocolIdentifier nonStadardData rasAddress endpointType gatekeeperIdentifier callServices endpointAlias GRQ GRQ GRQ

  41. VOIP using H.323 • Before you make a call…. Gateway discovery Gatekeeper Confirm requestSeqNum protocolIdentifier nonStadardData gatekeeperIdentifier rasAddress RCF RRJ Gatekeeper Reject requestSeqNum protocolIdentifier nonStadardData gatekeeperIdentifier RejectReason RRJ

  42. VOIP using H.323 • Before you make a call…. Gateway registration Registration Request requestSeqNum protocolIdentifier nonStadardData discovery complete CallSignalAddress rasAddress terminalType terminalAlias terminalIdentifier endpointVendor RRQ

  43. VOIP using H.323 • Before you make a call…. Gateway registration Registration Confirm requestSeqNum protocolIdentifier nonStadardData CallSignalAddress terminalAlias gatekeeperIdentifier endpointVendor RCF

  44. VOIP using H.323 • When you make a call…. ARQ ACF Setup Call Proceeding ARQ ACF Alerting Connect

  45. H.232 VS SIP H.323 vs SIP

  46. Real Time Protocol (RTP) Contr. count Ver P X M Payload type Sequence number Timestamp Synchronization source identifier Contributor identifier Contributor identifier

  47. Real Time Control Protocol (RTCP) • Five types of PDUs. • Sender Report – 200 • Contains transmission and reception statistics for all RTP packets sent during an interval. • Receiver Report – 201 • Informs senders and other recipients about QoS. • Source destination Message – 202 • Contains additional information about source. Eg email, telephone number or address of owner. • Bye Message – 203 • Announces to all receivers that the source is leaving the session. • Application-Specific Message – 204 • Allows the specification of new message type

  48. RTCP PDUs

  49. VOIP Challenges - Jitter

  50. VOIP Challenges - Jitter

More Related