Title: Voice over Internet Protocol VoIP
1- Voice over Internet ProtocolVoIP
- 3. Issues with VoIP
- Barry Cheetham
2Setting up a VoIP session
Look
Invite
Reply
Locationserver
Invite
Proxyserver
Barry
All messages could be sent by TCP
Alvaro
- B want to call A but has no idea where he is or
whether he is online. - A registers with location server
- B invites A via proxy server that looks up As IP
address.
3Maintaining a VoIP session
Look
Accept
Reply
Locationserver
Accept
Proxyserver
Voice
Barry
Alvaro
A can accept, B acknowledge, then interchange
packets via server. Instead establish RTP/RTCP
link between B A peer-to-peer. Negotiate
bit-rate by monitoring congestion.
4Proxy location servers
- Location server like DNS (in 1st lecture)
- Proxy server is intermediate software that acts
as both server client to make requests on
behalf of other clients. - Useful for routing as gate-keeper for
enforcing policy such as admission control,
preventing congestion, efficient access to
location server, etc. - Since UDP sometimes blocked by firewalls, a PS
may use tunnelling by encapsulating UDP packets
within TCP. - Also gateway between IP network networks.
- Not much encryption used in VoIP yet.
5QoS in VoIP
- Jitter-buffer at each receiver allows for
variation in delay. - Assume 1-way delay varies between 0.02 0.12 s,
- Jitter-buffer of size 0.1 s to avoid data
under-flow - i.e running out of data while waiting for delayed
packet. - Receiver has no way of knowing actual 1-way
delay. - Delay variation from 0.05 to 0.15 gives same
jitter. - Packet arriving too late to avoid underflow is
lost. - With wired networks, most lost packets are just
late. - Packets rarely undelivered or damaged.
- Not true for wireless/mobile networks.
6Jitter-buffer size
- Receivers jitter-buffer introduces delay
affects number of packets lost due to excessive
delay. - Increasing buffer size decreases no. of lost
packets in a wired VoIP link at expense of
increasing delay. - Round trip delay gt 300 ms makes conversation
difficult. - Limits delay that can be introduced at each
receiver. - Assume propagation delay is 30 ms, payload is
160 bytes (20ms) - 2 50 ms used up
- Capacity for 100 ms buffers at each end of 2-way
link. - Reservoir of 800 bytes or 5 packets.
7Question for you
- Having set up such a VoIP link between Manch
NY, - how could you improve it if RTCP reports zero
lost packets at NY end 10 at the Manch end? - Answer Increase buffer at Manch end to decrease
no. of lost packets at expense of increasing
round trip delay. - Decrease buffer at NY to decrease delay at
expense of increasing lost packets. - No discernable change in delay.
- Voice quality improves at Manch gets a bit
worse at NY.
8H323 application layer protocol suite
- Protocols to set up, maintain tear down VoIP
calls. . - Once call set up, voice packets sent by RTP/RTCP.
- 64 kb/s speech samples conveyed in blocks of 240
samples (30 ms). - Simultaneous video signals may be sent also.
- Use of RTP means no QoS guarantees.
- Use of 64 kb/s places high demand on IP networks
- Can use speech compression to reduce bit-rate.
- H323 negotiates suitable compression based on
prevailing network condition. - Has gatekeepers gateways (mentioned
earlier).
9SIP application layer protocol
- Session Initialisation Protocol (Ports 5060
5061) - Defined by IETF as simpler alternative to H323
- Addresses are URLs, e.g. sipbarry_at_man.ac.uk.
- Uses RTP RTCP (like H323) for voice streams.
- Adapts to non-guaranteed QoS like H323, has
proxy servers acting as gatekeepers, etc. - Win Live Messenger based on SIP.
- More than 100 different VoIP systems most use SIP
10Speech digitisation standards
G711 widely used for VoIP lower bit/rate coders
available. Many issues summarised by table below
11Mobile VoIP Voice over wi-fi
- Application of VoIP to battery powered wireless
enabled mobile devices including handsets. - Since WLANs support IP, UDP TCP, they can
support VoWiFi. - H323 or SIP protocols will work on wi-fi
connected devices. - Wireless QoS quite different from wired
bit-errors more frequent, bandwidth more limited,
congestion more likely. - Each packet more expensive to send.
- Employ forward error correction (FEC) next
years course. - Lets just illustrate these issues
12Wi-fi packet lengths (Phy layer)
13Illustration of Voice over wi-fi
- Phy-layer header takes ?200 ?s in addition to
payload. - 1000 bytes of text takes ?2 ms to transmit at 11
Mb/s, so overhead is about 10, - 100 bytes sent in 0.2ms, phy layer overhead
becomes 100 . - For 30 bytes, framing overhead approaches 300.
- Voice over wi-fi begins to appear rather
inefficient. - Increasing packet size not an option with
interactive VoIP. - If retransmissions become necessary because of
collisions radio noise, inefficiency becomes
worse. - Thats all on VoWifi
14Packet loss concealment strategies
- PLC uses predictability in speech waveforms.
- Allows guesses about what is likely to come next.
- Works well for voiced sounds quasi-periodic.
t
- If dashed part lost, similarity with what came
before makes it possible to produce a
reasonable replacement.
15Simple frame repetition
- Obvious idea is just to repeat the previous
frame, - Works perfectly in previous example.
- Much better than zero stuffing.
- Simple packet repetition will not always work so
well, - Wave-shape its periodicity will be changing
- Any discontinuity as reconstructed frame joins
onto next frame will produce a nasty click. - Need something a bit more sophisticated
- Provided by Appendix 1 to the ITU-G711 standard.
- Demo (30 PL) Zero stuffing
Repetition
16Some finer points of real time
- Why not forget about the missing packet go on
with next one? - Just miss it out?. OK for a file of music?
- With a video sound track, you may lose lip-sync.
- Disastrous for telephony because of real time
requirement. - No. of samples sent must be no. of samples
received - Otherwise receivers jitter-buffer runs out
generates a click. - Expect small differences in sampling rates at
transmitter receiver
17IntServ Diffserv
- Reservation of transmission capacity priority for
certain traffic. - VoIP widely used over wired networks with
reserved capacity . - IETFs IntServ architecture proposed for giving
guaranteed QoS to particular traffic streams by
reserving link capacity between routers. - IETFs DiffServ architecture proposed for
allowing certain categories of traffic, such as
VoIP, to be prioritised to make it more likely
(though not certain) to achieve a desired QoS.
18Some fallacies about distributed computing
- Interconnections are
- Reliable
- Secure
- Homogenous (same type of links throughout)
- Unchanging in topology
- So fast that latency (delay) is negligible
- Essentially unlimited in bandwidth.
- Available at zero transport cost (is VoIP free?)
- Set up with just one administrator
- Linking devices with fully synchronised clocks
- i.e. each having a universal measure of
time (144511.001) - Many of these fallacies are revealed by VoIP
19Transparency
- A distributed system for VoIP should
- Accommodate differences in data representation
- Not worry about where resources are located
- Allow resources to move while in use
- Allow resources to be replicated.
- Allow processing to be distributed among hosts
- Be robust to failure of components one failure
should not be catastrophic
20Conclusions learning outcomes
- Interactive VoIP requires regular transmission of
packets with round trip latency limits. - End to end delay not easily measurable not
needed - H323 SIP for setting up maintaining ending
calls. - Fire forget transport layer protocols RTP
RTCP. - Bit-rate compression negotiated .
- No QoS guarantees jitter lost packets occur.
- VoWLAN or VoWiFi works in principle but less
efficient - Wired wireless networks have different QoS.
- Principles of PLC algorithms discussed.
- Intserve diffserve for QoS.
- Some fundamental issues illustrated by VoIP
21A final question (for today)
- An end-to-end VoIP over wi-fi system uses 50 ms
G711 speech frames with zero stuffing PLC. - It delivers intelligible but fairly poor quality
speech, with round trip delay of 200 ms and
frequently crashes due to network congestion. - How could you improve its performance?
- What steps would be appropriate if it were a
wired link?