Contents Foreword to the First Edition xvii Preface to the Second Edition xix Preface to the First Edition xxi 1 SIP and the Internet 1 1.1 Signaling Protocols 1 1.2 The Internet Engineering Task Force 2 1.3 A Brief History of SIP 3 1.4 Internet Multimedia Protocol Stack 4 1.4.1 Physical Layer 4 1.4.2 Internet Layer 4 1.4.3 Transport Layer 5 1.4.4 Application Layer 8 1.5 Utility Applications 9 1.6 DNS and IP Addresses 10 1.7 URLs and URIs 12 1.8 Multicast 12 1.9 ABNF Representation 13 References 14 2 Introduction to SIP 17 2.1 A Simple Session Establishment Example 17 2.2 SIP Call with Proxy Server 25 2.3 SIP Registration Example 31 2.4 SIP Presence and Instant Message Example 33 2.5 Message Transport 38 2.5.1 UDP Transport 38 2.5.2 TCP Transport 40 2.5.3 TLS Transport 40 2.5.4 SCTP Transport 41 References 42 3 SIP Clients and Servers 43 3.1 SIP User Agents 43 3.2 Presence Agents 44 3.3 Back-to-Back User Agents 45 3.4 SIP Gateways 45 3.5 SIP Servers 47 3.5.1 Proxy Servers 47 3.5.2 Redirect Servers 52 3.5.3 Registration Servers 55 3.6 Acknowledgment of Messages 55 3.7 Reliability 56 3.8 Authentication 57 3.9 S/MIME Encryption 59 3.10 Multicast Support 60 3.11 Firewalls and NAT Interaction 61 3.12 Protocols and Extensions for NAT Traversal 62 3.12.1 STUN Protocol 63 3.12.2 TURN Protocol 65 3.12.3 Other SIP/SDP NAT-Related Extensions 66 References 68 viii SIP: Understanding the Session Initiation Protocol 4 SIP Request Messages 71 4.1 Methods 71 4.1.1 INVITE 72 4.1.2 REGISTER 74 4.1.3 BYE 76 4.1.4 ACK 77 4.1.5 CANCEL 79 4.1.6 OPTIONS 81 4.1.7 REFER 82 4.1.8 SUBSCRIBE 86 4.1.9 NOTIFY 89 4.1.10 MESSAGE 90 4.1.11 INFO 93 4.1.12 PRACK 94 4.1.13 UPDATE 96 4.2 URI and URL Schemes Used by SIP 98 4.2.1 SIP and SIPS URIs 98 4.2.2 Telephone URLs 100 4.2.3 Presence and Instant Messaging URLs 101 4.3 Tags 102 4.4 Message Bodies 102 References 104 5 SIP Response Messages 107 5.1 Informational 108 5.1.1 100 Trying 109 5.1.2 180 Ringing 109 5.1.3 181 Call Is Being Forwarded 109 5.1.4 182 Call Queued 109 5.1.5 183 Session Progress 110 5.2 Success 112 5.2.1 200 OK 112 5.2.2 202 Accepted 112 5.3 Redirection 112 5.3.1 300 Multiple Choices 113 Contents ix 5.3.2 301 Moved Permanently 113 5.3.3 302 Moved Temporarily 113 5.3.4 305 Use Proxy 113 5.3.5 380 Alternative Service 113 5.4 Client Error 113 5.4.1 400 Bad Request 114 5.4.2 401 Unauthorized 114 5.4.3 402 Payment Required 114 5.4.4 403 Forbidden 115 5.4.5 404 Not Found 115 5.4.6 405 Method Not Allowed 115 5.4.7 406 Not Acceptable 115 5.4.8 407 Proxy Authentication Required 115 5.4.9 408 Request Timeout 116 5.4.10 409 Conflict 116 5.4.11 410 Gone 116 5.4.12 411 Length Required 116 5.4.13 413 Request Entity Too Large 117 5.4.14 414 Request-URI Too Long 117 5.4.15 415 Unsupported Media Type 117 5.4.16 416 Unsupported URI Scheme 117 5.4.17 420 Bad Extension 117 5.4.18 421 Extension Required 117 5.4.19 422 Session Timer Interval Too Small 118 5.4.20 423 Interval Too Brief 118 5.4.21 428 Use Authentication Token 118 5.4.22 429 Provide Referror Identity 118 5.4.23 480 Temporarily Unavailable 119 5.4.24 481 Dialog/Transaction Does Not Exist 119 5.4.25 482 Loop Detected 119 5.4.26 483 Too Many Hops 119 5.4.27 484 Address Incomplete 120 5.4.28 485 Ambiguous 120 5.4.29 486 Busy Here 121 5.4.30 487 Request Terminated 122 5.4.31 488 Not Acceptable Here 122 x SIP: Understanding the Session Initiation Protocol 5.4.32 489 Bad Event 122 5.4.33 491 Request Pending 122 5.4.34 493 Request Undecipherable 122 5.5 Server Error 123 5.5.1 500 Server Internal Error 123 5.5.2 501 Not Implemented 124 5.5.3 502 Bad Gateway 124 5.5.4 503 Service Unavailable 124 5.5.5 504 Gateway Timeout 124 5.5.6 505 Version Not Supported 124 5.5.7 513 Message Too Large 125 5.6 Global Error 125 5.6.1 600 Busy Everywhere 125 5.6.2 603 Decline 125 5.6.3 604 Does Not Exist Anywhere 125 5.6.4 606 Not Acceptable 125 References 126 6 SIP Header Fields 127 6.1 Request and Response Header Fields 128 6.1.1 Alert-Info 128 6.1.2 Allow-Events 129 6.1.3 Call-ID 129 6.1.4 Contact 130 6.1.5 CSeq 132 6.1.6 Date 132 6.1.7 Encryption 133 6.1.8 From 133 6.1.9 Organization 134 6.1.10 Record-Route 134 6.1.11 Retry-After 135 6.1.12 Subject 135 6.1.13 Supported 136 6.1.14 Timestamp 136 6.1.15 To 137 6.1.16 User-Agent 137 Contents xi 6.1.17 Via 138 6.2 Request Header Fields 140 6.2.1 Accept 140 6.2.2 Accept-Contact 140 6.2.3 Accept-Encoding 141 6.2.4 Accept-Language 141 6.2.5 Authorization 142 6.2.6 Call-Info 142 6.2.7 Event 143 6.2.8 Hide 143 6.2.9 In-Reply-To 143 6.2.10 Join 143 6.2.11 Priority 144 6.2.12 Privacy 145 6.2.13 Proxy-Authorization 145 6.2.14 Proxy-Require 145 6.2.15 P-OSP-Auth-Token 145 6.2.16 P-Asserted-Identity 147 6.2.17 P-Preferred-Identity 147 6.2.18 Max-Forwards 147 6.2.19 Reason 147 6.2.20 Refer-To 148 6.2.21 Referred-By 148 6.2.22 Reply-To 149 6.2.23 Replaces 150 6.2.24 Reject-Contact 150 6.2.25 Request-Disposition 151 6.2.26 Require 151 6.2.27 Response-Key 152 6.2.28 Route 152 6.2.29 RAck 152 6.2.30 Session-Expires 153 6.2.31 Subscription-State 153 6.3 Response Header Fields 153 6.3.1 Authenticaton-Info 153 6.3.2 Error-Info 154 xii SIP: Understanding the Session Initiation Protocol 6.3.3 Min-Expires 154 6.3.4 Min-SE 154 6.3.5 Proxy-Authenticate 155 6.3.6 Server 155 6.3.7 Unsupported 155 6.3.8 Warning 156 6.3.9 WWW-Authenticate 156 6.3.10 RSeq 156 6.4 Message Body Header Fields 158 6.4.1 Allow 158 6.4.2 Content-Encoding 158 6.4.3 Content-Disposition 158 6.4.4 Content-Language 158 6.4.5 Content-Length 159 6.4.6 Content-Type 159 6.4.7 Expires 160 6.4.8 MIME-Version 160 References 160 7 Related Protocols 163 7.1 SDP—Session Description Protocol 163 7.1.1 Protocol Version 165 7.1.2 Origin 165 7.1.3 Session Name and Information 166 7.1.4 URI 166 7.1.5 E-Mail Address and Phone Number 166 7.1.6 Connection Data 166 7.1.7 Bandwidth 167 7.1.8 Time, Repeat Times, and Time Zones 167 7.1.9 Encryption Keys 167 7.1.10 Media Announcements 168 7.1.11 Attributes 168 7.1.12 Use of SDP in SIP 169 7.2 RTP—Real-Time Transport Protocol 171 7.3 RTP Audio Video Profiles 174 7.4 PSTN Protocols 176 Contents xiii 7.4.1 Circuit Associated Signaling 176 7.4.2 ISUP Signaling 176 7.4.3 ISDN Signaling 176 7.5 SIP for Telephones 177 7.6 Universal Plug and Play Protocol 178 References 8 Comparison to H.323 181 8.1 Introduction to H.323 181 8.2 Example of H.323 184 8.3 Versions 187 8.4 Comparison 187 8.4.1 Fundamental Differences 188 8.4.2 Strengths of Each Protocol 190 8.5 Conclusion 191 References 191 9 Wireless and 3GPP 193 9.1 IP Mobility 193 9.2 SIP Mobility 194 9.3 3GPP Architecture and SIP 201 9.4 3GPP Header Fields 203 9.4.1 Service-Route 203 9.4.2 Path 203 9.4.3 Other P-Headers 203 9.5 Future of SIP and Wireless 204 References 204 10 Call Flow Examples 207 10.1 SIP Call with Authentication, Proxies, and Record-Route 207 10.2 SIP Call with Stateless and Stateful Proxies with Called Party Busy 214 10.3 SIP to PSTN Call Through Gateway 218 10.4 PSTN to SIP Call Through Gateway 222 xiv SIP: Understanding the Session Initiation Protocol 10.5 Parallel Search 225 10.6 H.323 to SIP Call 230 10.7 3GPP Wireless Call Flow 235 10.8 Call Setup Example with Two Proxies 254 10.9 SIP Presence and Instant Message Example 256 References 259 11 Future Directions 261 11.1 SIP, SIPPING, and SIMPLE Working Group Design Teams 261 11.1.1 SIP and Hearing Impairment Design Team 262 11.1.2 Conferencing Design Team 262 11.1.3 Application Interaction Design Team 263 11.1.4 Emergency Calling Design Team 263 11.2 Other SIP Work Areas 263 11.2.1 Emergency Preparedness 263 11.2.2 Globally Routable Contact URIs 263 11.2.3 Service Examples 263 11.3 SIP Instant Message and Presence Work 264 References 264 Appendix A: Changes in the SIP Specification from RFC 2543 to RFC 3261 267 About the Author 271 Index 273
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
前往页