K. Salah1 VoIP or IP Telephony. K. Salah2 Introduction Importance of VoIP Importance of VoIP ...

Post on 21-Jan-2016

217 views 0 download

Tags:

transcript

K. Salah 1

VoIP or IP TelephonyVoIP or IP Telephony

K. Salah 2

IntroductionIntroduction

Importance of VoIPImportance 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 QoSExisting IP networks are best effort and VoIP requires QoS M2E delay < 150ms Packet loss < 5 %

K. Salah 3

VoIP Architecture and ProtocolsVoIP Architecture and Protocols

Uses one of the two multimedia protocolsUses one of the two multimedia protocols SIP (Session Initiation Protocol) by IETF H.323 by ITU

K. Salah 4

VoIP CampsVoIP Camps

ISDN LAN conferencin

g

IP

H.323

I-multimediaWWW

IP

SIP

Call AgentSIP & H.323

IP

“Softswitch”

Conferencing Industry

Netheads“IP over

Everything”

NGN

K. Salah 5

VoIP ComponentsVoIP Components

EncoderEncoder periodically samples the original voice signal and assigns a periodically samples the original voice signal and assigns a fixed number of bits to each sample, creating a constant bit rate fixed number of bits to each sample, creating a constant bit rate stream. The traditional sample-based encoder G.711 uses Pulse stream. The traditional sample-based encoder G.711 uses Pulse Code Modulation (PCM) to generate 8-bit samples every 0.125 ms, Code Modulation (PCM) to generate 8-bit samples every 0.125 ms, leading to a data rate of 64 kbps leading to a data rate of 64 kbps

PacketizerPacketizer encapsulates a certain number of speech samples into encapsulates a certain number of speech samples into packets and adds the RTP, UDP, IP, and Ethernet headers. packets and adds the RTP, UDP, IP, and Ethernet headers.

Playback Buffer Playback Buffer absorbs variations or jitter in delay and provide a absorbs variations or jitter in delay and provide a smooth playout. smooth playout.

DepacketizerDepacketizer strips headers strips headers DecoderDecoder reconstructs the original voice signal. reconstructs the original voice signal.

Encoder Packetizer

Sender Receiver

NetworkPlayback

Buffer

Depacketizer Decoder

K. Salah 6

Internet Multimedia Protocol StackInternet Multimedia Protocol Stack

K. Salah 7

RTPRTP Real-Time transport Protocol is designed to handle real-time Real-Time transport Protocol is designed to handle real-time

traffic on the Internet.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 Transport layer protocol but encapsulated in a UDP user

datagram.datagram. No well-known port. Port can be selected on demand with only No well-known port. Port can be selected on demand with only

one restriction [even number must be selected].one restriction [even number must be selected].

K. Salah 8

IP Telephony Protocols: SIP, RTPIP Telephony Protocols: SIP, RTP

Session Initiation Protocol - SIPSession 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

K. Salah 9

Internet Telephony Protocols: Internet Telephony Protocols: H.323H.323

K. Salah 10

H.323 (contd)H.323 (contd)Terminals, Gateways, Gatekeepers, and Terminals, Gateways, Gatekeepers, and

Multipoint Control Units (MCUs)Multipoint Control Units (MCUs)

K. Salah 11

H.323 vs SIPH.323 vs SIP

IP and lower layers

TCP UDPTPKT

Q.931 H.245 RAS RTCPRTP

Codecs

Terminal Control/Devices

Transport Layer

SIP SDPRTP

CodecsRTCP

Terminal Control/Devices

Typical UserAgent Protocol stack for Internet

K. Salah 12

SIP vs H.323SIP vs H.323

Text based request Text based request responseresponse

SDP (media types and SDP (media types and media transport media transport address)address)

Server roles: registrar, Server roles: registrar, proxy, redirectproxy, redirect

Binary ASN.1 PER Binary ASN.1 PER encodingencoding

Sub-protocols: Sub-protocols: H.245, H.225 (Q.931, H.245, H.225 (Q.931, RAS, RTP/RTCP), RAS, RTP/RTCP), H.450.x...H.450.x...

