Voice Over IP
Download
Report
Transcript Voice Over IP
Voice Over IP
Developing IPHONE
Jeremy Stanley
CS 460 section 1
VoIP Advantages
No long distance fees
No dedicated circuit
More efficient use of networks
64 Kbps raw audio vs. 13 Kbps
compressed
Data need not be transmitted during
silence
VoIP Issues
Latency
Packetization
Network jitter
Quality of Service
Real-time requirements
Addressing Issues
IPv6 is a pratical necessity
Voice Encoding
PCM (pulse code modulation)
ADPCM - adaptive delta PCM
Fast 4:1 Compression, Good quality
Vocoders (LPC, CELP, GSM)
Slower, 12-30x compression common
Voice only - Music does not work well
Introduction to IPHONE
Win32 application
Uses Windows Multimedia and Sockets
APIs for audio and communication
Two-way, full duplex voice channel
(PC to PC)
Runs over UDP or TCP, supports
data compression and silence
detection
IPHONE Design
Screen Shot
The Naïve Algorithm
Receive thread
1.
Receive a packet
2.
Decode and play audio
3.
Return to step 1
Send thread
1.
Record audio
2.
Encode, packetize, and send
3.
Return to step 1
Problems
Sounds like talking into a fan
Latency quickly rises to intolerable
levels
Timing Issues
Solutions
Asynchronous sound processing
Encode and send previous packet while
recording current packet
Receive and decode next packet while
playing current packet
At least two send and receive
buffers required
Revised Algorithm
Network Jitter
The double-buffered solution last
described works well on a LAN
Delay still accumulates when
receive buffer empties due to
delayed packets
Increasing receive buffer only does
so much - it will eventually be
exhausted
Jitter Solutions
Drop late packets
Imperceptibly increase playback
speed
Shorten delays between words
Use silence detection
IPHONE does this
Silence Detection
Do not send audio chunks whose
maximum amplitude is below a
silence threshold
Phone conversations are 60%
silence
Turns voice into bursty data
Comfort Noise
Total silence construed as dead line
Substitute pre-recorded "open mic"
Play low-volume white noise
Record and repeat periods of silence
during conversation
Demonstration/Questions