SIP: Understanding the Session Initiation Protocol is a pick for any communications engineering library at the college level. It appears in its third edition and provides details on call signaling and IP telephony, and has been expanded with numerous new chapters covering peer-to-peer SIP, ABNF and XML, and other details key to telecommunications network development and SIP uses in Internet architecture.
Author(s): Alan B. Johnston
Series: Artech House telecommunications library
Edition: 3
Publisher: Artech House Publishers
Year: 2009
Language: English
Pages: 427
SIP: Understanding the Session Initiation Protocol Third Edition......Page 2
Contents......Page 8
Foreword to the First Edition......Page 22
Preface to the Third Edition......Page 24
Preface to the Second Edition......Page 26
Preface to the First Edition......Page 28
1.1 Signaling Protocols......Page 32
1.2.2 Data/Link Layer......Page 33
1.2.3 Network Layer......Page 34
1.2.4 Transport Layer......Page 35
1.2.6 Utility Applications......Page 40
1.2.7 Multicast......Page 41
1.4 URLs, URIs, and URNs......Page 42
1.5 Domain Name Service......Page 44
1.5.1 DNS Resource Records......Page 45
1.5.3 Service Resource Records (SRV)......Page 46
1.5.5 DNS Resolvers......Page 47
1.6 Global Open Standards......Page 48
1.7 Internet Standards Process......Page 49
1.8 A Brief History of SIP......Page 51
References......Page 52
2.1 A Simple Session Establishment Example......Page 54
2.2 SIP Call with a Proxy Server......Page 62
2.3 SIP Registration Example......Page 67
2.4 SIP Presence and Instant Message Example......Page 69
2.5.1 UDP Transport......Page 74
2.5.2 TCP Transport......Page 76
2.5.4 SCTP Transport......Page 77
2.6 Transport Protocol Selection......Page 78
2.8 Questions......Page 79
References......Page 81
3.1 SIP User Agents......Page 82
3.2 Presence Agents......Page 83
3.3 Back-to-Back User Agents......Page 84
3.4 SIP Gateways......Page 85
3.5.1 Proxy Servers......Page 87
3.5.2 Redirect Servers......Page 92
3.5.3 Registrar Servers......Page 94
3.6 Uniform Resource Indicators......Page 95
3.7 Acknowledgment of Messages......Page 96
3.8 Reliability......Page 97
3.9 Multicast Support......Page 99
3.11 Questions......Page 100
References......Page 103
4.1.1 INVITE......Page 104
4.1.2 REGISTER......Page 107
4.1.4 ACK......Page 109
4.1.5 CANCEL......Page 112
4.1.6 OPTIONS......Page 113
4.1.7 SUBSCRIBE......Page 115
4.1.8 NOTIFY......Page 118
4.1.9 PUBLISH......Page 119
4.1.10 REFER......Page 122
4.1.11 MESSAGE......Page 125
4.1.12 INFO......Page 127
4.1.13 PRACK......Page 128
4.1.14 UPDATE......Page 130
4.2 URI and URL Schemes Used by SIP......Page 131
4.2.1 SIP and SIPS URIs......Page 132
4.2.2 Telephone URLs......Page 133
4.3 Tags......Page 135
4.4 Message Bodies......Page 136
4.6 Questions......Page 138
References......Page 139
5 SIP Response Messages......Page 142
5.1.1 100 Trying......Page 143
5.1.5 183 Session Progress......Page 144
5.2.1 200 OK......Page 145
5.3.1 300 Multiple Choices......Page 146
5.4.1 400 Bad Request......Page 147
5.4.4 403 Forbidden......Page 148
5.4.8 407 Proxy Authentication Required......Page 149
5.4.13 412 Conditional Request Failed......Page 150
5.4.18 417 Unknown Resource Priority......Page 151
5.4.23 428 Use Identity Header......Page 152
5.4.28 437 Unsupported Certifi cate......Page 153
5.4.34 481 Dialog/Transaction Does Not Exist......Page 154
5.4.36 483 Too Many Hops......Page 155
5.4.38 485 Ambiguous......Page 156
5.4.43 491 Request Pending......Page 157
5.4.45 494 Security Agreement Required......Page 158
5.5.5 504 Gateway Timeout......Page 159
5.6.2 603 Decline......Page 160
5.7 Questions......Page 161
References......Page 162
6 SIP Header Fields......Page 164
6.1.2 Accept-Encoding......Page 165
6.1.4 Alert-Info......Page 167
6.1.8 Call-ID......Page 168
6.1.9 Contact......Page 169
6.1.10 CSeq......Page 171
6.1.14 From......Page 172
6.1.15 History Info......Page 173
6.1.18 Priv-Answer-Mod......Page 174
6.1.21 Refer-Sub......Page 175
6.1.23 Subject......Page 176
6.1.24 Supported......Page 177
6.1.27 User-Agent......Page 178
6.1.28 Via......Page 179
6.2.1 Accept-Contact......Page 180
6.2.4 Event......Page 181
6.2.8 In-Reply-To......Page 182
6.2.10 Join......Page 183
6.2.13 Proxy-Authorization......Page 184
6.2.14 Proxy-Require......Page 185
6.2.18 Max-Breadth......Page 186
6.2.21 Refer-To......Page 187
6.2.23 Reply-To......Page 188
6.2.25 Reject-Contact......Page 189
6.2.27 Require......Page 190
6.2.30 Route......Page 191
6.2.32 Security-Client......Page 192
6.2.36 Subscription-State......Page 193
6.3.1 Accept-Resource-Priority......Page 194
6.3.3 Error-Info......Page 195
6.3.7 Permission-Missing......Page 196
6.3.11 Service-Route......Page 197
6.3.14 Warning......Page 198
6.3.16 RSeq......Page 199
6.4.2 Content-Disposition......Page 200
6.4.5 Content-Type......Page 201
6.5 Questions......Page 202
References......Page 203
7.1 IP Mobility......Page 208
7.2 SIP Mobility......Page 209
7.3 IMS and SIP......Page 215
7.5 Conclusion......Page 217
References......Page 218
8.2 History of IM and Presence......Page 220
8.4.1 SIP Events Framework......Page 222
8.4.2 Presence Bodies......Page 223
8.4.3 Resource Lists......Page 225
8.4.4 Filtering......Page 231
8.4.5 Conditional Event Notifi cations and ETags......Page 232
8.4.6 Partial Publication......Page 233
8.4.7 Presence Documents Summary......Page 235
8.5.2 Common Profi le for Instant Messaging......Page 236
8.5.3 Instant Messaging Delivery Notifi cation......Page 237
8.5.4 Message Composition Indication......Page 239
8.5.5 Multiple Recipient Messages......Page 240
8.5.6 Session Mode Instant Messaging......Page 241
8.6.1 Standardization as Extensible Messaging and Presence Protocol......Page 244
8.7 Conclusion......Page 245
8.8 Questions......Page 246
References......Page 247
9.1 Gateway Services......Page 250
9.3 SIP Service Examples......Page 252
9.4 Voicemail......Page 254
9.5 SIP Video......Page 256
9.6 Facsimile......Page 257
9.7.1 Focus......Page 258
9.7.3 Non-SIP Conference Control......Page 259
9.8 Application Sequencing......Page 260
9.9 Other SIP Service Architectures......Page 261
9.9.3 Service Delivery Platform......Page 262
References......Page 263
10.1 Introduction to NAT......Page 266
10.2 Advantages of NAT......Page 267
10.3 Disadvantages of NAT......Page 268
10.4 How NAT Works......Page 269
10.5 Types of NAT......Page 270
10.5.2 Address Dependent Mapping NAT......Page 271
10.5.4 Hairpinning Support......Page 272
10.5.7 Mapping Refresh......Page 273
10.5.8 Filtering Modes......Page 274
10.6 NAT Mapping Examples......Page 275
10.7 NATs and SIP......Page 276
10.8 Properties of a Friendly NAT or How a NAT Should BEHAVE......Page 278
10.9 STUN Protocol......Page 279
10.11 SIP Problems with NAT......Page 280
10.11.2 Connection Reuse......Page 281
10.12.1 Symmetric RTP......Page 282
10.13 Hole Punching......Page 284
10.14 TURN: Traversal Using Relays Around NAT......Page 288
10.15 ICE: Interactive Connectivity Establishment......Page 289
10.16 Conclusion......Page 290
10.17 Questions......Page 291
References......Page 292
11.1.1 Circuit Associated Signaling......Page 294
11.2 SIP for Telephones......Page 295
11.3 Media Gateway Control Protocols......Page 296
11.4.1 Introduction to H.323......Page 297
11.4.2 Example of H.323......Page 299
References......Page 302
12.1 Real-Time Transport Protocol (RTP)......Page 304
12.2 RTP Control Protocol (RTCP)......Page 309
12.2.2 RTCP Extended Reports......Page 310
12.3 Compression......Page 311
12.4 RTP Audio Video Profi les......Page 312
12.4.1 Audio Codecs......Page 313
12.4.2 Video Codecs......Page 314
12.5 Conferencing......Page 315
12.7 DTMF Transport......Page 316
12.8 Questions......Page 317
References......Page 318
13.1 Session Description Protocol (SDP)......Page 320
13.1.2 Origin......Page 322
13.1.6 Connection Data......Page 323
13.1.10 Media Announcements......Page 324
13.1.11 Attributes......Page 325
13.2 SDP Extensions......Page 327
13.3 The Offer Answer Model......Page 328
13.3.4 Special Case—Call Hold......Page 330
13.5 SIP Offer Answer Exchanges......Page 331
13.7 Questions......Page 332
References......Page 335
14.1 Basic Security Concepts......Page 338
14.1.1 Encryption......Page 339
14.1.4 Message Authentication......Page 340
14.1.5 Digital Certifi cates......Page 341
14.2 Threats......Page 342
14.3.1 IPSec......Page 343
14.3.3 DNSSec......Page 344
14.4.1 SIP Digest Authentication......Page 345
14.4.2 SIP Authentication Using TLS......Page 347
14.4.4 Identity......Page 348
14.4.5 Enhanced SIP Identity......Page 349
14.5 SIP Certifi cate Service......Page 350
14.6.1 Non-RTP Media......Page 353
14.6.3 Keying SRTP......Page 354
14.6.4 Best Effort Encryption......Page 356
14.6.5 ZRTP......Page 357
14.7 Questions......Page 358
References......Page 359
15.1 P2P Properties......Page 362
15.2 P2P Properties of SIP......Page 363
15.3 P2P Overlays......Page 364
15.4 RELOAD......Page 367
15.5 Host Identity Protocol......Page 369
15.6 Conclusion......Page 370
15.7 Questions......Page 371
References......Page 372
16.1 SIP Call with Authentication, Proxies, and Record-Route......Page 374
16.2 SIP Call with Stateless and Stateful Proxies with Called Party Busy......Page 380
16.3 SIP to PSTN Call Through Gateways......Page 383
16.4 PSTN to SIP Call Through a Gateway......Page 387
16.5 Parallel Search......Page 390
16.6 Call Setup with Two Proxies......Page 394
16.7 SIP Presence and Instant Message Example......Page 396
References......Page 399
17 Future Directions......Page 400
17.2 More Extensions......Page 401
17.5 Making Features Work Better......Page 402
17.10 Security Deployment......Page 403
References......Page 404
A.1 ABNF Rules......Page 406
A.2 Introduction to XML......Page 408
References......Page 410
About the Author......Page 412
Index......Page 414