Preface xi
Acronyms xv
About the Companion Website xxii
Part I Theoretical Background 1
1 Media Generation 3
1.1 Introduction 3
1.2 Signals 4
1.2.1 Speech 4
1.2.2 Audio 4
1.2.3 Video 6
1.3 Sampling and Quantization 11
1.3.1 Sampling 12
1.3.2 Quantization 18
1.4 Codecs 21
1.4.1 Speech Coding 21
1.4.1.1 Waveform Codecs 26
1.4.1.2 LPC 31
1.4.1.3 LBR Codecs 35
1.4.1.4 ITU-T Recommendation G. 711 37
1.4.1.5 ITU-T Recommendation G. 726 40
1.4.1.6 ITU-T Recommendation G.723. 1 40
1.4.1.7 ITU-T Recommendation G.729 Annexes A, D, and E 41
1.4.1.8 GSM 6.10 41
1.4.1.9 AMR 41
1.4.1.10 ITU-T Recommendation G. 728 43
1.4.1.11 ITU-T Recommendation G. 722 43
1.4.1.12 iLBC 43
1.4.1.13 Speex 43
1.4.1.14 EVRC and EVRC-B 44
1.4.1.15 GSM-EFR 44
1.4.1.16 LPC- 10 44
1.4.1.17 AMR-WB/ITU-T Recommendation G.7. 2 44
1.4.1.18 RTAudio 45
1.4.1.19 EVS 45
1.4.1.20 Lyra 46
1.4.2 Audio Coding 46
1.4.2.1 AAC 49
1.4.2.2 ITU-T Recommendation G. 718 49
1.4.2.3 ITU-T Recommendation G.722. 1 50
1.4.2.4 iSAC 50
1.4.2.5 Silk 50
1.4.2.6 Opus 50
1.4.2.7 LC3 51
1.4.3 Video Coding 51
1.4.3.1 ITU-T Recommendation H. 261 61
1.4.3.2 ITU-T Recommendation H.262 (MPEG-2 Part 2) 62
1.4.3.3 ITU-T Recommendation H. 263 62
1.4.3.4 ITU-T Recommendation H.264 (MPEG-4 Part 10) 62
1.4.3.5 ITU-T Recommendation H. 265 63
1.4.3.6 ITU-T Recommendation H.266 (MPEG-I Part 3) 63
1.4.3.7 AU1 63
1.4.3.8 Theora 64
1.4.3.9 MPEG-5 Part 2 64
1.5 Quality Scores 64
1.5.1 Network Impairments 67
1.5.2 PESQ 71
1.5.3 POLAQ 73
1.6 Summary 73
1.7 Homework Problems and Questions 74
Bibliography 75
2 Media Session Signaling 79
2.1 Introduction 79
2.2 Lower Layers 79
2.2.1 Physical and Link Layers 80
2.2.2 Network Layer 85
2.2.2.1 IPv 4 86
2.2.2.2 IPv 6 91
2.2.3 Transport Layer 96
2.2.3.1 UDP 96
2.2.3.2 TCP 97
2.3 SIP 100
2.4 SDP 105
2.5 HTTP 105
2.6 Security Considerations 110
2.6.1 Challenges and Requirements 111
2.6.2 Principles of Network Security 112
2.6.3 TLS and DTLS 116
2.6.4 SIP over TLS 119
2.7 Summary 123
2.8 Homework Problems and Questions 123
Bibliography 124
3 Media Packetization 127
3.1 Introduction 127
3.2 RTP 127
3.3 RTCP 131
3.4 SRTP and SRTCP 132
3.4.1 SDES 135
3.4.2 DTLS-SRTP 136
3.5 Framing 137
3.5.1 Speech 138
3.5.1.1 AMR and AMR-WB 140
3.5.1.2 EVRC and EVRC-B 143
3.5.1.3 EVS 145
3.5.2 Audio 148
3.5.2.1 AAC 148
3.5.2.2 Opus 149
3.5.3 Video 150
3.5.3.1 ITU-T Recommendation H. 261 150
3.5.3.2 ITU-T Recommendation H. 263 151
3.5.3.3 ITU-T Recommendation H. 264 154
3.5.3.4 ITU-T Recommendation H. 265 156
3.5.3.5 ITU-T Recommendation H. 266 157
3.6 Summary 157
3.7 Homework Problems and Questions 158
Bibliography 159
4 Media over Network 161
4.1 Introduction 161
4.2 Non-3GPP Networks 161
4.2.1 Ethernet 162
4.2.2 IEEE 802.11 165
4.2.3 RTC 173
4.2.4 WebRTC 173
4.3 3GPP 4g/5g/6g 174
4.3.1 IMS 175
4.3.2 VoLTE 175
4.3.3 VoNR 177
4.4 IoT 180
4.4.1 WPANs 183
4.4.1.1 IEEE 802.15.4 184
4.4.1.2 6LoWPAN 189
4.4.2 LPWANs 204
4.4.2.1 LoRa 205
4.5 Putting All Together 208
4.6 Summary 209
4.7 Homework Problems and Questions 210
Bibliography 211
Part II Building Topologies 215
5 Non-3GPP Networks 217
5.1 Introduction 217
5.1.1 Netualizer 217
5.1.2 Wireshark 223
5.2 Lower Layers 224
5.2.1 Physical and Link Layers 224
5.2.2 Network Layers 229
5.2.3 Impairments 234
5.2.4 Transport Layers 238
5.2.4.1 UDP 238
5.2.5 TCP 241
5.3 RTC 246
5.3.1 SIP and RTP 247
5.3.2 Secure RTC 261
5.3.3 TLS 261
5.3.4 DTLS 266
5.3.5 SRTP 269
5.4 Codecs 274
5.5 Summary 276
5.6 Homework Problems and Questions 277
5.7 Lab Exercises 278
Bibliography 278
6 3GPP Networks 281
6.1 Introduction 281
6.2 Lower Layers 282
6.2.1 Physical/Link 282
6.2.2 Network/Transport 284
6.3 VoLTE 292
6.3.1 Speech 292
6.3.2 Audio and Video 295
6.4 Summary 300
6.5 Homework Problems and Questions 301
6.6 Lab Exercises 302
Bibliography 303
7 IoT Networks 305
7.1 Introduction 305
7.2 WPAN 305
7.2.1 Physical and Link Layers 306
7.2.2 Network Layer 309
7.2.3 Transport Layer 318
7.2.4 WPAN Rtc 323
7.3 LPWAN 324
7.3.1 Physical and Link Layers 324
7.3.2 Network Layer 327
7.3.3 Transport Layer 334
7.3.4 LPWAN RTC 339
7.4 Summary 340
7.5 Homework Problems and Questions 340
7.6 Lab Exercises 341
Bibliography 342
Index 345