k. salah1 voip or ip telephony. k. salah2 introduction importance of voip importance of voip ...
Post on 21-Jan-2016
218 Views
Preview:
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.
top related