Title: VoIP or IP Telephony
1VoIP or IP Telephony
2Introduction
- 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 - M2E delay lt 150ms
- Packet loss lt 5
3VoIP Architecture and Protocols
- Uses one of the two multimedia protocols
- SIP (Session Initiation Protocol) by IETF
- H.323 by ITU
4VoIP Camps
Conferencing Industry
Netheads IP over Everything
NGN
H.323
SIP
Softswitch
ISDN LAN conferencing
I-multimedia WWW
Call Agent SIP H.323
IP
IP
IP
5VoIP 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
- 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. - Depacketizer strips headers
- Decoder reconstructs the original voice signal.
6Internet Multimedia Protocol Stack
7RTP
- Real-Time transport Protocol is designed to
handle real-time traffic on the Internet. - RTP stands between UDP and application program.
- RTP supports timestamping, sequencing and mixing
facilities. - 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.
8IP Telephony Protocols SIP, RTP
- Session Initiation Protocol - SIP
- Contact office.com asking for bob
- Locate Bobs current phone and ring
- Bob picks up the ringing phone
- Real time Transport Protocol - RTP
- Send and receive audio packets
9Internet Telephony Protocols H.323
10H.323 (contd)
- Terminals, Gateways, Gatekeepers, and Multipoint
Control Units (MCUs)
11H.323 vs SIP
Typical UserAgent Protocol stack for Internet
Terminal Control/Devices
Terminal Control/Devices
Q.931
H.245
RTCP
RAS
RTCP
SIP
SDP
Codecs
Codecs
RTP
RTP
TPKT
TCP
UDP
Transport Layer
IP and lower layers
12SIP vs H.323
- Binary ASN.1 PER encoding
- Sub-protocols H.245, H.225 (Q.931, RAS,
RTP/RTCP), H.450.x... - H.323 Gatekeeper
- Text based request response
- SDP (media types and media transport address)
- Server roles registrar, proxy, redirect
- Both use RTP/RTCP over UDP/IP - H.323 perceived
as heavyweight
13Light-weight signaling Session
InitiationProtocol (SIP)
- IETF MMUSIC working group
- Light-weight generic signaling protocol
- 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) - A great tutorial on VoIP, SIP, SDP at
- http//www.geocities.com/intro_to_multimedia/tutor
ial_list.html
14SDP Session Description Protocol
- Not really a protocol describes multimedia data
carried by other protocols - Eg
- v0
- og.bell 877283459 877283519 IN IP4 132.151.1.19
- sCome here, Watson!
- uhttp//www.ietf.org
- eg.bell_at_bell-telephone.com
- cIN IP4 132.151.1.19
- bCT64
- t3086272736 0
- kclearmanhole cover
- maudio 3456 RTP/AVP 96
- artpmap96 VDVI/8000/1
- mvideo 3458 RTP/AVP 31
- mapplication 32416 udp wb
15SDP format
16SDP parameter description - 1
17SDP parameter description - 2
18SIP functionality
- IETF-standardized peer-to-peer signaling protocol
(RFC 2543) - 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. - Setup session (call)
- (Re)-negotiate call parameters
- Manual and automatic forwarding
- Personal mobility different terminal, same
identifier - Call center reach first (load distribution) or
reach all (department conference) - Terminate and transfer calls
19SIP Services
- 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.
- Maps mnemonic identifier to current IP address
- Call management
- Add new media streams during call
- Change encoding during call
- Invite others
- Transfer and hold calls
20SIP Addresses Food Chain
21SIP components
- UAC user-agent client (caller application)
- UAS user-agent server may accept, redirect,
refuse call - redirect server redirect requests
- proxy server server client
- registrar track user locations
- user agent UAC UAS
- often combine registrar (proxy or redirect
server)
22IP SIP Phones and Adaptors
1
- 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)
Analog phone adaptor
2
3
Palm control
4
5
4
23Setting up a call to a known IP address
- Alices SIP invite message indicates her port
number IP address. Indicates encoding that
Alice prefers to receive (PCM ulaw) - Bobs 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.
24Setting up a call (more)
- Codec negotiation
- Suppose Bob doesnt 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
- Bob can reject with replies busy, gone,
payment required, forbidden. - Media can be sent over RTP or some other protocol.
25Example of SIP message
- INVITE sipbob_at_domain.com SIP/2.0
- Via SIP/2.0/UDP 167.180.112.24
- From sipalice_at_hereway.com
- To sipbob_at_domain.com
- Call-ID a2e3a_at_pigeon.hereway.com
- Content-Type application/sdp
- Content-Length 885
- cIN IP4 167.180.112.24
- maudio 38060 RTP/AVP 0
- Notes
- HTTP message syntax
- sdp session description protocol
- Call-ID is unique for every call.
- Here we dont know
- Bobs IP address.
- Intermediate SIPservers will be necessary.
- Alice sends and receives SIP messages using
the SIP default port number 506. - Alice specifies in Viaheader that SIP client
sends and receives SIP messages over UDP
26Name translation and user location
- Result can be based on
- time of day (work, home)
- caller (dont 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 proxy server
- Caller wants to call callee, but only has
callees name or e-mail address. - Need to get IP address of callees current host
- user moves around
- DHCP protocol
- user has different IP devices (PC, PDA, car
device)
27SIP Registrar
- When Bob starts SIP client, client sends SIP
REGISTER message to Bobs registrar server - (similar function needed by Instant Messaging)
Register Message
- REGISTER sipdomain.com SIP/2.0
- Via SIP/2.0/UDP 193.64.210.89
- From sipbob_at_domain.com
- To sipbob_at_domain.com
- Expires 3600
28SIP Proxy
- Alice sends invite message to her proxy server
- contains address sipbob_at_domain.com
- Proxy responsible for routing SIP messages to
callee - possibly through multiple proxies.
- Callee sends response back through the same set
of proxies. - Proxy returns SIP response message to Alice
- contains Bobs IP address
- Note proxy is analogous to local DNS server
29Example
Caller jim_at_umass.edu with places a call to
keith_at_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_at_eurecom.fr
(4) umass proxy sends INVITE to eurecom
registrar. (5) eurecom regristrar forwards INVITE
to 197.87.54.21, which is running keiths SIP
client. (6-8) SIP response sent back (9) media
sent directly between clients. Note also a SIP
ack message, which is not shown.
30SIP-based Architecture
31Example Call
- Bob signs up for the service from the web as
bob_at_ecse.rpi.edu
- sipd canonicalizes the destination to
sipbob_at_ecse.rpi.edu
- He registers from multiple phones
- sipd rings both ephone and sipc
- Bob accepts the call from sipc and starts talking
- Alice tries to reach Bob
- INVITE ipBob.Wilson_at_ecse.rpi.edu
ecse.rpi.edu
32PSTN to IP Call
33IP to PSTN Call
34Deployment VoIP in IP networks
- 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?
35Existing Tools
- Ample of commercial tools
- NetIQ
- Brix Networks
- Agilent
- Cisco
- Avaya
- Siemens
- 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
36A typical network topology
37Practical steps
- Determine VoIP characteristics and requirements
- Determine VoIP traffic flow and call distribution
- Define performance thresholds and growth capacity
- Perform network measurements
- Early modifications to existing network
- Theoretical Analysis
- OPNET Simulation
- Final modifications to existing network
38VoIP Traffic Characteristics and Requirements
- 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.
39VoIP Traffic Characteristics and Requirements
- Gatekeeper
- Gateway
- IP phones
- M2E delay for a single call
- 150ms according to G.714
- Sender 50 ms
- Receiver 45 ms
- Network 80 ms
40Define Performance Thresholds and Growth Capacity
- Network delay
- VoIP applications
- Or other sensitive
- Packet Loss
- Router and Switch Processing
- Link Utilization
41Perform Network Measurements
42Upfront Network Assessment and Modifications
43The analytical approach
- Bandwidth bottleneck analysis
- Delay analysis
44BW bottleneck analysis
45Network Delay Analysis
- Poisson VoIP Traffic
- Using Jackson Theorem
- Links M/D/1
- Router and Switches M/M/1
46Network Capacity Algorithm
- Add background traffic
- Add one call based on distribution and flow
- For each node calculate the new arrival rate
not all nodes are affected. - Compute packet network delay for all flows by
summing up individual delays per node - If network delay lt 80 ms, go to ii, otherwise
STOP.
47Analytical Tool
- Generic
- GUI
- Analytical engine
- BW bottleneck analysis
- Compute iteratively the network delay
48Validation
- Matlab code verifies results
- OPNET simulation gives very close results.