H.323 GatekeeperH.323 Gatekeeper

- Both use RTP/RTCP over UDP/IP- H.323 perceived as “heavyweight”

K. Salah 13

Light-weight signaling: Session InitiationLight-weight signaling: Session InitiationProtocol (SIP)Protocol (SIP) IETF MMUSIC working groupIETF MMUSIC working group Light-weight generic signaling protocolLight-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 Network-protocol independent: UDP or TCP (or AAL5 or X.25)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

K. Salah 14

SDP: Session Description ProtocolSDP: Session Description Protocol Not really a Not really a protocol protocol – describes multimedia – describes multimedia

data carried by other protocolsdata carried by other protocols Eg:

v=0o=g.bell 877283459 877283519 IN IP4 132.151.1.19s=Come here, Watson!u=http://www.ietf.orge=g.bell@bell-telephone.comc=IN IP4 132.151.1.19b=CT:64t=3086272736 0k=clear:manhole coverm=audio 3456 RTP/AVP 96a=rtpmap:96 VDVI/8000/1m=video 3458 RTP/AVP 31m=application 32416 udp wb

K. Salah 15

SDP formatSDP format

K. Salah 16

SDP parameter description - 1SDP parameter description - 1

K. Salah 17

SDP parameter description - 2SDP parameter description - 2

K. Salah 18

SIP functionalitySIP functionality IETF-standardized IETF-standardized peer-to-peer peer-to-peer signaling protocol (RFC signaling protocol (RFC

2543):2543): LLocate user given email-style addressocate user given email-style address You can reach the callee, no matter where the callee roams, You can reach the callee, no matter where the callee roams,

no matter what IP device the callee is currently using.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 forwardingManual and automatic forwarding Personal mobility:Personal mobility: different terminal, same identifierdifferent terminal, same identifier Call center: reach first (load distribution) or reach all Call center: reach first (load distribution) or reach all

(department conference)(department conference) Terminate and transfer callsTerminate and transfer calls

K. Salah 19

SIP ServicesSIP Services

Setting up a callSetting 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 Determine current IP address of callee.address of callee. Maps mnemonic

identifier to current IP address

Call managementCall management Add new media streams

during call Change encoding during

call Invite others Transfer and hold calls

K. Salah 20

SIP Addresses Food ChainSIP Addresses Food Chain

K. Salah 21

SIP componentsSIP components

UAC: UAC: user-agent client (caller application)user-agent client (caller application) UAS: UAS: user-agent server may accept, redirect, user-agent server may accept, redirect,

refuse callrefuse call redirect server: redirect server: redirect requestsredirect requests proxy server: proxy server: server + clientserver + client registrar: registrar: track user locationstrack user locations user agent = UAC + UASuser agent = UAC + UAS often combine registrar + (proxy or redirect often combine registrar + (proxy or redirect

server)server)

K. Salah 22

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 AdaptorsIP SIP Phones and Adaptors1

3                 

Analog phone adaptor

Palmcontrol

2

54

K. Salah 23

Setting up a call to a known IP addressSetting 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.

time time

Bob'stermina l rings

A lice

167.180.112.24

Bob

193.64.210.89

port 38060

Law audio

G SMport 48753

K. Salah 24

Setting up a call (more)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 callRejecting the call Bob can reject with

replies “busy,” “gone,” “payment required,” “forbidden”.

Media can be sent over Media can be sent over RTP or some other RTP or some other protocol.protocol.

K. Salah 25

Example of SIP messageExample of SIP message

INVITE sip:bob@domain.com SIP/2.0INVITE sip:bob@domain.com SIP/2.0

Via: SIP/2.0/UDP 167.180.112.24Via: SIP/2.0/UDP 167.180.112.24

From: sip:alice@hereway.comFrom: sip:alice@hereway.com

To: sip:bob@domain.com To: sip:bob@domain.com

Call-ID: a2e3a@pigeon.hereway.comCall-ID: a2e3a@pigeon.hereway.com

Content-Type: application/sdpContent-Type: application/sdp

Content-Length: 885Content-Length: 885

c=IN IP4 167.180.112.24c=IN IP4 167.180.112.24

