Presentation is loading. Please wait.

Presentation is loading. Please wait.

K. Salah1 VoIP or IP Telephony. K. Salah2 Introduction Importance of VoIP Importance of VoIP  Unification of data and voice networks  It is easier to.

Similar presentations


Presentation on theme: "K. Salah1 VoIP or IP Telephony. K. Salah2 Introduction Importance of VoIP Importance of VoIP  Unification of data and voice networks  It is easier to."— Presentation transcript:

1 K. Salah1 VoIP or IP Telephony

2 K. Salah2 Introduction Importance of VoIP Importance of VoIP  Unification of data and voice networks  It is easier to run, manage, and maintain. Existing IP networks are best effort and VoIP requires QoS Existing IP networks are best effort and VoIP requires QoS  M2E delay < 150ms  Packet loss < 5 %

3 K. Salah3 VoIP Architecture and Protocols Uses one of the two multimedia protocols Uses one of the two multimedia protocols  SIP (Session Initiation Protocol) by IETF  H.323 by ITU

4 K. Salah4 VoIP Camps ISDN LAN conferencing IP H.323 I-multimedia WWW IP SIP Call Agent SIP & H.323 IP “Softswitch” Conferencing Industry Netheads “IP over Everything” NGN

5 K. Salah5 VoIP Components Encoder periodically samples the original voice signal and assigns a fixed number of bits to each sample, creating a constant bit rate stream. The traditional sample-based encoder G.711 uses Pulse Code Modulation (PCM) to generate 8-bit samples every 0.125 ms, leading to a data rate of 64 kbps Encoder periodically samples the original voice signal and assigns a fixed number of bits to each sample, creating a constant bit rate stream. The traditional sample-based encoder G.711 uses Pulse Code Modulation (PCM) to generate 8-bit samples every 0.125 ms, leading to a data rate of 64 kbps Packetizer encapsulates a certain number of speech samples into packets and adds the RTP, UDP, IP, and Ethernet headers. Packetizer encapsulates a certain number of speech samples into packets and adds the RTP, UDP, IP, and Ethernet headers. Playback Buffer absorbs variations or jitter in delay and provide a smooth playout. Playback Buffer absorbs variations or jitter in delay and provide a smooth playout. Depacketizer strips headers Depacketizer strips headers Decoder reconstructs the original voice signal. Decoder reconstructs the original voice signal.

6 K. Salah6 Internet Multimedia Protocol Stack

7 K. Salah7 RTP Real-Time transport Protocol is designed to handle real-time traffic on the Internet. Real-Time transport Protocol is designed to handle real-time traffic on the Internet. RTP stands between UDP and application program. RTP stands between UDP and application program. RTP supports timestamping, sequencing and mixing facilities. RTP supports timestamping, sequencing and mixing facilities. Transport layer protocol but encapsulated in a UDP user datagram. Transport layer protocol but encapsulated in a UDP user datagram. No well-known port. Port can be selected on demand with only one restriction [even number must be selected]. No well-known port. Port can be selected on demand with only one restriction [even number must be selected].

8 K. Salah8 IP Telephony Protocols: SIP, RTP Session Initiation Protocol - SIP Session Initiation Protocol - SIP  Contact “office.com” asking for “bob”  Locate Bob’s current phone and ring  Bob picks up the ringing phone Real time Transport Protocol - RTP Real time Transport Protocol - RTP  Send and receive audio packets

9 K. Salah9 Internet Telephony Protocols: H.323

10 K. Salah10 H.323 (contd) Terminals, Gateways, Gatekeepers, and Multipoint Control Units (MCUs) Terminals, Gateways, Gatekeepers, and Multipoint Control Units (MCUs)

11 K. Salah11 H.323 vs SIP IP and lower layers TCP UDP TPKT Q.931 H.245 RAS RTCP RTP Codecs Terminal Control/Devices Transport Layer SIPSDP RTP Codecs RTCP Terminal Control/Devices Typical UserAgent Protocol stack for Internet

12 K. Salah12 SIP vs H.323 Text based request response Text based request response SDP (media types and media transport address) SDP (media types and media transport address) Server roles: registrar, proxy, redirect Server roles: registrar, proxy, redirect Binary ASN.1 PER encoding Binary ASN.1 PER encoding Sub-protocols: H.245, H.225 (Q.931, RAS, RTP/RTCP), H.450.x... Sub-protocols: H.245, H.225 (Q.931, RAS, RTP/RTCP), H.450.x... H.323 Gatekeeper H.323 Gatekeeper - Both use RTP/RTCP over UDP/IP - H.323 perceived as “heavyweight”

