Internet Communications Using SIP Delivering VolP and Multimedia Services with Session Initiation Protocol Second Edition Henry Sinnreich Alan B. Johnston WILEY Wiley Publishing, Inc.
Contents Foreword Acknowledgments Introduction xxi xxiii Chapter 1 Introduction 1 Problem: Too Many Public Networks 1 Incompatible Enterprise Communications 4 Network Consolidation: The Internet 4 Voice over IP 5 Presence The Dial Tone for the Twenty-First Century? 6 The Value Proposition of SIP 6 SIP Is Not a Miracle Protocol 6 The Short History of SIP 7 in This Book 8 SIP Open Source Code and SIP Products 9 for Telephony 10 10 10 Chapter 2 Internet Communications Enabied by SIP 11 Internet Multimedia Protocols 12 The Value of Signaling 13 Protocols for Media Description, Media Transport, and other Muldmedia Delivery 14 Addressing 15 SIP in a Nutshell 15 SIP Capabilities 17 Overview of Services Provided by SIP Servers 18 Peer-to-Peer SIP (P2PSIP) 19 xxv xi
xü Contents Caller Preferences 19 Mobility in the Wider Concept 20 Global Telephone Number Portability 20 SIP Application-Level Mobility 20 Context-Aware Communications: Presence and IM 21 SIP Presence 21 Instant Messaging 23 The Integration of Communications with Applications 23 E-Commerce: Customer Relations Management 23 Conferencing and Collaboration 24 Telephony Call Control Services 25 Intelligent Network Services Using SIP: ITU Services CS-1 and CS-2 25 SIP Service Creation Telephony-Style ; ' ' 26 ENUM 27 SIP Interworking with ITU-T Protocols 27 Mixed Internet-PSTN Services 29 PSTN and INTerworking (PINT) y 29 SPIRITS * 29 TRIP 29 SIP Security 31 SIP Accessibility to Communications for the Hearing and Speech Disabled 31 SIP Orphans 32 Commercial SIP Products 32 What SIP Does Not Do 33 Divergent Views on the Network 34.- " 35 35 Chapter 3 Archttectural Principles of the Internet 39 Telecom Architecture 39 Internet Architecture 42 The Internet Backbone Architecture 44 The Internet Standards Process 48 Protocols and Application Programming Interfaces 49 Is XML the Presentation Layer of the Internet Protocol Architecture? 50 Middle-Age Symptoms of the Internet 50 Fighting Complexity 51 52 52 Chapter 4 DNS and ENUM 53 Introduction 53 Addressing on the Internet 54 The Universal Resource Identifier (URI) 54 mailto: 55
Contents xiii Chapter 5 The Universal Resource Locator (URL) TelURI The phone-context SIP URI IANA ENUM Service Registrations The Domain Name System Delegation Caching A Partial DNS Glossary DNS and ENUM Usage Example Finding an Outgoing SIP Server Finding an Incoming SIP Server in the ENUM Case Call Setup Delay DNS-Based Routing Service Using SIP SIP URI or Telephone Number? The ENUM Functional Architecture ENUM and Number Portability Implementation Issues DNS and SIP User Preferences Application Scenarios for SIP Service Using ENUM PBX Enterprise Voice Network Enterprise System with IP Communications Residential User with ENUM Service Miscellaneous: ENUM Lookup of the Display Name DNS and Security Impersonation Eavesdropping Data Tampering Malicious Redirection Denial of Service Real-Time Internet Multimedia Introduction Freshening Up on IP Multicast Protocols Multicast Address Allocation Application-Level Multicast Transport Protocols IP Network Layer Services Differentiated Services Resource Reservation Integrated Services and DiffServ Networks Multiprotocol Label Switching Media and Data Formats Media Transport Using RTP RTP Payloads and Payload Format Specifications 55 56 56 57 58 58 59 59 60 62 63 64 67 67 67 69 71 71 72 73 74 74 76 76 77 77 77 78 78 78 79 79 81 81 83 85 85 86 86 87 88 88 89 89 90 91 92
xlv Contents Chapter 6 Chapter 7 Multimedia Server Recording and Playback Control Session Description Session Announcements Session Invitation Authentication and Key Distribution SIP Overview What Makes SIP Special SIP Enabled Network Watching How Sausages Are Being Made What SIP Is Not Introduction to SIP. Elements of a SIP Network User Agents Servers Location Services SIP Functions 4 Address Resolution Session-Related Functions Session Setup Media Negotiation Session Modihcation Session Termination and Cancellation Mid-Call Signaling Call Control Preconditions Call Setup Nonsession-Related Functions Mobility Message Transport Event Subscription and Notification Presence Publication Authentication Challenges Extensibility SIP Service Creation Services in SIP Service Example Server Implementation Called User Agent Implementation Calling User Agent Implementation Comparison New Methods and Headers Service Creation Options 93 93 93 93 94 94 94 97 97 98 101 102 102 106 106 106 107 107 108 110 110 111 114 116 117 118 121 123 124 126 127 128 128 130 132 132 135 135 136 136 137 138 140 141 142
Chapter 8 Chapter 9 Chapter 10 Call Processing Language Introduction to CPL Example of CPL Scripts SIP Common Gateway Interface SIP Application Programming Interfaces SIP Servlets JAIN SIPandVoiceXML User Preferences Introduction Preferences of Caller Example for Contact Example for Accept-Contact Example for Reject-Contact Preferences of the Called Party Server Support for User Preferences and for Policies SlPSecurity Threats Session Setup Presence and IM Security Mechanisms Authentication Confidentiality Secure SIP URI Scheme Integrity Identity Media Security SRTP MIKEY SDP Security Descriptions New Directions DTLS ZRTP - NAT and Firewall Traversal Network Address Translators Firewalls STUN, TURN, and ICE Application Layer Gateways Privacy Considerations 142 142 146 147 148 149 149 149 150 150 153 153 154 156 156 156 157 157 157 158 159 159 160 161 162 162 163 164 165 165 166 166 167 167 168 169 169 169 170 173 174 177 179 180 183
xvi Contents 184 184 Chapter 11 SIPTelephony 185 Basic Telephony Services 185 SIPandPSTN Interworking 185 Gateway Location and Routing 186 SIP/PSTN Protocol Interworking 187 Types of Gateways 188 SIP and Early Media 188 SIP Telephony and ISUP Tunneling 190 Enhanced Telephony Services 196 Call Control Services and Third-Party Call Control 199 Problem Statement 199 The REFER Method 201 SIP Third-Party Call Control 202 Basic Third-Party Call Control 203 Security for Third-Party Call Control 203 Peer-to-Peer Third-Party Call Control 205 206 207 Chapter 12 Voicemail and Universal Messaging 209 Problem Statement for Unified Messaging 209 Architecture and Operation 211 RTSP-Enabled Voice Message Retrieval 212 Depositing of Voice Messages 214 Notification for Waiting Messages 217 Simple Message Notificarion Format 217 Rieh Message Notificarion Format 220 Retrieval of Messages 221 221 221 Chapter 13 Presence and Instant Messaging 223 The Potential of SIP Presence, Events, and IM 224 The Evolution of IM and Presence 225 The IETF Model for Presence and IM 226 Client Server and Peer-to-Peer Presence and IM 228 SIP Event-Based Communications and Applications 229 Presence Event Package 231 Presence Information Data Format 233 The Data Model for Presence 235 Indication of Message Composition for IM 236 Rieh Presence Information 236 SIP Extensions for Instant Messaging 239 241 242
Contents xvii Chapter 14 SIP Conferendng 245 Introduction 245 SIP Conferendng Models 246 Ad Hoc and Scheduled Conferences 249 Changing the Nature of a Conference 249 Centralized Conferendng 251 251 251 Chapter 15 SIP Application Level Mobility 253 Mobility in Different Protocol Layers 254 Dimensions of Mobility 255 Examples of SIP Application-Layer Mobility 256 SIP Network-Based Fixed-Mobile Convergence 261 SIP Device-Based Fixed-Mobile Convergence 263 SIP Application-Layer Mobility and Mobile IP 263 Multimodal Mobile Device Technology and Issues 265 Network Control versus User Control of Mobility 266 IEEE 802.21 Media-Independent Handover (MIH) 267 Network Selecrion Issues 269 270 270 Chapter 16 Emergency and Preemption Communication Services 273 Requirements 274 Location Information 275 Typesof Location Information 275 Sourcesof Location Information 275 DNS-Based Location Information 275 Internet-Based Emergency Calling 277 Identifying an Internet Emergency Call: The SOS URI 278 / Internet Emergency Call Routing 278 Security for Emergency Call Services 279 Using the PSTN for VoIP Emergency Calls 280 Emergency Communication Services 281 Emergency Call Preemption Using SIP 282 Linking SIP Preemption to IP Network and Link Layer Preemption 284 285 285 Chapter 17 Accessibility for the Disabled 287 About Accessibility 287 Accessibility on Legacy Networks and on the Internet 288 Requirements for Accessibility 289 Text over IP (ToIP) 290 Performance Metrics for ToIP 293
xviü Contents Chapter 18 Chapter 19 Chapter 20 Transcoding Services Transcoding Scenarios Call Control Models for Transcoding Services Quality of Service for Real-Time Internet Communications Voice Quality Metrics Delay Limits for Voice Burst vs. Average Packet Loss Acoustics and the Network Internet Codecs Codecs in Wireless Networks and Transcoding Codec Bandwidth The Endpoint Quality for Voice The Internet Performance Concerns Regarding Congestion Control Internet Traffic Statistics: Voice Is Negligible A of Internet QoS Technologies # Best Effort Is for the Best Reasons Monitoring QoS for Real-Time Communications SIP Component Services Master/SIave VoIP Systems IP Telephony Gateways The Converged Applications Environment The Control of Service Context Voicemail Collecting DTMF Digits Interactive Voice Response System Scheduled Conference Service Peer-to-Peer SIP Definitions for P2P Networks, Overlay Networks Peer-to-Peer Networks Distributed Hash Tables (DHTs) Characteristics of P2P Computing Security of P2P Networks The Chord Protocol P2P SIP CS SIP Model P2P SIP Model 294 294 296 298 299 301 303 303 304 304 305 307 307 308 308 309 309 311 313 314 315 315 317 318 320 323 326 328 330 333 335 337 337 339 340 340 341 342 344 344 345 346 347 348
Contents xix Use Cases for P2P SIP 348 Disruption of the VoIP Infrastructure Model 349 350 351 Chapter 21 Conclusions and Future Directions 353 Short Term Challenges 355 Future Services: The Internet Is the Service 355 Still to Develop: Peer-to-Peer SIP Standards 355 Prediction: The Long Road Ahead 356 356 356 Index 357 / /