m=audio 38060 RTP/AVP 0m=audio 38060 RTP/AVP 0

Notes:Notes: HTTP message syntaxHTTP message syntax sdp = session description protocolsdp = 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 SIPservers 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

K. Salah 26

Name translation and user locationName translation and user location

Caller wants to call Caller wants to call callee, but only has callee, but only has callee’s name or e-mail callee’s name or e-mail address.address.

Need to get IP address of Need to get IP address of callee’s current host: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 Service provided by SIP servers:servers:

SIP registrar serverSIP registrar server SIP proxy serverSIP proxy server

K. Salah 27

SIP RegistrarSIP Registrar

REGISTER sip:domain.com SIP/2.0REGISTER sip:domain.com SIP/2.0

Via: SIP/2.0/UDP 193.64.210.89 Via: SIP/2.0/UDP 193.64.210.89

From: sip:bob@domain.comFrom: sip:bob@domain.com

To: sip:bob@domain.comTo: sip:bob@domain.com

Expires: 3600Expires: 3600

When Bob starts SIP client, client sends SIP REGISTER When Bob starts SIP client, client sends SIP REGISTER message to Bob’s registrar servermessage to Bob’s registrar server

(similar function needed by Instant Messaging)(similar function needed by Instant Messaging)

Register Message:

K. Salah 28

SIP ProxySIP Proxy

Alice sends invite message to her proxy serverAlice sends invite message to her proxy server contains address sip:bob@domain.com

Proxy responsible for routing SIP messages to calleeProxy responsible for routing SIP messages to callee possibly through multiple proxies.

Callee sends response back through the same set of Callee sends response back through the same set of proxies.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 serverNote: proxy is analogous to local DNS server

K. Salah 29

ExampleExampleCaller jim@umass.edu with places a call to keith@upenn.edu

(1) Jim sends INVITEmessage to umass SIPproxy. (2) Proxy forwardsrequest to upenn registrar server. (3) upenn server returnsredirect 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.

SIP client217.123.56.89

SIP client197.87.54.21

SIP proxyum ass.edu

SIP registrarupenn.edu

SIPregistrareurecom .fr

1

2

34

5

6

7

8

9

K. Salah 30

SIP-based ArchitectureSIP-based Architecture

SIP proxy,redirectserver

SQLdatabase

sipd

e*phone

sipc

Software SIP user agents

Hardware Internet (SIP)

phones

SIPH.323convertor

NetMeetingsip323

H.323

rtspd

SIP/RTSPUnified

messaging

RTSP media server

sipum

Quicktime

RTSP clients

RTSP

SIP conference

server

sipconf

T1/E1 RTP/SIP

Telephone

Cisco 2600 gateway

Telephoneswitch Web based

configuration

Web server

K. Salah 31

SIP proxy,redirectserver

SQLdatabase

sipd

e*phone

sipc

Software SIP user agents

Hardware Internet (SIP)

phones

Web based configuration

Web server

Call Bob

Example CallExample 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

K. Salah 32

PSTN to IP CallPSTN to IP Call

PBXPSTN

External T1/CAS

Regular phone(internal)

Call 93971341

SIP server

sipd

Ethernet

3

SQLdatabase

4 7134 => bob

sipc

5

Bob’s phone

GatewayInternal T1/CAS(Ext:7130-7139)

Call 71342

K. Salah 33

IP to PSTN CallIP to PSTN Call

Gateway(10.0.2.3)

3

SQLdatabase

2Use sip:85551212@10.0.2.3

Ethernet

SIP server

sipdsipc

1Bob calls 5551212

PSTN

External T1/CAS

Call 55512125

5551212

PBX

Internal T1/CASCall 85551212 4

Regular phone(internal, 7054)

K. Salah 34

Deployment VoIP in IP networksDeployment VoIP in IP networks

Related IssuesRelated 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?

K. Salah 35

Existing ToolsExisting Tools

Ample of commercial toolsAmple of commercial tools NetIQ Brix Networks Agilent Cisco Avaya Siemens