13 K. Salah13 Light-weight signaling: Session Initiation Protocol (SIP) IETF MMUSIC working group IETF MMUSIC working group Light-weight generic signaling protocol Light-weight generic signaling protocol Part of IETF conference control architecture: Part of IETF conference control architecture:  SAP (Session Announcement Protocol) for multicast announcements  RTSP (Real-time Streaming Protocol) for media-on-demand  SDP for describing media  others: multicast, conference bus,... Network-protocol independent: UDP or TCP (or AAL5 or X.25) Network-protocol independent: UDP or TCP (or AAL5 or X.25) A great tutorial on VoIP, SIP, SDP at: A great tutorial on VoIP, SIP, SDP at:  http://www.geocities.com/intro_to_multimedia/tutorial_list.html

14 K. Salah14 SDP: Session Description Protocol Not really a protocol – describes multimedia data carried by other protocols Not really a protocol – describes multimedia data carried by other protocols  Eg: v=0 o=g.bell 877283459 877283519 IN IP4 132.151.1.19 s=Come here, Watson! u=http://www.ietf.org e=g.bell@bell-telephone.com c=IN IP4 132.151.1.19 b=CT:64 t=3086272736 0 k=clear:manhole cover m=audio 3456 RTP/AVP 96 a=rtpmap:96 VDVI/8000/1 m=video 3458 RTP/AVP 31 m=application 32416 udp wb

15 K. Salah15 SDP format

16 K. Salah16 SDP parameter description - 1

17 K. Salah17 SDP parameter description - 2

18 K. Salah18 SIP functionality IETF-standardized peer-to-peer signaling protocol (RFC 2543): IETF-standardized peer-to-peer signaling protocol (RFC 2543): Locate user given email-style address Locate user given email-style address You can reach the callee, no matter where the callee roams, no matter what IP device the callee is currently using. You can reach the callee, no matter where the callee roams, no matter what IP device the callee is currently using. Setup session (call) Setup session (call) (Re)-negotiate call parameters (Re)-negotiate call parameters Manual and automatic forwarding Manual and automatic forwarding Personal mobility: different terminal, same identifier Personal mobility: different terminal, same identifier Call center: reach first (load distribution) or reach all (department conference) Call center: reach first (load distribution) or reach all (department conference) Terminate and transfer calls Terminate and transfer calls

19 K. Salah19 SIP Services Setting up a call Setting up a call  Provides mechanisms for caller to let callee know she wants to establish a call  Provides mechanisms so that caller and callee can agree on media type and encoding.  Provides mechanisms to end call. Determine current IP address of callee. Determine current IP address of callee.  Maps mnemonic identifier to current IP address Call management Call management  Add new media streams during call  Change encoding during call  Invite others  Transfer and hold calls

20 K. Salah20 SIP Addresses Food Chain

21 K. Salah21 SIP components UAC: user-agent client (caller application) UAC: user-agent client (caller application) UAS: user-agent server may accept, redirect, refuse call UAS: user-agent server may accept, redirect, refuse call redirect server: redirect requests redirect server: redirect requests proxy server: server + client proxy server: server + client registrar: track user locations registrar: track user locations user agent = UAC + UAS user agent = UAC + UAS often combine registrar + (proxy or redirect server) often combine registrar + (proxy or redirect server)

22 K. Salah22 Are true Internet hosts Choice of application Choice of server IP appliances Implementations 3Com (3) Columbia University MIC WorldCom (1) Mediatrix (1) Nortel (4) Siemens (5) 4 IP SIP Phones and Adaptors 1 3 Analog phone adaptor Palm control 2 54

23 K. Salah23 Setting up a call to a known IP address Alice’s SIP invite message indicates her port number & IP address. Indicates encoding that Alice prefers to receive (PCM ulaw) Bob’s 200 OK message indicates his port number, IP address & preferred encoding (GSM) SIP messages can be sent over TCP or UDP; here sent over RTP/UDP. Default SIP port number is 5060.

24 K. Salah24 Setting up a call (more) Codec negotiation: Codec negotiation:  Suppose Bob doesn’t have PCM ulaw encoder.  Bob will instead reply with 606 Not Acceptable Reply and list encoders he can use.  Alice can then send a new INVITE message, advertising an appropriate encoder. Rejecting the call Rejecting the call  Bob can reject with replies “busy,” “gone,” “payment required,” “forbidden”. Media can be sent over RTP or some other protocol. Media can be sent over RTP or some other protocol.

