250 likes | 380 Views
CS644 Advanced Topics in Networking. VoIP Wed, 2004/9/8. VoIP. Basics Codecs Performance issues Delay, loss, quality Other subjective/objective measures Available tools. History of VoIP. 1980s Packet voice over satellite links in Lincoln Lab Early 1990s
E N D
CS644Advanced Topics in Networking VoIP Wed, 2004/9/8
VoIP • Basics • Codecs • Performance issues • Delay, loss, quality • Other subjective/objective measures • Available tools
History of VoIP • 1980s • Packet voice over satellite links in Lincoln Lab • Early 1990s • MBone popularized audio and video conferencing tools • Nevot, vat, vic, rat • Late 1990s • Commercialization of VoIP
Time Digitizing Voice 쏼~~라 쏴 ~ㄹ~~ㄹ~~~~~~~라~~
Talkspurts Silence period Talk and Silence in Voice 쏼~~라 쏴 ~ 라~~ Time
Look-ahead Voice to Packets 쏼~~라 쏴 ~ 라~~ Time
Popular Waveform Codecs • PCM (Pulse Code Modulation) • G.711 • Audible frequency (300-3KHz) • By Nyquist theorem, sample 8bits at 8KHz = 64 Kbps • ADPCM (Adaptive Differential PCM) • G.726 • Sample differences: 4bit at 8KHz
Alternative for compression • companding • non-linear quantization: μ-law (G.711) • waveform • exploit statistical correlation • model • model voice, extract parameters • subband • split signal into bands and cod e individually (MPEG audio) • exploit masking properties of human ear
Other Codecs • G.729 for mobile telephony • Conjugate structure, algebraic-code-excited linear prediction (CS-ACELP) • 80bits at 100Hz = 8 kbps • requires 40% of 100MHz Pentium • G.729A: reduced-complexity version • G.723.1 for videotelephony • MP-MLQ (Multipulse, multilevel quantization) • 30ms blocks of 240 16-bit samples into 24B = 6.3kbps • requires 25% of 100MHz Pentium • GSM full rate • GSM 06.10, 13Kbps • Regular Pulse Excited (RPE) codec • GSM 06.20 = half-rate
Basic Attributes of Codecs • Bit rate • economy of bandwidth • in multimedia applications, more b/w to video • Silence compression • voice activity detector (VAD) • discontinuous transmission (DTX) • comfort noise generator (CNG) • Complexity • limiting factor in terms of memory and CPU (e.g. in portable devicies) • Delay • frame-size, look-ahead: algorithmic delay • processing delay: depends on complexity and H/W • Resilience to loss • Quality • Others • layered coding • decoding telephone digits?
RTP/RTCP • Use of Real Time Protocol • adds sequence number, timestamp, payload type • Use of Real Time Control Protocol • transmits control packets to participants • offers feedback on performance • correlate and synchronize different media streams
Session Management • H.323 • SIP (Session Initiation Protocol) • e2e, client-server session signalling protocol • not a transport/QoS reservation/gateway control protocol
H.323 • Suite of ITU-T recomm. protocols for multimedia collaboration among 2+ entities • H.225.0-Q.931 • pt2pt call signalling • initiation/proceeding/alerting/connection/termination • H.245 • call-control • master-slave determination/terminal capability set/logical channel management/
H.323 Call Flow End System A End System B Setup H.225 (TCP port 1720) Alerting/Connect Capabilities Exchange / MSD Open Logical Channel H.245 (TCP dynamic port) Open Logical Channel Acknowledge RTP Stream RTP Stream UDP RTCP Stream
Key Components of SIP • SIP end devices • UA client (originates calls) • UA server (listens for incoming calls) • SIP workhorses • proxy server • relays call signaling (i.e. acts as both client/server) • redirect server • redirects callers to other servers • registar • accept registration requests from users • maintains user’s whereabouts at a Location Server
Basic SIP Capabilities • user location • correct device with which to comm to reach a particular user • user availability • willing/able to take part in a session • user capabilities • determines choice of media, codecs • session setup • establishes session parameters, s.a. port nubmers • session management • call forwarding, modifying session parameters
SIP RFC 2543 Methods • INVITE • ACK • BYTE • CANCEL • OPTIONS • REGISTER
Session/Call Control - SIP cisco.com proxy princeton.edu proxy mypc.cisco.com yourpc.princeton.edu Sue@cisco.com Meeyoung@princeton.edu
Performance Issues • Delay • transmission, router-processing, propagation, and queueing delays • packetization • Loss • network drop • late arrival • FEC (Forward Error Correction) • Adds redundant data • Issues?
Playout Delay Adjustment 쏼~~라 쏴 ~ 라~~ 쏴~~라 쏴 ~ 라~~ 쏴~~라 쏴 ~ 라~~ Playout Delay
Voice Quality Rating Measures • MOS (Mean Opinion Score) • range of 1.0 to 4.5 (very poor to best) • mean of response scores of human beings • PSQM • Perceptual Speech Quality Measurement • Automated human listener • Designed to measure the perceived quality of codec-quality voice based on • Evaluates original signal against “perceptual model” and compares coded signal againt it based on • distortion, effects of noise, and overall perceptual fidelity • E-model • ITU-T Recommendation G.107 • range of 0 to 100 • R = R0 -Is-Id-Ie+A • effects of noise, simultaneous impairments at quantization, mouth-to-delay impairment, signal distortion, advantage factor (willingness to tolerate deterioration)
Readily Available Tools • Audio on Linux • /dev/audio for μ-law • /dev/dsp for general samples • Java sound I/F • java.sun.com/proudcts/java-media/sound/ • higher layer • Java Media Framework (JMF) includes RTP
Other Public VoIP Tools • rat (Robust Audio Tool) • http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/ • Public VoIP S/W repository • http://www.vovida.org/ • Many VoIP freeware for Windows
References • Voice over IP Fundamentals, J. Davidson, J. Peters, 2000, Cisco Press • ITU-T Recomm. P.861 [PSQM] • IP Telephony with H.323, V. Kumar, M. Korpi, S. Sengodan, 2000, Wiley [H.323] • C. Boutremans, J-Y Le Boudec, “Adaptive Joint Playout Buffer and FEC Adjustment for Internet Telephony”, INFOCOM 2003