Uses two common approaches for assessing the Uses two common approaches for assessing the deployment of VoIPdeployment of VoIP Take network measurements and then predict the

readiness based on the health of network Inject real VoIP traffic and measure QoS

K. Salah 36

A typical network topologyA typical network topology

Floor 1

Internet

7

Switch 1 Switch 2

. . .

User PCs

Workgroupserver

Floor 3

. . .

User PCs

Floor 2

. . .

User PCs

Databaseserver E-Mail

server

Fileserver HTTP

server

Web &cacheproxy

Firewall

Router

Printerserver

Workgroupserver

Printerserver

Workgroupserver

Printerserver

K. Salah 37

Practical steps Practical steps

Determine VoIP characteristics and Determine VoIP characteristics and requirementsrequirements

Determine VoIP traffic flow and call distributionDetermine VoIP traffic flow and call distribution Define performance thresholds and growth Define performance thresholds and growth

capacitycapacity Perform network measurementsPerform network measurements Early modifications to existing network Early modifications to existing network Theoretical AnalysisTheoretical Analysis OPNET SimulationOPNET Simulation Final modifications to existing networkFinal modifications to existing network

K. Salah 38

VoIP Traffic Characteristics and RequirementsVoIP Traffic Characteristics and Requirements

Bandwidth for a single callBandwidth 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.

K. Salah 39

VoIP Traffic Characteristics and RequirementsVoIP Traffic Characteristics and Requirements

GatekeeperGatekeeper GatewayGateway IP phonesIP phones M2E delay for a single callM2E delay for a single call

150ms according to G.714 Sender: 50 ms Receiver: 45 ms Network: 80 ms

Encoder Packetizer

Sender Receiver

NetworkPlayback

Buffer

Depacketizer Decoder

K. Salah 40

Define Performance Thresholds and Define Performance Thresholds and Growth CapacityGrowth Capacity

Network delayNetwork delay VoIP applications Or other sensitive

Packet LossPacket LossRouter and Switch ProcessingRouter and Switch ProcessingLink UtilizationLink Utilization

K. Salah 41

Perform Network MeasurementsPerform Network Measurements

K. Salah 42

Upfront Network Assessment and Upfront Network Assessment and ModificationsModifications

Floor 1

Internet

7

Switch 1 Switch 2

Floor 3Database

server E-Mailserver

Fileserver HTTP

server

Web &cacheproxy

Firewall

Router

Gatekeeper

PSTN

VoIPGateway

. . .

Workgroupserver

Printerserver

MultimediaPCs

Floor 2

. . .

Workgroupserver

MultimediaPCs

Printerserver

. . .

Workgroupserver

MultimediaPCs

Printerserver

K. Salah 43

The analytical approachThe analytical approach

Bandwidth bottleneck analysisBandwidth bottleneck analysis

Delay analysisDelay analysis

K. Salah 44

BW bottleneck analysisBW bottleneck analysis

K. Salah 45

Network Delay AnalysisNetwork Delay Analysis

Poisson VoIP TrafficPoisson VoIP Traffic Using Jackson TheoremUsing Jackson Theorem Links: M/D/1Links: M/D/1 Router and Switches: M/M/1Router and Switches: M/M/1

K. Salah 46

Network Capacity AlgorithmNetwork Capacity Algorithm

i.i. Add background trafficAdd background traffic

ii.ii. Add one call based on distribution and flowAdd one call based on distribution and flow

iii.iii. For each node calculate the new arrival rate – For each node calculate the new arrival rate – not all nodes are affected.not all nodes are affected.

iv.iv. Compute packet network delay for all flows by Compute packet network delay for all flows by summing up individual delays per nodesumming up individual delays per node

v.v. If network delay < 80 ms, go to If network delay < 80 ms, go to iiii, otherwise , otherwise STOP. STOP.

K. Salah 47

Analytical ToolAnalytical Tool

Generic Generic

GUIGUI

Analytical engineAnalytical engine BW bottleneck analysis Compute iteratively the network delay

K. Salah 48

ValidationValidation

Matlab code verifies resultsMatlab code verifies results

OPNET simulation gives very close OPNET simulation gives very close results.results.