SIP: Understanding the Session Initiation Protocol, Second Edition
معرفی کتاب «SIP: Understanding the Session Initiation Protocol, Second Edition» نوشتهٔ Alan B. Johnston، منتشرشده توسط نشر Artech House Publishers در سال 2003. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «SIP: Understanding the Session Initiation Protocol, Second Edition» در دستهٔ بدون دستهبندی قرار دارد.
This newly revised edition of the ground-breaking Artech House bestseller, SIP: Understanding the Session Initiation Protocol offers a thorough and up-to-date understanding of this revolutionary technology for IP Telephony. Essential reading for anyone involved in the development and operation of voice or data networks, the second edition includes brand new discussions on the use of SIP as a wireless communications protocol and mobility technology. Professionals find details on the latest application areas such as instant messaging.The book explains how SIP is a highly-scalable and cost-effective way to offer new and exciting telecommunication feature sets. From an examination of SIP as a key component in the Internet multimedia conferencing architecture: to a look at the future direction of SIP, practitioners get the knowledge they need to design "next generation" networks and develop new applications and software stacks. Cover 1 Contents 8 Foreword to the First Edition 18 Preface to the Second Edition 20 Preface to the First Edition 22 1 SIP and the Internet 26 1.1 Signaling Protocols 26 1.2 The Internet Engineering Task Force 27 1.3 A Brief History of SIP 28 1.4 Internet Multimedia Protocol Stack 29 1.4.1 Physical Layer 29 1.4.2 Internet Layer 29 1.4.3 Transport Layer 30 1.4.4 Application Layer 33 1.5 Utility Applications 34 1.6 DNS and IP Addresses 35 1.7 URLs and URIs 37 1.8 Multicast 37 1.9 ABNF Representation 38 References 39 2 Introduction to SIP 42 2.1 A Simple Session Establishment Example 42 2.2 SIP Call with Proxy Server 50 2.3 SIP Registration Example 56 2.4 SIP Presence and Instant Message Example 58 2.5 Message Transport 63 2.5.1 UDP Transport 63 2.5.2 TCP Transport 65 2.5.3 TLS Transport 65 2.5.4 SCTP Transport 66 References 67 3 SIP Clients and Servers 68 3.1 SIP User Agents 68 3.2 Presence Agents 69 3.3 Back- to- Back User Agents 70 3.4 SIP Gateways 70 3.5 SIP Servers 72 3.5.1 Proxy Servers 72 3.5.2 Redirect Servers 77 3.5.3 Registration Servers 80 3.6 Acknowledgment of Messages 80 3.7 Reliability 81 3.8 Authentication 82 3.9 S/ MIME Encryption 84 3.10 Multicast Support 85 3.11 Firewalls and NAT Interaction 86 3.12 Protocols and Extensions for NAT Traversal 87 3.12.1 STUN Protocol 88 3.12.2 TURN Protocol 90 3.12.3 Other SIP/ SDP NAT- Related Extensions 91 References 93 4 SIP Request Messages 96 4.1 Methods 96 4.1.1 INVITE 97 4.1.2 REGISTER 99 4.1.3 BYE 101 4.1.4 ACK 102 4.1.5 CANCEL 104 4.1.6 OPTIONS 106 4.1.7 REFER 107 4.1.8 SUBSCRIBE 111 4.1.9 NOTIFY 114 4.1.10 MESSAGE 115 4.1.11 INFO 118 4.1.12 PRACK 119 4.1.13 UPDATE 121 4.2 URI and URL Schemes Used by SIP 123 4.2.1 SIP and SIPS URIs 123 4.2.2 Telephone URLs 125 4.2.3 Presence and Instant Messaging URLs 126 4.3 Tags 127 4.4 Message Bodies 127 References 129 5 SIP Response Messages 132 5.1 Informational 133 5.1.1 100 Trying 134 5.1.2 180 Ringing 134 5.1.3 181 Call Is Being Forwarded 134 5.1.4 182 Call Queued 134 5.1.5 183 Session Progress 135 5.2 Success 137 5.2.1 200 OK 137 5.2.2 202 Accepted 137 5.3 Redirection 137 5.3.1 300 Multiple Choices 138 5.3.2 301 Moved Permanently 138 5.3.3 302 Moved Temporarily 138 5.3.4 305 Use Proxy 138 5.3.5 380 Alternative Service 138 5.4 Client Error 138 5.4.1 400 Bad Request 139 5.4.2 401 Unauthorized 139 5.4.3 402 Payment Required 139 5.4.4 403 Forbidden 140 5.4.5 404 Not Found 140 5.4.6 405 Method Not Allowed 140 5.4.7 406 Not Acceptable 140 5.4.8 407 Proxy Authentication Required 140 5.4.9 408 Request Timeout 141 5.4.10 409 Conflict 141 5.4.11 410 Gone 141 5.4.12 411 Length Required 141 5.4.13 413 Request Entity Too Large 142 5.4.14 414 Request- URI Too Long 142 5.4.15 415 Unsupported Media Type 142 5.4.16 416 Unsupported URI Scheme 142 5.4.17 420 Bad Extension 142 5.4.18 421 Extension Required 142 5.4.19 422 Session Timer Interval Too Small 143 5.4.20 423 Interval Too Brief 143 5.4.21 428 Use Authentication Token 143 5.4.22 429 Provide Referror Identity 143 5.4.23 480 Temporarily Unavailable 144 5.4.24 481 Dialog/ Transaction Does Not Exist 144 5.4.25 482 Loop Detected 144 5.4.26 483 Too Many Hops 144 5.4.27 484 Address Incomplete 145 5.4.28 485 Ambiguous 145 5.4.29 486 Busy Here 146 5.4.30 487 Request Terminated 147 5.4.31 488 Not Acceptable Here 147 5.4.32 489 Bad Event 147 5.4.33 491 Request Pending 147 5.4.34 493 Request Undecipherable 147 5.5 Server Error 148 5.5.1 500 Server Internal Error 148 5.5.2 501 Not Implemented 149 5.5.3 502 Bad Gateway 149 5.5.4 503 Service Unavailable 149 5.5.5 504 Gateway Timeout 149 5.5.6 505 Version Not Supported 149 5.5.7 513 Message Too Large 150 5.6 Global Error 150 5.6.1 600 Busy Everywhere 150 5.6.2 603 Decline 150 5.6.3 604 Does Not Exist Anywhere 150 5.6.4 606 Not Acceptable 150 References 151 6 SIP Header Fields 152 6.1 Request and Response Header Fields 153 6.1.1 Alert- Info 153 6.1.2 Allow- Events 154 6.1.3 Call- ID 154 6.1.4 Contact 155 6.1.5 CSeq 157 6.1.6 Date 157 6.1.7 Encryption 158 6.1.8 From 158 6.1.9 Organization 159 6.1.10 Record- Route 159 6.1.11 Retry- After 160 6.1.12 Subject 160 6.1.13 Supported 161 6.1.14 Timestamp 161 6.1.15 To 162 6.1.16 User- Agent 162 6.1.17 Via 163 6.2 Request Header Fields 165 6.2.1 Accept 165 6.2.2 Accept- Contact 165 6.2.3 Accept- Encoding 166 6.2.4 Accept- Language 166 6.2.5 Authorization 167 6.2.6 Call- Info 167 6.2.7 Event 168 6.2.8 Hide 168 6.2.9 In- Reply- To 168 6.2.10 Join 168 6.2.11 Priority 169 6.2.12 Privacy 170 6.2.13 Proxy- Authorization 170 6.2.14 Proxy- Require 170 6.2.15 P- OSP- Auth- Token 170 6.2.16 P- Asserted- Identity 172 6.2.17 P- Preferred- Identity 172 6.2.18 Max- Forwards 172 6.2.19 Reason 172 6.2.20 Refer- To 173 6.2.21 Referred- By 173 6.2.22 Reply- To 174 6.2.23 Replaces 175 6.2.24 Reject- Contact 175 6.2.25 Request- Disposition 176 6.2.26 Require 176 6.2.27 Response- Key 177 6.2.28 Route 177 6.2.29 RAck 177 6.2.30 Session- Expires 178 6.2.31 Subscription- State 178 6.3 Response Header Fields 178 6.3.1 Authenticaton- Info 178 6.3.2 Error- Info 179 6.3.3 Min- Expires 179 6.3.4 Min- SE 179 6.3.5 Proxy- Authenticate 180 6.3.6 Server 180 6.3.7 Unsupported 180 6.3.8 Warning 181 6.3.9 WWW- Authenticate 181 6.3.10 RSeq 181 6.4 Message Body Header Fields 183 6.4.1 Allow 183 6.4.2 Content- Encoding 183 6.4.3 Content- Disposition 183 6.4.4 Content- Language 183 6.4.5 Content- Length 184 6.4.6 Content- Type 184 6.4.7 Expires 185 6.4.8 MIME- Version 185 References 185 7 Related Protocols 188 7.1 SDP ¡a Session Description Protocol 188 7.1.1 Protocol Version 190 7.1.2 Origin 190 7.1.3 Session Name and Information 191 7.1.4 URI 191 7.1.5 E- Mail Address and Phone Number 191 7.1.6 Connection Data 191 7.1.7 Bandwidth 192 7.1.8 Time, Repeat Times, and Time Zones 192 7.1.9 Encryption Keys 192 7.1.10 Media Announcements 193 7.1.11 Attributes 193 7.1.12 Use of SDP in SIP 194 7.2 RTP ¡a Real- Time Transport Protocol 196 7.3 RTP Audio Video Profiles 199 7.4 PSTN Protocols 201 7.4.1 Circuit Associated Signaling 201 7.4.2 ISUP Signaling 201 7.4.3 ISDN Signaling 201 7.5 SIP for Telephones 202 7.6 Universal Plug and Play Protocol 203 References 203 8 Comparison to H. 323 206 8.1 Introduction to H. 323 206 8.2 Example of H. 323 209 8.3 Versions 212 8.4 Comparison 212 8.4.1 Fundamental Differences 213 8.4.2 Strengths of Each Protocol 215 8.5 Conclusion 216 References 216 9 Wireless and 3GPP 218 9.1 IP Mobility 218 9.2 SIP Mobility 219 9.3 3GPP Architecture and SIP 226 9.4 3GPP Header Fields 228 9.4.1 Service- Route 228 9.4.2 Path 228 9.4.3 Other P- Headers 228 9.5 Future of SIP and Wireless 229 References 229 10 Call Flow Examples 232 10.1 SIP Call with Authentication, Proxies, and Record- Route 232 10.2 SIP Call with Stateless and Stateful Proxies with Called Party Busy 239 10.3 SIP to PSTN Call Through Gateway 243 10.4 PSTN to SIP Call Through Gateway 247 10.5 Parallel Search 250 10.6 H. 323 to SIP Call 255 10.7 3GPP Wireless Call Flow 260 10.8 Call Setup Example with Two Proxies 279 10.9 SIP Presence and Instant Message Example 281 References 284 11 Future Directions 286 11.1 SIP, SIPPING, and SIMPLE Working Group Design Teams 286 11.1.1 SIP and Hearing Impairment Design Team 287 11.1.2 Conferencing Design Team 287 11.1.3 Application Interaction Design Team 288 11.1.4 Emergency Calling Design Team 288 11.2 Other SIP Work Areas 288 11.2.1 Emergency Preparedness 288 11.2.2 Globally Routable Contact URIs 288 11.2.3 Service Examples 288 11.3 SIP Instant Message and Presence Work 289 References 289 Appendix A: Changes in the SIP Specification from RFC 2543 to RFC 3261 292 About the Author 296 Index 298 Artech House Telecommunications Library Cover......Page 1 Contents......Page 8 Foreword to the First Edition......Page 18 Preface to the Second Edition......Page 20 Preface to the First Edition......Page 22 1.1 Signaling Protocols......Page 26 1.2 The Internet Engineering Task Force......Page 27 1.3 A Brief History of SIP......Page 28 1.4.2 Internet Layer......Page 29 1.4.3 Transport Layer......Page 30 1.4.4 Application Layer......Page 33 1.5 Utility Applications......Page 34 1.6 DNS and IP Addresses......Page 35 1.8 Multicast......Page 37 1.9 ABNF Representation......Page 38 References......Page 39 2.1 A Simple Session Establishment Example......Page 42 2.2 SIP Call with Proxy Server......Page 50 2.3 SIP Registration Example......Page 56 2.4 SIP Presence and Instant Message Example......Page 58 2.5.1 UDP Transport......Page 63 2.5.3 TLS Transport......Page 65 2.5.4 SCTP Transport......Page 66 References......Page 67 3.1 SIP User Agents......Page 68 3.2 Presence Agents......Page 69 3.4 SIP Gateways......Page 70 3.5.1 Proxy Servers......Page 72 3.5.2 Redirect Servers......Page 77 3.6 Acknowledgment of Messages......Page 80 3.7 Reliability......Page 81 3.8 Authentication......Page 82 3.9 S/ MIME Encryption......Page 84 3.10 Multicast Support......Page 85 3.11 Firewalls and NAT Interaction......Page 86 3.12 Protocols and Extensions for NAT Traversal......Page 87 3.12.1 STUN Protocol......Page 88 3.12.2 TURN Protocol......Page 90 3.12.3 Other SIP/ SDP NAT- Related Extensions......Page 91 References......Page 93 4.1 Methods......Page 96 4.1.1 INVITE......Page 97 4.1.2 REGISTER......Page 99 4.1.3 BYE......Page 101 4.1.4 ACK......Page 102 4.1.5 CANCEL......Page 104 4.1.6 OPTIONS......Page 106 4.1.7 REFER......Page 107 4.1.8 SUBSCRIBE......Page 111 4.1.9 NOTIFY......Page 114 4.1.10 MESSAGE......Page 115 4.1.11 INFO......Page 118 4.1.12 PRACK......Page 119 4.1.13 UPDATE......Page 121 4.2.1 SIP and SIPS URIs......Page 123 4.2.2 Telephone URLs......Page 125 4.2.3 Presence and Instant Messaging URLs......Page 126 4.4 Message Bodies......Page 127 References......Page 129 5 SIP Response Messages......Page 132 5.1 Informational......Page 133 5.1.4 182 Call Queued......Page 134 5.1.5 183 Session Progress......Page 135 5.3 Redirection......Page 137 5.4 Client Error......Page 138 5.4.3 402 Payment Required......Page 139 5.4.8 407 Proxy Authentication Required......Page 140 5.4.12 411 Length Required......Page 141 5.4.18 421 Extension Required......Page 142 5.4.22 429 Provide Referror Identity......Page 143 5.4.26 483 Too Many Hops......Page 144 5.4.28 485 Ambiguous......Page 145 5.4.29 486 Busy Here......Page 146 5.4.34 493 Request Undecipherable......Page 147 5.5.1 500 Server Internal Error......Page 148 5.5.6 505 Version Not Supported......Page 149 5.6.4 606 Not Acceptable......Page 150 References......Page 151 6 SIP Header Fields......Page 152 6.1.1 Alert- Info......Page 153 6.1.3 Call- ID......Page 154 6.1.4 Contact......Page 155 6.1.6 Date......Page 157 6.1.8 From......Page 158 6.1.10 Record- Route......Page 159 6.1.12 Subject......Page 160 6.1.14 Timestamp......Page 161 6.1.16 User- Agent......Page 162 6.1.17 Via......Page 163 6.2.2 Accept- Contact......Page 165 6.2.4 Accept- Language......Page 166 6.2.6 Call- Info......Page 167 6.2.10 Join......Page 168 6.2.11 Priority......Page 169 6.2.15 P- OSP- Auth- Token......Page 170 6.2.19 Reason......Page 172 6.2.21 Referred- By......Page 173 6.2.22 Reply- To......Page 174 6.2.24 Reject- Contact......Page 175 6.2.26 Require......Page 176 6.2.29 RAck......Page 177 6.3.1 Authenticaton- Info......Page 178 6.3.4 Min- SE......Page 179 6.3.7 Unsupported......Page 180 6.3.10 RSeq......Page 181 6.4.4 Content- Language......Page 183 6.4.6 Content- Type......Page 184 References......Page 185 7.1 SDP ¡a Session Description Protocol......Page 188 7.1.2 Origin......Page 190 7.1.6 Connection Data......Page 191 7.1.9 Encryption Keys......Page 192 7.1.11 Attributes......Page 193 7.1.12 Use of SDP in SIP......Page 194 7.2 RTP ¡a Real- Time Transport Protocol......Page 196 7.3 RTP Audio Video Profiles......Page 199 7.4.3 ISDN Signaling......Page 201 7.5 SIP for Telephones......Page 202 References......Page 203 8.1 Introduction to H. 323......Page 206 8.2 Example of H. 323......Page 209 8.4 Comparison......Page 212 8.4.1 Fundamental Differences......Page 213 8.4.2 Strengths of Each Protocol......Page 215 References......Page 216 9.1 IP Mobility......Page 218 9.2 SIP Mobility......Page 219 9.3 3GPP Architecture and SIP......Page 226 9.4.3 Other P- Headers......Page 228 References......Page 229 10.1 SIP Call with Authentication, Proxies, and Record- Route......Page 232 10.2 SIP Call with Stateless and Stateful Proxies with Called Party Busy......Page 239 10.3 SIP to PSTN Call Through Gateway......Page 243 10.4 PSTN to SIP Call Through Gateway......Page 247 10.5 Parallel Search......Page 250 10.6 H. 323 to SIP Call......Page 255 10.7 3GPP Wireless Call Flow......Page 260 10.8 Call Setup Example with Two Proxies......Page 279 10.9 SIP Presence and Instant Message Example......Page 281 References......Page 284 11.1 SIP, SIPPING, and SIMPLE Working Group Design Teams......Page 286 11.1.2 Conferencing Design Team......Page 287 11.2.3 Service Examples......Page 288 References......Page 289 Appendix A: Changes in the SIP Specification from RFC 2543 to RFC 3261......Page 292 About the Author......Page 296 Index......Page 298 This newly revised edition of the ground-breaking Artech House bestseller, Understanding the Session Initiation Protocol offers a thorough and up-to-date understanding of this revolutionary technology for IP Telephony. Essential reading for anyone involved in the development and operation of voice or data networks, the second edition includes brand new discussions on the use of SIP as a wireless communications protocol and mobility technology. Professionals find details on the latest application areas such as instant messaging. The book explains how SIP is a highly-scalable and cost-effective way to offer new and exciting telecommunication feature sets. From an examination of SIP as a key component in the Internet multimedia conferencing architecture to a look at the future direction of SIP, practitioners get the knowledge they need to design "next generation" networks and develop new applications and software stacks. This revised edition of "SIP: Understanding the Session Initiation Protocol" gives you a thorough and up-to-date understanding of this revolutionary protocol for call signalling and IP telephony. The second edition includes brand new discussions on the use of SIP for wireless multimedia communications. It explains how SIP is powerful "rendezvous" protocol that leverages mobility and presence to allow users to communicate using different devices, modes and services anywhere they are connected to the Internet. You learn why SIP has been chosen by the 3GPP (3rd Generation Partnership Program for wireless cell phones) as the core signalling, presence and instant messaging protocol. This newly revised edition of the ground-breaking Artech House bestseller, SIP: Understanding the Session Initiation Protocol gives you a thorough and up-to-date understanding of this revolutionary protocol for call signaling and IP Telephony. The second edition includes brand new discussions on the use of SIP for wireless multimedia communications. It explains how SIP is powerful "rendezvous" protocol that leverages mobility and presence to allow users to communicate using different devices, modes, and services anywhere they are connected to the Internet You learn why SIP has been chosen by t
دانلود کتاب SIP: Understanding the Session Initiation Protocol, Second Edition