25 K. Salah25 Example of SIP message INVITE sip:bob@domain.com SIP/2.0 Via: SIP/2.0/UDP 167.180.112.24 From: sip:alice@hereway.com To: sip:bob@domain.com Call-ID: a2e3a@pigeon.hereway.com Content-Type: application/sdp Content-Length: 885 c=IN IP4 167.180.112.24 m=audio 38060 RTP/AVP 0 Notes: HTTP message syntax HTTP message syntax sdp = session description protocol sdp = session description protocol Call-ID is unique for every call. Call-ID is unique for every call. Here we don’t know Bob’s IP address. Intermediate SIP servers will be necessary. Alice sends and receives SIP messages using the SIP default port number 506. Alice specifies in Via: header that SIP client sends and receives SIP messages over UDP

26 K. Salah26 Name translation and user location Caller wants to call callee, but only has callee’s name or e-mail address. Caller wants to call callee, but only has callee’s name or e-mail address. Need to get IP address of callee’s current host: Need to get IP address of callee’s current host:  user moves around  DHCP protocol  user has different IP devices (PC, PDA, car device) Result can be based on: Result can be based on:  time of day (work, home)  caller (don’t want boss to call you at home)  status of callee (calls sent to voicemail when callee is already talking to someone) Service provided by SIP servers: SIP registrar server SIP registrar server SIP proxy server SIP proxy server

27 K. Salah27 SIP Registrar REGISTER sip:domain.com SIP/2.0 Via: SIP/2.0/UDP 193.64.210.89 From: sip:bob@domain.com To: sip:bob@domain.com Expires: 3600 When Bob starts SIP client, client sends SIP REGISTER message to Bob’s registrar server When Bob starts SIP client, client sends SIP REGISTER message to Bob’s registrar server (similar function needed by Instant Messaging) (similar function needed by Instant Messaging) Register Message:

28 K. Salah28 SIP Proxy Alice sends invite message to her proxy server Alice sends invite message to her proxy server  contains address sip:bob@domain.com Proxy responsible for routing SIP messages to callee Proxy responsible for routing SIP messages to callee  possibly through multiple proxies. Callee sends response back through the same set of proxies. Callee sends response back through the same set of proxies. Proxy returns SIP response message to Alice Proxy returns SIP response message to Alice  contains Bob’s IP address Note: proxy is analogous to local DNS server Note: proxy is analogous to local DNS server

29 K. Salah29Example Caller jim@umass.edu with places a call to keith@upenn.edu (1) Jim sends INVITE message to umass SIP proxy. (2) Proxy forwards request to upenn registrar server. (3) upenn server returns redirect response, indicating that it should try keith@eurecom.fr (4) umass proxy sends INVITE to eurecom registrar. (5) eurecom regristrar forwards INVITE to 197.87.54.21, which is running keith’s SIP client. (6-8) SIP response sent back (9) media sent directly between clients. Note: also a SIP ack message, which is not shown.

30 K. Salah30 SIP-based Architecture SIP proxy, redirect server SQL database sipd e*phone sipc Software SIP user agents Hardware Internet (SIP) phones SIPH.323 convertor NetMeeting sip323 H.323 rtspd SIP/RTSP Unified messaging RTSP media server sipum Quicktime RTSP clients RTSP SIP conference server sipconf T1/E1 RTP/SIP Telephone Cisco 2600 gateway Telephone switch Web based configuration Web server

31 K. Salah31 SIP proxy, redirect server SQL database sipd e*phone sipc Software SIP user agents Hardware Internet (SIP) phones Web based configuration Web server Call Bob Example Call Bob signs up for the service from the web as “bob@ecse.rpi.edu” He registers from multiple phones Alice tries to reach Bob INVITE ip:Bob.Wilson@ ecse.rpi.edu sipd canonicalizes the destination to sip:bob@ecse.rpi.edu sipd rings both e*phone and sipc Bob accepts the call from sipc and starts talking ecse.rpi.edu

32 K. Salah32 PSTN to IP Call PBX PSTN External T1/CAS Regular phone (internal) Call 9397134 1 SIP server sipd Ethernet 3 SQL database 4 7134 => bob sipc 5 Bob’s phone Gateway Internal T1/CAS (Ext:7130-7139) Call 7134 2

