Lost VOIP Packet Recovery in Active Networks Yousef Darmani M. Eng. Sc. Sharif University of Technology, Tehran, Iran Thesis submitted for the degree of Doctor of Philosophy m Department of Electrical and Electronic Engineering The University of Adelaide Supervisors: Professor Langford White Mr. Michael Liebelt June 2004
Contents Abstract xv Statement of Originality xvii Acknowledgments xix Publications xxi 1 Introduction 1 1.1 Internet telephony. I 1.2 Problem statement 3 1.3 Thesis outline and methodology 4 2 Packet loss models and metrics 2.1 Packet loss.. 7 8 2.1.1 Causes of packet loss 8 2.1.2 Loss rate and packet length. 10 2.1.3 Statistical information about packet loss 10 2.2 Loss models. 12 2.2.1 n-order Markov chain 12 2.2.2 Bernoulli model 13 2.2.3 Gilbert model.. 13 2.2.4 Extended Gilbert model IS 2.2.5 Poisson Model 16 2.3 Model evaluation 16 2.4 Summary.. 17 3 Voice Over Internet Protocol (VOIP) 19 3.1 Properties of speech. 20 3.2 Voice quality measurement 21 3.3 Voice Over Internet Protocol (VOIP) 22
3.4 Methods to cope with packet loss problem 22 3.4.1 Sender and receiver based scheme 22 3.4.2 Sender based scheme 23 3.4.3 Receiver based recovery scheme 25 3.4.4 Network and receiver based recovery scheme 26 3.4.5 Packing methods used in the simulations 26 35 Quality of Service (QoS) 27 3.5.1 QoS model 27 36 Protocol... 28 3.6.1 Internet Protocol (IP) 29 3.6.2 User Datagram Protocol (UDP) 30 3.6.3 Real-time Transport Protocol (RTP) 30 3.6.4 RTP/UDPIIP....... 34 3.6.5 Other protocols for VOIP. 35 3.7 Summary............. 35 4 Active node 37 4.1 Reasons to use active networks 38 4.2 Active and passive networks 38 43 Active node and lost packets 40 4.4 Active path 42 4.4.1 Virtual Private. letwork (VPN). 43 4.4.2 Virtual Active Path (VAP) 43 4.5 Active Packet.... 44 4.6 Active node problems. 45 4.6.1 Active node in VOIP 45 4.6.2 Node security... 46 4.6.3 Node structure 46 4.6.4 Node resource reservation 47 4.6.5 Node software specifications 49 4.6.6 Node software structure for voice packet recovery. 50 4.7 Role of active node 53 4.8 First analysis 54 4.8.1 Two consecutive losses. 55 4.8.2 n consecutive losses 56 4.9 Second analysis.. 58 4.9.1 Two consecutive losses 59 4.9.2 n consecutive losses 60
4.10 Third analysis 4.11 Active node location 4.12 Simulation and test environment 4.12.1 Active packet structure in the simulations 4.12.2 Active node implementation 4.12.3 Simulation topology 4.13 Summary and conclusion 61 63 64 66 67 71 73 5 Detached Samples Packing Method (DSPM) 75 5.1 DSPM sender routine. 76 5.1.1 Packing Routine 76 5.1.2 Main Routine 78 5.2 Receiver or active node routine 83 5.3 Protocol specification and verification 85 5.3.1 Finite State Machine (FSM) model 85 5.3.2 Specification and Description Language (SDL) model 87 5.4 Results of DSPM. 87 5.5 Summary and conclusion 91 6 Detached Adaptive Differential Pulse Code Modulation (DADPCM) 93 6.1 DADPCM sender routine 94 6.1.1 First step: Separate samples 94 6.1.2 Second step: Encoding and decoding samples. 95 6.1.3 Third step: packing the encoded samples 96 6.2 Receiver routine. 99 6.3 Active node routine 99 6.4 Results ofdadpcm 101 6.4.1 Voice quality 101 6.4.2 Data rate 102 6.4.3 Processing time. 103 6.5 Important samples. 104 6.5.1 Fixed-sized packets. 104 6.5.2 Fixed distortion 104 6.53 Next correlation 109 6.5.4 Modified fixed distortion 110 6.6 Summary and conclusion III
7 Detached Adaptive Differential Pulse Code Modulation 5 (DADPCMS) 113 7.1 Sender routine.... 114 7.1 1. First step: Separate samples 114 7.1.2 Second step: Encoding and decoding samples 116 7.1.3 Third step: Packing the encoded samples 116 7.2 Receiver routine. 117 7.2.1 No loss 117 7.2.2 Individual loss 117 7.2.3 Heavy hurst loss 118 7.3 Active node routine 118 7.4 Results ofdadpcm5 118 7.4.1 Quality versus data rate. 119 7.4.2 Quality versus loss rate. 120 7.4.3 Processing time. 121 7.5 Summary and conclusion 122 8 Detached Fourier Coeffcients Packing Method (DFCPM) 123 8.1 Discrete Fourier Transform 124 8.2 Decimation in time 125 8.3 Motivation. 127 8.3.1 Compression: 128 8.3.2 Lost packet effect compensation:. 128 8.4 Experiments. 128 8.4.1 First experiment 128 8.4.2 Second experiment 130 8.4.3 132 8.4.4 Fourth experiment 133 8.4.5 Fifth experiment. 135 8.5 Detached Fourier Coeffcient Packing Method (DFCPM) 136 8.5.1 Sender routine 136 8.5.2 Receiver routine 139 8. 5.3 Active node routine. 142 8.5.4 Threshold... 142 8.5.5 Result of DFCPM 142 8.6 Enhanced Detached Fourier Coeffcient Packing Method (EDFCPM). 145 8.6.1 Sender routine. 145 8.6.2 Receiver routi n e 146 8.6.3 Result ofedfcpm. 146
8.7 Summary and conclusion.. 149 9 Enhanced Code Excited Linear Prediction (ECELP) 151 9.1 Conjugate Structure Algebraic Code Excited Linear Prediction (CS-ACELP) 152 9.1.1 Encoder. 152 9.1.2 Decoder. 153 9.2 ECELP64 154 93 ECELPI3 156 9.4 ECELP475 158 9.5 Redundancy and loss rate 158 9.6 ECELP in active node. 159 9.7 Results of ECELP. 159 9.7.1 Individual loss 160 9.7.2 Burst loss 161 9.8 Summary and conclusion 161 10 Complimentary Adaptive Differential Pulse Code Modulation (CADPCM) 163 10.1 CADPCM 164 10.2 Packing scheme. 164 10.2.1 Unvoiced block. 164 10.2.2 Voiced and Unvoiced2voiced blocks. 165 10.2.3 Voiced2unvoiced block. 165 10.3 Redundancy and loss rate 165 10.4 CADPCM in active node 166 10.5 CADPCM at the receiver 166 10.6 Result ofcadpcm. 166 10.6.1 Voice quality 166 10.6.2 Data rate.. 167 10.6.3 Processing time. 168 10.7 Summary and conclusion 169 11 Conclusion 171 11.1 Contributions 11.2 Methodology 11.3 Major results 11.4 Future directions 171 173 174 176 A SDLs ofdadpcm5 177
B Source codes 179 C Voice samples and test environment C.I Voice samples.. 181 181 C.2 Test environment 184 Bibliography 185
Abstract Current best-effort packet-switched Internet is not a perfect environment for real-time applications such as transmitting voice-over the network (Voice Over Internet Protocol or VOJP). Due to the unlimited concurrent access to the Internet by users, the packet loss problem cannot be avoided. Therefore, the VOIP based applications encompass problems such as "voice quality degradation caused by lost packets". The effects of lost packets are fundamental issues in real-time voice transmission over the current unreliable Internet. The dropped packets have a negative impact on voice quality and concealing their effects at the receiver does not deal with all of the drop consequences. It has been observed that in a very lossy network, the receiver cannot cope with all the effects of lost packets and thereby the voice will have poor quality. At this point the Active Networks, a relatively new concept in networking, which allows users to execute a program on the packets in active nodes, can help VOIP regenerate the lost packets, and improve the quality of the received voice. Therefore, VOIP needs special voice-packing methods. Based on the measured packet loss rates, many new methods are introduced that can pack voice packets in such a way that the lost packets can be regenerated both within the network and at the receiver. The proposed voice-packing methods could help regenerate lost packets in the active nodes within the network to improve the perceptual quality of the received sound. The packing methods include schemes for packing samples from low and medium compressed sample-based codecs (PCM, ADPCM) and also include schemes for packing samples from high compressed frame-based codecs (G.729). Using these packing schemes, the received voice has good quality even under very high loss rates. Simulating a very lossy network using NS-2 and testing the regenerated voice quality by an audience showed that significant voice quality improvement is achievable by employing these packing schemes.