| Foreword to the First Edition |
|
xvii | |
| Preface to the Second Edition |
|
xix | |
| Preface to the First Edition |
|
xxi | |
| 1 SIP and the Internet |
|
1 | (16) |
|
|
|
1 | (1) |
|
1.2 The Internet Engineering Task Force |
|
|
2 | (1) |
|
1.3 A Brief History of SIP |
|
|
3 | (1) |
|
1.4 Internet Multimedia Protocol Stack |
|
|
4 | (5) |
|
|
|
4 | (1) |
|
|
|
4 | (1) |
|
|
|
5 | (3) |
|
|
|
8 | (1) |
|
|
|
9 | (1) |
|
|
|
10 | (2) |
|
|
|
12 | (1) |
|
|
|
12 | (1) |
|
|
|
13 | (1) |
|
|
|
14 | (3) |
| 2 Introduction to SIP |
|
17 | (26) |
|
2.1 A Simple Session Establishment Example |
|
|
17 | (8) |
|
2.2 SIP Call with Proxy Server |
|
|
25 | (6) |
|
2.3 SIP Registration Example |
|
|
31 | (2) |
|
2.4 SIP Presence and Instant Message Example |
|
|
33 | (5) |
|
|
|
38 | (4) |
|
|
|
38 | (2) |
|
|
|
40 | (1) |
|
|
|
40 | (1) |
|
|
|
41 | (1) |
|
|
|
42 | (1) |
| 3 SIP Clients and Servers |
|
43 | (28) |
|
|
|
43 | (1) |
|
|
|
44 | (1) |
|
3.3 Back-to-Back User Agents |
|
|
45 | (1) |
|
|
|
45 | (2) |
|
|
|
47 | (8) |
|
|
|
47 | (5) |
|
|
|
52 | (3) |
|
3.5.3 Registration Servers |
|
|
55 | (1) |
|
3.6 Acknowledgment of Messages |
|
|
55 | (1) |
|
|
|
56 | (1) |
|
|
|
57 | (2) |
|
|
|
59 | (1) |
|
|
|
60 | (1) |
|
3.11 Firewalls and NAT Interaction |
|
|
61 | (1) |
|
3.12 Protocols and Extensions for NAT Traversal |
|
|
62 | (6) |
|
|
|
63 | (2) |
|
|
|
65 | (1) |
|
3.12.3 Other SIP/SDP NAT-Related Extensions |
|
|
66 | (2) |
|
|
|
68 | (3) |
| 4 SIP Request Messages |
|
71 | (36) |
|
|
|
71 | (27) |
|
|
|
72 | (2) |
|
|
|
74 | (2) |
|
|
|
76 | (1) |
|
|
|
77 | (2) |
|
|
|
79 | (2) |
|
|
|
81 | (1) |
|
|
|
82 | (4) |
|
|
|
86 | (3) |
|
|
|
89 | (1) |
|
|
|
90 | (3) |
|
|
|
93 | (1) |
|
|
|
94 | (2) |
|
|
|
96 | (2) |
|
4.2 URI and URL Schemes Used by SIP |
|
|
98 | (4) |
|
|
|
98 | (2) |
|
|
|
100 | (1) |
|
4.2.3 Presence and Instant Messaging URLs |
|
|
101 | (1) |
|
|
|
102 | (1) |
|
|
|
102 | (2) |
|
|
|
104 | (3) |
| 5 SIP Response Messages |
|
107 | (20) |
|
|
|
108 | (4) |
|
|
|
109 | (1) |
|
|
|
109 | (1) |
|
5.1.3 181 Call Is Being Forwarded |
|
|
109 | (1) |
|
|
|
109 | (1) |
|
5.1.5 183 Session Progress |
|
|
110 | (2) |
|
|
|
112 | (1) |
|
|
|
112 | (1) |
|
|
|
112 | (1) |
|
|
|
112 | (1) |
|
5.3.1 300 Multiple Choices |
|
|
113 | (1) |
|
5.3.2 301 Moved Permanently |
|
|
113 | (1) |
|
5.3.3 302 Moved Temporarily |
|
|
113 | (1) |
|
|
|
113 | (1) |
|
5.3.5 380 Alternative Service |
|
|
113 | (1) |
|
|
|
113 | (10) |
|
|
|
114 | (1) |
|
|
|
114 | (1) |
|
5.4.3 402 Payment Required |
|
|
114 | (1) |
|
|
|
115 | (1) |
|
|
|
115 | (1) |
|
5.4.6 405 Method Not Allowed |
|
|
115 | (1) |
|
|
|
115 | (1) |
|
5.4.8 407 Proxy Authentication Required |
|
|
115 | (1) |
|
5.4.9 408 Request Timeout |
|
|
116 | (1) |
|
|
|
116 | (1) |
|
|
|
116 | (1) |
|
5.4.12 411 Length Required |
|
|
116 | (1) |
|
5.4.13 413 Request Entity Too Large |
|
|
117 | (1) |
|
5.4.14 414 Request-URI Too Long |
|
|
117 | (1) |
|
5.4.15 415 Unsupported Media Type |
|
|
117 | (1) |
|
5.4.16 416 Unsupported URI Scheme |
|
|
117 | (1) |
|
|
|
117 | (1) |
|
5.4.18 421 Extension Required |
|
|
117 | (1) |
|
5.4.19 422 Session Timer Interval Too Small |
|
|
118 | (1) |
|
5.4.20 423 Interval Too Brief |
|
|
118 | (1) |
|
5.4.21 428 Use Authentication Token |
|
|
118 | (1) |
|
5.4.22 429 Provide Referror Identity |
|
|
118 | (1) |
|
5.4.23 480 Temporarily Unavailable |
|
|
119 | (1) |
|
5.4.24 481 Dialog/Transaction Does Not Exist |
|
|
119 | (1) |
|
|
|
119 | (1) |
|
|
|
119 | (1) |
|
5.4.27 484 Address Incomplete |
|
|
120 | (1) |
|
|
|
120 | (1) |
|
|
|
121 | (1) |
|
5.4.30 487 Request Terminated |
|
|
122 | (1) |
|
5.4.31 488 Not Acceptable Here |
|
|
122 | (1) |
|
|
|
122 | (1) |
|
5.4.33 491 Request Pending |
|
|
122 | (1) |
|
5.4.34 493 Request Undecipherable |
|
|
122 | (1) |
|
|
|
123 | (2) |
|
5.5.1 500 Server Internal Error |
|
|
123 | (1) |
|
5.5.2 501 Not Implemented |
|
|
124 | (1) |
|
|
|
124 | (1) |
|
5.5.4 503 Service Unavailable |
|
|
124 | (1) |
|
5.5.5 504 Gateway Timeout |
|
|
124 | (1) |
|
5.5.6 505 Version Not Supported |
|
|
124 | (1) |
|
5.5.7 513 Message Too Large |
|
|
125 | (1) |
|
|
|
125 | (1) |
|
5.6.1 600 Busy Everywhere |
|
|
125 | (1) |
|
|
|
125 | (1) |
|
5.6.3 604 Does Not Exist Anywhere |
|
|
125 | (1) |
|
|
|
125 | (1) |
|
|
|
126 | (1) |
| 6 SIP Header Fields |
|
127 | (36) |
|
6.1 Request and Response Header Fields |
|
|
128 | (12) |
|
|
|
128 | (1) |
|
|
|
129 | (1) |
|
|
|
129 | (1) |
|
|
|
130 | (2) |
|
|
|
132 | (1) |
|
|
|
132 | (1) |
|
|
|
133 | (1) |
|
|
|
133 | (1) |
|
|
|
134 | (1) |
|
|
|
134 | (1) |
|
|
|
135 | (1) |
|
|
|
135 | (1) |
|
|
|
136 | (1) |
|
|
|
136 | (1) |
|
|
|
137 | (1) |
|
|
|
137 | (1) |
|
|
|
138 | (2) |
|
6.2 Request Header Fields |
|
|
140 | (13) |
|
|
|
140 | (1) |
|
|
|
140 | (1) |
|
|
|
141 | (1) |
|
|
|
141 | (1) |
|
|
|
142 | (1) |
|
|
|
142 | (1) |
|
|
|
143 | (1) |
|
|
|
143 | (1) |
|
|
|
143 | (1) |
|
|
|
143 | (1) |
|
|
|
144 | (1) |
|
|
|
145 | (1) |
|
6.2.13 Proxy-Authorization |
|
|
145 | (1) |
|
|
|
145 | (1) |
|
|
|
145 | (2) |
|
6.2.16 P-Asserted-Identity |
|
|
147 | (1) |
|
6.2.17 P-Preferred-Identity |
|
|
147 | (1) |
|
|
|
147 | (1) |
|
|
|
147 | (1) |
|
|
|
148 | (1) |
|
|
|
148 | (1) |
|
|
|
149 | (1) |
|
|
|
150 | (1) |
|
|
|
150 | (1) |
|
6.2.25 Request-Disposition |
|
|
151 | (1) |
|
|
|
151 | (1) |
|
|
|
152 | (1) |
|
|
|
152 | (1) |
|
|
|
152 | (1) |
|
|
|
153 | (1) |
|
6.2.31 Subscription-State |
|
|
153 | (1) |
|
6.3 Response Header Fields |
|
|
153 | (5) |
|
|
|
153 | (1) |
|
|
|
154 | (1) |
|
|
|
154 | (1) |
|
|
|
154 | (1) |
|
|
|
155 | (1) |
|
|
|
155 | (1) |
|
|
|
155 | (1) |
|
|
|
156 | (1) |
|
|
|
156 | (1) |
|
|
|
156 | (2) |
|
6.4 Message Body Header Fields |
|
|
158 | (2) |
|
|
|
158 | (1) |
|
|
|
158 | (1) |
|
6.4.3 Content-Disposition |
|
|
158 | (1) |
|
|
|
158 | (1) |
|
|
|
159 | (1) |
|
|
|
159 | (1) |
|
|
|
160 | (1) |
|
|
|
160 | (1) |
|
|
|
160 | (3) |
| 7 Related Protocols |
|
163 | (18) |
|
7.1 SDP-Session Description Protocol |
|
|
163 | (8) |
|
|
|
165 | (1) |
|
|
|
165 | (1) |
|
7.1.3 Session Name and Information |
|
|
166 | (1) |
|
|
|
166 | (1) |
|
7.1.5 E-Mail Address and Phone Number |
|
|
166 | (1) |
|
|
|
166 | (1) |
|
|
|
167 | (1) |
|
7.1.8 Time, Repeat Times, and Time Zones |
|
|
167 | (1) |
|
|
|
167 | (1) |
|
7.1.10 Media Announcements |
|
|
168 | (1) |
|
|
|
168 | (1) |
|
|
|
169 | (2) |
|
7.2 RTP-Real-Time Transport Protocol |
|
|
171 | (3) |
|
7.3 RTP Audio Video Profiles |
|
|
174 | (2) |
|
|
|
176 | (1) |
|
7.4.1 Circuit Associated Signaling |
|
|
176 | (1) |
|
|
|
176 | (1) |
|
|
|
176 | (1) |
|
|
|
177 | (1) |
|
7.6 Universal Plug and Play Protocol |
|
|
178 | (3) |
|
|
|
| 8 Comparison to H.323 |
|
181 | (12) |
|
8.1 Introduction to H.323 |
|
|
181 | (3) |
|
|
|
184 | (3) |
|
|
|
187 | (1) |
|
|
|
187 | (4) |
|
8.4.1 Fundamental Differences |
|
|
188 | (2) |
|
8.4.2 Strengths of Each Protocol |
|
|
190 | (1) |
|
|
|
191 | (1) |
|
|
|
191 | (2) |
| 9 Wireless and 3GPP |
|
193 | (14) |
|
|
|
193 | (1) |
|
|
|
194 | (7) |
|
9.3 3GPP Architecture and SIP |
|
|
201 | (2) |
|
|
|
203 | (1) |
|
|
|
203 | (1) |
|
|
|
203 | (1) |
|
|
|
203 | (1) |
|
9.5 Future of SIP and Wireless |
|
|
204 | (1) |
|
|
|
204 | (3) |
| 10 Call Flow Examples |
|
207 | (54) |
|
10.1 SIP Call with Authentication, Proxies, and Record-Route |
|
|
207 | (7) |
|
10.2 SIP Call with Stateless and Stateful Proxies with Called Party Busy |
|
|
214 | (4) |
|
10.3 SIP to PSTN Call Through Gateway |
|
|
218 | (4) |
|
10.4 PSTN to SIP Call Through Gateway |
|
|
222 | (3) |
|
|
|
225 | (5) |
|
|
|
230 | (5) |
|
10.7 3GPP Wireless Call Flow |
|
|
235 | (19) |
|
10.8 Call Setup Example with Two Proxies |
|
|
254 | (2) |
|
10.9 SIP Presence and Instant Message Example |
|
|
256 | (3) |
|
|
|
259 | (2) |
| 11 Future Directions |
|
261 | (6) |
|
11.1 SIP, SIPPING, and SIMPLE Working Group Design Teams |
|
|
261 | (2) |
|
11.1.1 SIP and Hearing Impairment Design Team |
|
|
262 | (1) |
|
11.1.2 Conferencing Design Team |
|
|
262 | (1) |
|
11.1.3 Application Interaction Design Team |
|
|
263 | (1) |
|
11.1.4 Emergency Calling Design Team |
|
|
263 | (1) |
|
11.2 Other SIP Work Areas |
|
|
263 | (1) |
|
11.2.1 Emergency Preparedness |
|
|
263 | (1) |
|
11.2.2 Globally Routable Contact URIs |
|
|
263 | (1) |
|
|
|
263 | (1) |
|
11.3 SIP Instant Message and Presence Work |
|
|
264 | (1) |
|
|
|
264 | (3) |
| Appendix A: Changes in the SIP Specification from RFC 2543 to RFC 3261 |
|
267 | (4) |
| About the Author |
|
271 | (2) |
| Index |
|
273 | |