33 K. Salah33 IP to PSTN Call Gateway (10.0.2.3) 3 SQL database 2 Use sip:85551212@10.0.2.3 Ethernet SIP server sipd sipc 1 Bob calls 5551212 PSTN External T1/CAS Call 5551212 5 5551212 PBX Internal T1/CAS Call 85551212 4 Regular phone (internal, 7054)

34 K. Salah34 Deployment VoIP in IP networks Related Issues Related Issues  What are the QoS requirements for VoIP?  How will the new VoIP load impact the QoS of currently running network services and applications?  Will my existing network support VoIP and satisfy the standardized QoS requirements?  If so, how many VoIP calls can the network support before upgrading prematurely any part of the existing network hardware?

35 K. Salah35 Existing Tools Ample of commercial tools Ample of commercial tools NetIQ Brix Networks Agilent Cisco Avaya Siemens Uses two common approaches for assessing the deployment of VoIP Uses two common approaches for assessing the deployment of VoIP  Take network measurements and then predict the readiness based on the health of network  Inject real VoIP traffic and measure QoS

36 K. Salah36 A typical network topology

37 K. Salah37 Practical steps Determine VoIP characteristics and requirements Determine VoIP characteristics and requirements Determine VoIP traffic flow and call distribution Determine VoIP traffic flow and call distribution Define performance thresholds and growth capacity Define performance thresholds and growth capacity Perform network measurements Perform network measurements Early modifications to existing network Early modifications to existing network Theoretical Analysis Theoretical Analysis OPNET Simulation OPNET Simulation Final modifications to existing network Final modifications to existing network

38 K. Salah38 VoIP Traffic Characteristics and Requirements Bandwidth for a single call Bandwidth for a single call  The required bandwidth for a single call, one direction, is 64 kbps.  G.711 codec samples 20ms of voice per packet. Therefore, 50 such packets need to be transmitted per second. Each packet contains 160 voice samples in order to give 8000 samples per second.  Each packet is sent in one Ethernet frame. With every packet of size 160 bytes, headers of additional protocol layers are added. These headers include RTP + UDP + IP + Ethernet with preamble of sizes 12 + 8 + 20 + 26, respectively.  Therefore, a total of 226 bytes, or 1808 bits, needs to be transmitted 50 times per second, or 90.4 kbps, in one direction.  For both directions, the required bandwidth for a single call is 100 pps or 180.8 kbps assuming a symmetric flow.

39 K. Salah39 VoIP Traffic Characteristics and Requirements Gatekeeper Gatekeeper Gateway Gateway IP phones IP phones M2E delay for a single call M2E delay for a single call  150ms according to G.714  Sender: 50 ms  Receiver: 45 ms  Network: 80 ms

40 K. Salah40 Define Performance Thresholds and Growth Capacity Network delay Network delay  VoIP applications  Or other sensitive Packet Loss Packet Loss Router and Switch Processing Router and Switch Processing Link Utilization Link Utilization

41 K. Salah41 Perform Network Measurements

42 K. Salah42 Upfront Network Assessment and Modifications

43 K. Salah43 The analytical approach Bandwidth bottleneck analysis Bandwidth bottleneck analysis Delay analysis Delay analysis

44 K. Salah44 BW bottleneck analysis

45 K. Salah45 Network Delay Analysis Poisson VoIP Traffic Poisson VoIP Traffic Using Jackson Theorem Using Jackson Theorem Links: M/D/1 Links: M/D/1 Router and Switches: M/M/1 Router and Switches: M/M/1

46 K. Salah46 Network Capacity Algorithm i.Add background traffic ii.Add one call based on distribution and flow iii.For each node calculate the new arrival rate – not all nodes are affected. iv.Compute packet network delay for all flows by summing up individual delays per node v.If network delay < 80 ms, go to ii, otherwise STOP.

47 K. Salah47 Analytical Tool Generic Generic GUI GUI Analytical engine Analytical engine  BW bottleneck analysis  Compute iteratively the network delay

48 K. Salah48 Validation Matlab code verifies results Matlab code verifies results OPNET simulation gives very close results. OPNET simulation gives very close results.


Download ppt "K. Salah1 VoIP or IP Telephony. K. Salah2 Introduction Importance of VoIP Importance of VoIP  Unification of data and voice networks  It is easier to."

Similar presentations


Ads by Google