idnits 2.17.1 draft-ietf-sipcore-rfc4244bis-callflows-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 3 characters in excess of 72. -- The document has examples using IPv4 documentation addresses according to RFC6890, but does not use any IPv6 documentation addresses. Maybe there should be IPv6 examples, too? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 139 has weird spacing: '... Alice exam...' == Line 394 has weird spacing: '... Alice atla...' == Line 536 has weird spacing: '... Alice atla...' -- The document date (Sep 2012) is 4234 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC3326' is defined on line 1845, but no explicit reference was found in the text == Unused Reference: 'RFC3323' is defined on line 1849, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 1852, but no explicit reference was found in the text == Unused Reference: 'RFC5246' is defined on line 1855, but no explicit reference was found in the text == Unused Reference: 'RFC4244' is defined on line 1858, but no explicit reference was found in the text == Unused Reference: 'RFC5630' is defined on line 1866, but no explicit reference was found in the text == Unused Reference: 'RFC3969' is defined on line 1891, but no explicit reference was found in the text -- Obsolete informational reference (is this intentional?): RFC 5246 (Obsoleted by RFC 8446) -- Obsolete informational reference (is this intentional?): RFC 4244 (Obsoleted by RFC 7044) -- Obsolete informational reference (is this intentional?): RFC 3761 (Obsoleted by RFC 6116, RFC 6117) == Outdated reference: A later version (-12) exists of draft-ietf-sipcore-rfc4244bis-09 Summary: 1 error (**), 0 flaws (~~), 12 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Barnes 3 Internet-Draft Polycom 4 Intended status: Informational F. Audet 5 Expires: March 5, 2013 Skype 6 S. Schubert 7 NTT 8 J. van Elburg 9 Detecon International Gmbh 10 C. Holmberg 11 Ericsson 12 Sep 2012 14 Session Initiation Protocol (SIP) History-Info Header Call Flow Examples 15 draft-ietf-sipcore-rfc4244bis-callflows-01.txt 17 Abstract 19 This document describes use cases and documents call flows which 20 require the History-Info header field to capture the Request-URIs as 21 a Session Initiation Protocol (SIP) Request is retargeted. The use 22 cases are described along with the corresponding call flow diagrams 23 and messaging details. 25 Status of this Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at http://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on March 5, 2013. 42 Copyright Notice 44 Copyright (c) 2012 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 3 61 3. Detailed call flows . . . . . . . . . . . . . . . . . . . . . 3 62 3.1. Sequentially Forking (History-Info in Response) . . . . . 3 63 3.2. History-Info with Privacy Header Field . . . . . . . . . . 10 64 3.3. Privacy for a Specific History-Info Entry . . . . . . . . 14 65 3.4. Automatic Call Distribution . . . . . . . . . . . . . . . 18 66 3.5. Determining the Alias used. . . . . . . . . . . . . . . . 23 67 3.6. PBX Voicemail Example . . . . . . . . . . . . . . . . . . 25 68 3.7. Consumer Voicemail Example . . . . . . . . . . . . . . . . 30 69 3.8. GRUU . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 70 3.9. Limited Use Address . . . . . . . . . . . . . . . . . . . 37 71 3.10. Service Invocation . . . . . . . . . . . . . . . . . . . . 40 72 3.11. Toll Free Number . . . . . . . . . . . . . . . . . . . . . 40 73 4. Security Considerations . . . . . . . . . . . . . . . . . . . 42 74 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 43 75 5.1. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 43 76 6. Informative References . . . . . . . . . . . . . . . . . . . . 43 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 44 79 1. Overview 81 Many services that use SIP require the ability to determine why and 82 how the call arrived at a specific application. The use cases 83 provided in this document illustrate the use of the History-Info 84 header [I-D.ietf-sipcore-rfc4244bis] for example applications and 85 common scenarios. The optional "rc" and "mp" header field parameters 86 defined in [I-D.ietf-sipcore-rfc4244bis] are required for several of 87 the use cases. Descriptions of the example use cases, call flow 88 diagrams and messaging details are provided. 90 2. Conventions and Terminology 92 The term "retarget" is used as defined in 93 [I-D.ietf-sipcore-rfc4244bis]. The terms "location service", 94 "redirect", "redirect" and "AOR" are used consistent with the 95 terminology in [RFC3261]. 97 3. Detailed call flows 99 The scenarios in this section provide sample use cases for the 100 History-Info header for informational purposes only. They are not 101 intended to be normative. In many cases, only the relevant messaging 102 details are included in the body of the call flow. 104 3.1. Sequentially Forking (History-Info in Response) 106 This scenario highlights an example where the History-Info in the 107 response is useful to an application or user that originated the 108 request. 110 Alice sends a call to Bob via sip:example.com. The proxy sip: 111 example.com sequentially tries Bob on a SIP UA that has bound a 112 contact with the sip:bob@example.com AOR, and then several alternate 113 addresses (Office and Home) unsuccessfully before sending a response 114 to Alice. The hi-entry containing the initial contact is the hi- 115 entry just prior to the first hi-entry tagged with an "rc" header 116 field parameter. In this example, the Office and Home are not the 117 same AOR as sip:bob@example.com, but rather different AORs that have 118 been configured as alternate addresses for Bob in the proxy. In 119 other words, Office and Bob are not bound through SIP Registration 120 with Bob's AOR. This type of arrangement is common for example when 121 a "routing" rule to a PSTN number is manually configured in a proxy. 122 These hi-entries are identified by the index contained in the hi- 123 target-param "mp" header field parameter in the hi-entries. 125 This scenario illustrates that by providing the History-Info to 126 Alice, the end-user or an application at Alice could make a decision 127 on how best to attempt finding Bob without sending multiple requests 128 to the same destination. Upon receipt of the response containing the 129 History-Info entries, the Request URIs for the History-Info entries 130 tagged with "mp" header field parameter are extracted. Those 131 Request-URIs can be compared to other URIs (if any) that might be 132 attempted in order to establish the session with Bob. Thus, avoiding 133 another INVITE to Bob's home phone. Without this mechanism, Alice 134 might well attempt to reach Bob at his office phone, which would then 135 retarget the request to Bob's home phone. When that attempt failed, 136 then Alice might attempt to reach Bob directly at his home phone, 137 unknowingly for a third time. 139 Alice example.com Bob Office Home 140 | | | | | 141 | INVITE F1 | | | | 142 |----------->| INVITE F2 | | | 143 | |----------------->| | | 144 | 100 Trying F3 | | | 145 |<-----------| 302 Move Temporarily F4 | | 146 | |<-----------------| | | 147 | | ACK F5 | | | 148 | |----------------->| | | 149 | | INVITE F6 | | 150 | |-------------------------->| | 151 | | 180 Ringing F7 | | 152 | |<--------------------------| | 153 | 180 Ringing F8 | | 154 |<-----------| retransmit INVITE | | 155 | |-------------------------->| | 156 | | ( timeout ) | | 157 | | INVITE F9 | 158 | |----------------------------------->| 159 | | 100 Trying F10 | 160 | |<-----------------------------------| 161 | | 486 Busy Here F11 | 162 | |<-----------------------------------| 163 | 486 Busy Here F12 | 164 |<-----------| ACK F13 | 165 | |----------------------------------->| 166 | ACK F14 | | 167 |----------->| | 168 Message Details 170 F1 INVITE alice -> example.com 172 INVITE sip:bob@example.com SIP/2.0 173 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 174 From: Alice ;tag=sr3dds 175 To: Bob 176 Supported: histinfo 177 Call-Id: 12345600@example.com 178 CSeq: 1 INVITE 179 History-Info: ;index=1 180 Contact: Alice 181 Content-Type: application/sdp 182 Content-Length: 183 185 F2 INVITE example.com -> Bob 187 INVITE sip:bob@192.0.2.4 SIP/2.0 188 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 189 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 190 From: Alice ;tag=sr3dds 191 To: Bob 192 Supported: histinfo 193 Call-Id: 12345600@example.com 194 CSeq: 1 INVITE 195 Record-Route: 196 History-Info: ;index=1 197 History-Info: ;index=1.1;rc=1 198 Contact: Alice 199 Content-Type: application/sdp 200 Content-Length: 201 203 F3 100 Trying example.com -> alice 205 SIP/2.0 100 Trying 206 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 207 From: Alice ;tag=sr3dds 208 To: Bob 209 Call-Id: 12345600@example.com 210 CSeq: 1 INVITE 211 Content-Length: 0 212 F4 302 Moved Temporarily Bob -> example.com 214 SIP/2.0 302 Moved Temporarily 215 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 216 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 217 From: Alice ;tag=sr3dds 218 To: Bob 219 Call-Id: 12345600@example.com 220 CSeq: 1 INVITE 221 Record-Route: 222 History-Info: ;index=1 223 History-Info: ;index=1.1;rc=1 224 Contact: ;mp=1 225 Content-Length: 0 227 F5 ACK 192.0.2.4 -> Bob 229 ACK sip:bob@example.com SIP/2.0 230 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 231 From: Alice ;tag=sr3dds 232 To: Bob 233 Call-Id: 12345600@example.com 234 CSeq: 1 ACK 235 Content-Length: 0 237 F6 INVITE example.com -> office 239 INVITE sip:office@192.0.2.5 SIP/2.0 240 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 241 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bKbst2 242 From: Alice ;tag=sr3dds 243 To: Bob 244 Supported: histinfo 245 Call-Id: 12345600@example.com 246 Record-Route: 247 History-Info: ;index=1 248 History-Info: ;\ 249 index=1.1;rc=1 250 History-Info: ;index=1.2;mp=1 251 History-Info: ;index=1.2.1;rc=1.2 252 CSeq: 1 INVITE 253 Contact: Alice 254 Content-Type: application/sdp 255 Content-Length: 256 258 F7 180 Ringing office -> example.com 260 SIP/2.0 180 Ringing 261 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 262 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bKbst2 263 From: Alice ;tag=sr3dds 264 To: Bob ;tag=53rdds 265 Supported: histinfo 266 Call-ID: 12345600@example.com 267 Record-Route: 268 History-Info: ;index=1 269 History-Info: ;\ 270 index=1.1;rc=1 271 History-Info: ;index=1.2;mp=1 272 History-Info: ;index=1.2.1;rc=1.2 273 CSeq: 1 INVITE 274 Content-Length: 0 276 F8 180 Ringing example.com -> alice 278 SIP/2.0 180 Ringing 279 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bKbst2 280 From: Alice ;tag=sr3dds 281 To: Bob ;tag=53rdds 282 Supported: histinfo 283 Call-Id: 12345600@example.com 284 History-Info: ;index=1 285 History-Info: ;\ 286 index=1.1;rc=1 287 History-Info: ;index=1.2;mp=1 288 History-Info: ;index=1.2.1;rc=1.2 289 CSeq: 1 INVITE 290 Content-Length: 0 291 F9 INVITE example.com -> home 293 INVITE sip:home@192.0.2.6 SIP/2.0 294 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 295 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bKbst2 296 From: Alice ;tag=sr3dds 297 To: Bob 298 Supported: histinfo 299 Call-Id: 12345600@example.com 300 Record-Route: 301 History-Info: ;index=1 302 History-Info: ;\ 303 index=1.1;rc=1 304 History-Info: ;index=1.2;mp=1 305 History-Info: ;\ 306 index=1.2.1>;index=1.2.1;rc=1.2 307 History-Info: ;index=1.3;mp=1 308 History-Info: ;index=1.3.1;rc=1.3 309 CSeq: 1 INVITE 310 Contact: Alice 311 Content-Type: application/sdp 312 Content-Length: 313 315 F10 100 Trying home -> example.com 317 SIP/2.0 100 Trying 318 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 319 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bKbst2 320 From: Alice ;tag=sr3dds 321 To: Bob 322 Call-Id: 12345600@example.com 323 CSeq: 1 INVITE 324 Content-Length: 0 325 F11 486 Busy Here home -> example.com 327 SIP/2.0 486 Busy Here 328 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 329 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bKbst2 330 From: Alice ;tag=sr3dds 331 To: Bob ;tag=53rdds 332 Call-Id: 12345600@example.com 333 Record-Route: 334 History-Info: ;index=1 335 History-Info: ;\ 336 index=1.1;rc=1 337 History-Info: ;index=1.2;mp=1 338 History-Info: ;\ 339 index=1.2.1>;index=1.2.1;rc=1.2 340 History-Info: ;index=1.3;mp=1 341 History-Info: ;index=1.3.1;rc=1.3 342 CSeq: 1 INVITE 343 Content-Length: 0 345 F12 486 Busy Here example.com -> alice 347 SIP/2.0 486 Busy Here 348 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bKbst2 349 From: Alice ;tag=sr3dds 350 To: Bob 351 Call-Id: 12345600@example.com 352 History-Info: ;index=1 353 History-Info: ;\ 354 index=1.1;rc=1 355 History-Info: ;index=1.2;mp=1 356 History-Info: ;\ 357 index=1.2.1>;index=1.2.1;rc=1.2 358 History-Info: ;index=1.3;mp=1 359 History-Info: ;index=1.3.1;rc=1.3 360 CSeq: 1 INVITE 361 Content-Length: 0 362 F13 ACK example.com -> home 364 ACK sip:home@192.0.2.6 SIP/2.0 365 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 366 From: Alice ;tag=sr3dds>; 367 To: Bob 368 Call-Id: 12345600@example.com 369 CSeq: 1 ACK 370 Content-Length: 0 372 F14 ACK alice -> example.com 374 ACK sip:bob@example.com SIP/2.0 375 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bKbst2 376 From: Alice ;tag=sr3dds 377 To: Bob 378 Call-Id: 12345600@example.com 379 Route: 380 CSeq: 1 ACK 381 Content-Length: 0 383 3.2. History-Info with Privacy Header Field 385 This example provides a basic call scenario without forking. Alice 386 has indicated that she wants Privacy associated with the History-Info 387 header field entries. In addition, sip:biloxi.example.com adds 388 Privacy header fields indicating that the History-Info header field 389 information is anonymized outside the biloxi.example.com domain. 390 Note, that if the atlanta.example.com proxy had added privacy header 391 fields to all its hi-entries, then all the hi-entries in the response 392 would be anonymous. 394 Alice atlanta.example.com biloxi.example.com Bob 395 | | | | 396 | INVITE F1 | | | 397 |--------------->| | | 398 | | | | 399 | | INVITE F2 | | 400 | |--------------->| | 401 | | | | 402 | | | INVITE F3 | 403 | | |--------------->| 404 | | | | 405 | | | 200 F4 | 406 | | |<---------------| 407 | | | | 408 | | 200 F5 | | 409 | |<---------------| | 410 | | | | 411 | 200 F6 | | | 412 |<---------------| | | 413 | | | | 414 | ACK | | | 415 |--------------->| ACK | | 416 | |--------------->| ACK | 417 | | |--------------->| 419 Figure 1: Example with Privacy Header Fields 421 Message Details 423 F1 INVITE alice -> atlanta.example.com 425 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 426 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 427 From: Alice ;tag=22 428 To: Bob 429 Supported: histinfo 430 Privacy: History 431 Call-Id: 12345600@atlanta.example.com 432 CSeq: 1 INVITE 433 History-Info: ;index=1 434 Contact: Alice 435 Content-Type: application/sdp 436 Content-Length: 437 438 F2 INVITE atlanta.example.com -> biloxi.example.com 440 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 441 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 442 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 443 From: Alice ;tag=22 444 To: Bob 445 Supported: histinfo 446 Call-Id: 12345600@atlanta.example.com 447 CSeq: 1 INVITE 448 History-Info: ;index=1 449 History-Info: ;index=1.1;rc=1 450 Contact: Alice 451 Content-Type: application/sdp 452 Content-Length: 453 455 F3 INVITE biloxi.example.com -> Bob 457 INVITE sip:bob@192.0.1.11 SIP/2.0 458 Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bK 459 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 460 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 461 From: Alice ;tag=22 462 To: Bob 463 Supported: histinfo 464 Call-Id: 12345600@atlanta.example.com 465 CSeq: 1 INVITE 466 History-Info: ;index=1 467 History-Info: ;index=1.1;rc=1 468 History-Info: ;index=1.1.1;rc=1.1 469 Contact: Alice 470 Content-Type: application/sdp 471 Content-Length: 472 473 F4 200 OK Bob -> biloxi.example.com 475 SIP/2.0 200 OK 476 Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bK 477 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 478 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 479 From: Alice ;tag=22 480 To: Bob ;tag=33 481 Supported: histinfo 482 Call-Id: 12345600@atlanta.example.com 483 CSeq: 1 INVITE 484 History-Info: ;index=1 485 History-Info: ;index=1.1;rc=1 486 History-Info: ;index=1.1.1;rc=1.1 487 Contact: Bob 488 Content-Type: application/sdp 489 Content-Length: 490 492 F5 200 OK biloxi.example.com -> atlanta.example.com 494 SIP/2.0 200 OK 495 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 496 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 497 From: Alice ;tag=22 498 To: Bob ;tag=33 499 Supported: histinfo 500 Call-Id: 12345600@atlanta.example.com 501 CSeq: 1 INVITE 502 History-Info: ;index=1 503 History-Info: ;index=1.1;rc=1 504 History-Info: ;index=1.1.1;rc=1.1 505 Contact: Bob 506 Content-Type: application/sdp 507 Content-Length: 508 510 F6 200 OK atlanta.example.com -> Alice 512 SIP/2.0 200 OK 513 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 514 From: Alice ;tag=22 515 To: Bob ;tag=33 516 Supported: histinfo 517 Call-Id: 12345600@atlanta.example.com 518 CSeq: 1 INVITE 519 History-Info: ;index=1 520 History-Info: ;index=1.1;rc=1 521 History-Info: 523 Content-Type: application/sdp 524 Content-Length: 525 527 3.3. Privacy for a Specific History-Info Entry 529 This example provides a basic call scenario similar to Section 3.2, 530 however, due to local policy at sip:biloxi.example.com, only the 531 final hi-entry in the History-Info, which is Bob's local URI, 532 contains a privacy header field with a priv-value of "history", thus 533 providing Alice with some information about the history of the 534 request, but anonymizing Bob's local URI. 536 Alice atlanta.example.com biloxi.example.com Bob 537 | | | | 538 | INVITE F1 | | | 539 |--------------->| | | 540 | | | | 541 | | INVITE F2 | | 542 | |--------------->| | 543 | | | | 544 | | | INVITE F3 | 545 | | |--------------->| 546 | | | | 547 | | | 200 F4 | 548 | | |<---------------| 549 | | | | 550 | | 200 F5 | | 551 | |<---------------| | 552 | | | | 553 | 200 F6 | | | 554 |<---------------| | | 555 | | | | 556 | ACK | | | 557 |--------------->| ACK | | 558 | |--------------->| ACK | 559 | | |--------------->| 561 Figure 2: Example with Privacy Header Field for Specific URI 563 Message Details 565 F1 INVITE alice -> atlanta.example.com 567 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 568 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 569 From: Alice ;tag=22 570 To: Bob 571 Supported: histinfo 572 Call-Id: 12345600@atlanta.example.com 573 CSeq: 1 INVITE 574 History-Info: ;index=1 575 Contact: Alice 576 Content-Type: application/sdp 577 Content-Length: 578 579 F2 INVITE atlanta.example.com -> biloxi.example.com 581 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 582 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 583 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 584 From: Alice ;tag=22 585 To: Bob 586 Supported: histinfo 587 Call-Id: 12345600@atlanta.example.com 588 CSeq: 1 INVITE 589 History-Info: ;index=1 590 History-Info: ;index=1.1;rc=1 591 Contact: Alice 592 Content-Type: application/sdp 593 Content-Length: 594 596 F3 INVITE biloxi.example.com -> Bob 598 INVITE sip:bob@192.0.1.11 SIP/2.0 599 Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bKeset 600 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 601 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 602 From: Alice ;tag=22 603 To: Bob 604 Supported: histinfo 605 Call-Id: 12345600@atlanta.example.com 606 CSeq: 1 INVITE 607 History-Info: ;index=1 608 History-Info: ;index=1.1;rc=1 609 History-Info: ;index=1.1.1;rc=1.1 610 Contact: Alice 611 Content-Type: application/sdp 612 Content-Length: 613 614 F4 200 OK Bob -> biloxi.example.com 616 SIP/2.0 200 OK 617 Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bKeset 618 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 619 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 620 From: Alice ;tag=22 621 To: Bob ;tag=33 622 Supported: histinfo 623 Call-Id: 12345600@atlanta.example.com 624 CSeq: 1 INVITE 625 History-Info: ;index=1 626 History-Info: ;index=1.1;rc=1 627 History-Info: ;index=1.1.1;rc=1.1 628 Contact: Bob 629 Content-Type: application/sdp 630 Content-Length: 631 633 F5 200 OK biloxi.example.com -> atlanta.example.com 635 SIP/2.0 200 OK 636 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 637 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 638 From: Alice ;tag=22 639 To: Bob ;tag=33 640 Supported: histinfo 641 Call-Id: 12345600@atlanta.example.com 642 CSeq: 1 INVITE 643 History-Info: ;index=1 644 History-Info: ;index=1.1;rc=1 645 History-Info: ;index=1.1.1;rc=1.1 646 Contact: Bob 647 Content-Type: application/sdp 648 Content-Length: 649 650 F6 200 OK atlanta.example.com -> Alice 652 SIP/2.0 200 OK 653 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 654 From: Alice ;tag=22 655 To: Bob ;tag=33 656 Supported: histinfo 657 Call-Id: 12345600@atlanta.example.com 658 CSeq: 1 INVITE 659 History-Info: ;index=1 660 History-Info: ;index=1.1;rc=1 661 History-Info: ;index=1.1.1;rc=1.1 662 Contact: Bob 663 Content-Type: application/sdp 664 Content-Length: 665 667 3.4. Automatic Call Distribution 669 This scenario highlights an example of an Automatic Call Distribution 670 service, where the agents are divided into groups based upon the type 671 of customers they handle. In this example, the Gold customers are 672 given higher priority than Silver customers, so a Gold call would get 673 serviced even if all the agents servicing the Gold group were busy, 674 by retargeting the request to the Silver Group for delivery to an 675 agent. Upon receipt of the call at the agent assigned to handle the 676 incoming call, based upon the History-Info header in the message, the 677 application at the agent can provide an indication that this is a 678 Gold call by extracting the hi-entry associated with the incoming 679 request which is determined by locating the hi-entry whose index is 680 reflected in the first hi-entry with an hi-target of "mp". In the 681 example this would be the hi-entry referenced by the value of the 682 last "mp" header field parameter -i.e., the hi-entry containing an 683 index of "1". An application can also determine how many groups from 684 which the call may have overflowed before reaching the agent, etc. 685 and present the information to the agent so that the call can be 686 handled appropriately by the agent - i.e., "I'm so sorry for the 687 delay, blah, blah, blah..." 689 For scenarios whereby calls might overflow from the Silver to the 690 Gold, clearly the alternate group identification, internal routing, 691 or actual agent that handles the call should not be sent to UA1. 692 Thus, for this scenario, one would expect that the Proxy would not 693 support the sending of the History-Info in the response, even if 694 requested by Alice. 696 As with the other examples, this is not a complete prescription of 697 how one would do this type of service but an example of a subset of 698 processing that might be associated with such a service. In 699 addition, this example is not addressing any aspects of Agent 700 availability resulting in the call being sent to an agent in another 701 group, which might also be done via a SIP interface. 703 Alice example.com Gold Silver Agent 705 | | | | | 706 | INVITE F1 | | | | 707 |------------->| | | | 708 | | | | | 709 | | INVITE F2 | | | 710 | |------------->| | | 711 | | | | | 712 | | 302 Moved Temporarily F3 | | 713 | |<-------------| | | 714 | | | | | 715 | | INVITE F4 | | | 716 | |--------------------------->| | 717 | | | | | 718 | | | | INVITE F5 | 719 | | | |----------->| 720 | | | | | 721 | | | | 200 OK F6 | 722 | | | |<-----------| 723 | | | | | 724 | | 200 OK F7 | | 725 | |<---------------------------| | 726 | | | | | 727 | 200 OK F8 | | | | 728 |<-------------| | | | 729 | | | | | 730 | ACK F9 | 731 |------------------------------------------------------->| 733 F1 INVITE Alice -> Example.com 735 INVITE sip:Gold@example.com SIP/2.0 736 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 737 From: Alice ;tag=1235 738 To: John 739 Supported: histinfo 740 Call-Id: 12345600@example.com 741 CSeq: 1 INVITE 742 History-Info: ;index=1 743 Contact: Alice 744 Content-Type: application/sdp 745 Content-Length: 747 [SDP Not Shown] 749 F2 INVITE Example.com -> Gold.Example.com 751 INVITE sip:john@192.0.2.1 SIP/2.0 752 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 753 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 754 From: Alice ;tag=1235 755 To: John 756 Supported: histinfo 757 Call-Id: 12345600@example.com 758 CSeq: 1 INVITE 759 History-Info: ;index=1 760 History-Info: ;rc=1;index=1.1 761 Contact: Alice 762 Content-Type: application/sdp 763 Content-Length: 765 [SDP Not Shown] 767 F3 302 Moved Temporarily Gold.Example.com -> Example.com 769 SIP/2.0 302 Moved Temporarily 770 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 771 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 772 From: Alice ;tag=1235 773 To: John ;tag=kkaz- 774 Supported: histinfo 775 Call-Id: 12345600@example.com 776 CSeq: 1 INVITE 777 History-Info: ;index=1 778 History-Info: ;rc=1;index=1.1 779 Contact: ;mp=1 780 Content-Type: application/sdp 781 Content-Length: 783 [SDP Not Shown] 785 F4 INVITE Example.com -> Silver.Example.com 787 INVITE sip:Silver@example.com SIP/2.0 788 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2 789 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 790 From: Alice ;tag=1235 791 To: John 792 Supported: histinfo 793 Call-Id: 12345600@example.com 794 CSeq: 1 INVITE 795 History-Info: ;index=1 796 History-Info: ;\ 797 rc=1;index=1.1 798 History-Info: ;index=1.2;mp=1 799 History-Info: ;index=1.2.1;rc=1.2 800 Contact: Alice 801 Content-Type: application/sdp 802 Content-Length: 804 [SDP Not Shown] 806 F5 INVITE Silver.Example.com -> Agent 808 INVITE sip:Silver@192.0.2.7 SIP/2.0 809 Via: SIP/2.0/TCP silver.example.com:5060;branch=z9hG4bKerxs 810 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2;\ 811 received=192.0.2.101 812 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 813 From: Alice ;tag=1235 814 To: John 815 Supported: histinfo 816 Call-Id: 12345600@example.com 817 CSeq: 1 INVITE 818 History-Info: ;index=1 819 History-Info: ;\ 820 index=1.1 821 History-Info: ;index=1.2;mp=1 822 History-Info: ;index=1.2.1;rc=1.2 823 History-Info: ;index=1.2.1.1;rc=1.2.1 824 Contact: Alice 825 Content-Type: application/sdp 826 Content-Length: 828 [SDP Not Shown] 830 F6 200 OK Agent -> Silver.Example.com 832 SIP/2.0 200 OK 833 Via: SIP/2.0/TCP silver.example.com:5060;branch=z9hG4bKerxs;\ 834 received=192.0.2.5 835 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2;\ 836 received=192.0.2.101 837 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 838 From: Alice ;tag=1235 839 To: John ;tag=2325 840 Supported: histinfo 841 Call-Id: 12345600@example.com 842 CSeq: 1 INVITE 843 History-Info: ;index=1 844 History-Info: ;\ 845 index=1.1 846 History-Info: ;index=1.2;mp=1 847 History-Info: ;index=1.2.1;rc=1.2 848 History-Info: ;index=1.2.1.1;rc=1.2.1 849 Contact: Agent 850 Content-Type: application/sdp 851 Content-Length: 853 [SDP Not Shown] 855 F7 200 OK Silver.Example.com -> Example.com 857 SIP/2.0 200 OK 858 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2;\ 859 received=192.0.2.5 860 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 861 From: Alice ;tag=1235 862 To: John ;tag=2325 863 Supported: histinfo 864 Call-Id: 12345600@example.com 865 CSeq: 1 INVITE 866 History-Info: ;index=1 867 History-Info: ;\ 868 index=1.1 869 History-Info: ;index=1.2;mp=1 870 History-Info: ;index=1.2.1;rc=1.2 871 History-Info: ;index=1.2.1.1;rc=1.2.1 872 Contact: Agent 873 Content-Type: application/sdp 874 Content-Length: 876 [SDP Not Shown] 878 F8 200 OK Example.com -> Alice 880 SIP/2.0 200 OK 881 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 882 From: Alice ;tag=1235 883 To: John ;tag=2325 884 Supported: histinfo 885 Call-Id: 12345600@example.com 886 CSeq: 1 INVITE 887 History-Info: ;index=1 888 History-Info: ;\ 889 index=1.1 890 History-Info: ;index=1.2;mp=1 891 History-Info: ;index=1.2.1;rc=1.2 892 History-Info: ;index=1.2.1.1;rc=1.2.1 893 Contact: Agent 894 Content-Type: application/sdp 895 Content-Length: 897 [SDP Not Shown] 899 F9 ACK Alice -> Agent 901 ACK sip:Silver@192.0.2.7 SIP/2.0 902 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 903 From: Alice ;tag=1235 904 To: John ;tag=2325 905 Supported: histinfo 906 Call-Id: 12345600@example.com 907 CSeq: 1 ACK 908 History-Info: ;index=1 909 Contact: Alice 910 Content-Type: application/sdp 911 Content-Length: 913 [SDP Not Shown] 915 The last hi-entry with the "mp" header field parameter contains a 916 "mp" header field parameter value of 1 which points to the original- 917 target which allows the operator to identify that the call was from 918 the "Gold" customer. 920 3.5. Determining the Alias used. 922 SIP user agents are associated with an address-of-record (AOR). It 923 is possible for a single UA to actually have multiple AORs associated 924 with it. One common usage for this is aliases. For example, a user 925 might have an AOR of sip:john@example.com but also have the AORs 926 sip:john.smith@example.com and sip:jsmith@example.com. Rather than 927 registering against each of these AORs individually, the user would 928 register against just one of them, and the home proxy would 929 automatically accept incoming calls for any of the aliases, treating 930 them identically and ultimately forwarding them towards the UA. This 931 is common practice in the Internet Multimedia Subsystem (IMS), where 932 it is called implicit registration and each alias is called a public 933 identity. 935 It is a common requirement for a UAS, on receipt of a call, to know 936 which of its aliases was used to reach it. This knowledge can be 937 used to choose ringtones to play, determine call treatment, and so 938 on. For example, a user might give out one alias to friends and 939 family only, resulting in a special ring that alerts the user to the 940 importance of the call. 942 The following call-flow and example messages show how History-Info 943 can be used to find out the alias used to reach the callee. The 944 alias for the call is determined by hi-entry with the index that 945 matches the value of the last hi-entry with a "rc" header field 946 parameter in the Request received. 948 Alice Example.com John 949 | | REGISTER F1 | 950 | |<--------------------| 951 | | 200 OK F2 | 952 | |-------------------->| 953 | INVITE F3 | | 954 |-------------------->| | 955 | | INVITE F4 | 956 | |-------------------->| 957 * Rest of flow not shown * 959 F1 REGISTER John -> Example.com 961 REGISTER sip:example.com SIP/2.0 962 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 963 Max-Forwards: 70 964 From: John ;tag=a73kszlfl 965 To: John 966 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 967 CSeq: 1 REGISTER 968 Contact: 969 Content-Length: 0 971 F2 200 OK Example.com -> John 973 SIP/2.0 200 OK 974 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 975 From: John ;tag=a73kszlfl 976 To: John ;tag=d2dstee2 977 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 978 CSeq: 1 REGISTER 979 Contact: ;expires=3600 980 Content-Length: 0 981 F3 INVITE Alice -> Example.com 983 INVITE sip:john.smith@example.com SIP/2.0 984 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 985 From: Alice ;tag=a73kszlfl 986 To: John 987 Supported: histinfo 988 Call-Id: 12345600@example.com 989 CSeq: 1 INVITE 990 History-Info: ;index=1 991 Contact: Alice 992 Content-Type: application/sdp 993 Content-Length: 995 [SDP Not Shown] 997 F4 INVITE Example.com -> John 999 INVITE sip:john@192.0.2.1 SIP/2.0 1000 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1001 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1002 From: Alice ;tag=a73kszlfl 1003 To: John 1004 Supported: histinfo 1005 Call-Id: 12345600@example.com 1006 CSeq: 1 INVITE 1007 Record-Route: 1008 History-Info: ;index=1 1009 History-Info: ;index=1.1;rc=1 1010 Contact: Alice 1011 Content-Type: application/sdp 1012 Content-Length: 1014 [SDP Not Shown] 1016 Figure 3: Alias Example 1018 The last hi-entry with the "rc" header field parameter references the 1019 source of retargeting pointing at the alias AoR, which in the example 1020 is "john.smith@example.com". 1022 3.6. PBX Voicemail Example 1024 A typical use case for voicemail is one whereby the original called 1025 party is not reachable and the call arrives at a voicemail system. 1026 In some cases multiple alternate destinations may be tried without 1027 success. The voicemail system typically requires the original called 1028 party information to determine the appropriate mailbox so an 1029 appropriate greeting can be provided and the appropriate party 1030 notified of the message. 1032 In this example, Alice calls Bob, whose SIP client is forwarded to 1033 Carol. Carol does not answer the call, thus it is forwarded to a VM 1034 (voicemail) server (VMS). In order to determine the appropriate 1035 mailbox to use for this call, the VMS needs the original target for 1036 the request. The original target is determined by finding the first 1037 hi-entry tagged with "rc" and using the hi-entry referenced by the 1038 index of "rc" header field parameter as the target for determining 1039 the appropriate mailbox. This hi-entry is used to populate the 1040 "target" URI parameter as defined in [RFC4458]. The reason 1041 associated with the first hi-entry tagged with "rc" (i.e., 302) could 1042 be used to provide a customized voicemail greeting and is used to 1043 populate the "cause" URI parameter as defined in [RFC4458]. Note 1044 that some VMSs may also (or instead) use the information available in 1045 the History-Info headers for custom handling of the VM in terms of 1046 how and why the call arrived at the VMS. 1048 Furthermore it is the proxy forwarding the call to VMS that 1049 determines the target of the voicemail, it is the proxy that sets the 1050 target of voicemail which is also the entity that utilizes RFC4244bis 1051 to find the target which is usually based on local policy installed 1052 by the user or an administrator. 1054 Alice example.com Bob Carol VM 1056 | INVITE F1 | | | | 1057 |------------->| | | | 1058 | | INVITE F2 | | | 1059 | |------------->| | | 1060 | | | | | 1061 | 100 Trying | | | | 1062 |<-------------| 302 Moved Temporarily F3 | | 1063 | |<-------------| | | 1064 | | | | | 1065 | | INVITE F4 | | | 1066 | |--------------------------->| | 1067 | | | | | 1068 | | 180 Ringing F5 | | 1069 | |<---------------------------| | 1070 | | | | | 1071 | 180 Ringing | | | | 1072 |<-------------| | | | 1073 | | | | | 1074 | | (timeout) | | 1075 | | | | | 1076 | | INVITE F6 | | | 1077 | |-------------------------------------->| 1078 | | | | | 1079 | | 200 OK F7 | 1080 | |<--------------------------------------| 1081 | 200 OK | | | | 1082 |<-------------| | | | 1083 | | | | | 1084 | ACK | 1085 |----------------------------------------------------->| 1087 F1 INVITE Alice -> Example.com 1089 INVITE sip:bob@example.com 1090 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1091 From: Alice ;tag=kkaz- 1092 To: Bob 1093 Supported: histinfo 1094 Call-Id: 12345600@example.com 1095 CSeq: 1 INVITE 1096 Contact: Alice 1097 Content-Length: 1099 [SDP Not Shown] 1101 F2 INVITE Example.com -> Bob 1103 INVITE sip:bob@192.0.2.5 SIP/2.0 1104 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1105 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1106 From: Alice ;tag=kkaz- 1107 To: Bob 1108 Supported: histinfo 1109 Call-Id: 12345600@example.com 1110 CSeq: 1 INVITE 1111 History-Info: ;index=1 1112 History-Info: ;index=1.1;rc=1 1113 Contact: Alice 1114 Content-Type: application/sdp 1115 Content-Length: 1117 [SDP Not Shown] 1119 F3 302 Moved Temporarily Bob -> Example.com 1121 SIP/2.0 302 Moved Temporarily 1122 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4;\ 1123 received=192.0.2.101 1124 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1125 From: Alice ;tag=kkaz- 1126 To: Bob ;tag=2g22d-lnf 1127 Supported: histinfo 1128 Call-Id: 12345600@example.com 1129 CSeq: 1 INVITE 1130 History-Info: ;index=1 1131 History-Info: ; index=1.1;rc=1 1132 Contact: 1133 Content-Type: application/sdp 1134 Content-Length: 1136 [SDP Not Shown] 1138 F4 INVITE Example.com -> Carol 1140 INVITE sip:carol@192.0.2.4 SIP/2.0 1141 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522 1142 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1143 From: Alice ;tag=kkaz- 1144 To: Bob 1145 Supported: histinfo 1146 Call-Id: 12345600@example.com 1147 CSeq: 1 INVITE 1148 History-Info: ;index=1 1149 History-Info: ;\ 1150 index=1.1;rc=1 1151 History-Info: ;index=1.2;mp=1 1152 History-Info: ;index=1.2.1;rc=1.2 1153 Contact: Alice 1154 Content-Type: application/sdp 1155 Content-Length: 1157 [SDP Not Shown] 1159 F5 180 Ringing Carol -> Example.com 1161 SIP/2.0 180 Ringing 1162 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522;\ 1163 received=192.0.2.101 1164 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1165 From: Alice ;tag=kkaz- 1166 To: Bob ;tag=setss3x 1167 Supported: histinfo 1168 Call-Id: 12345600@example.com 1169 CSeq: 1 INVITE 1170 History-Info: ;index=1 1171 History-Info: ;\ 1172 index=1.1;rc=1 1173 History-Info: ;index=1.2;mp=1 1174 History-Info: ;index=1.2.1;rc=1.2 1175 Contact: 1176 Content-Type: application/sdp 1177 Content-Length: 1179 [SDP Not Shown] 1181 F6 INVITE Example.com -> VM 1183 INVITE sip:vm@192.0.2.6;target=sip:bob%40example.com;cause=408 1184 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522 1185 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1186 From: Alice ;tag=kkaz- 1187 To: Bob 1188 Supported: histinfo 1189 Call-Id: 12345600@example.com 1190 CSeq: 1 INVITE 1191 History-Info: ;index=1 1192 History-Info: ;\ 1193 index=1.1;rc=1 1194 History-Info: ;index=1.2;mp=1 1195 History-Info: ;\ 1196 index=1.2.1;rc=1.2 1197 History-Info: ;\ 1199 index=1.3;mp=1.2 1200 History-Info: ;\ 1202 index=1.3.1;rc=1.3 1203 Contact: Alice 1204 Content-Type: application/sdp 1205 Content-Length: 1207 [SDP Not Shown] 1209 F7 200 OK VM -> Example.com 1211 SIP/2.0 200 OK 1212 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522;\ 1213 received=192.0.2.101 1214 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1215 From: Alice ;tag=kkaz- 1216 To: Bob ;tag=3dweggs 1217 Supported: histinfo 1218 Call-Id: 12345600@example.com 1219 CSeq: 1 INVITE 1220 History-Info: ;index=1 1221 History-Info: ;\ 1222 index=1.1;rc=1 1223 History-Info: ;index=1.2;mp=1 1224 History-Info: ;\ 1225 index=1.2.1;rc=1.2 1226 History-Info: ;\ 1228 index=1.3;mp=1.2 1229 History-Info: ;\ 1231 index=1.3.1;rc=1.3 1232 Contact: 1233 Content-Type: application/sdp 1234 Content-Length: 1236 [SDP Not Shown] 1238 The VMS can look at the last hi-entry and find the target of the 1239 mailbox by looking at the URI entry in the "target" URI parameter in 1240 the hi-entry. 1242 3.7. Consumer Voicemail Example 1244 In the case of a consumer, when the call is retargeted, it is usually 1245 to another administrative domain. The voicemail system in these 1246 environment typically requires the last called party information to 1247 determine the appropriate mailbox so an appropriate greeting can be 1248 provided and the appropriate party notified of the message. 1250 In this example, Alice calls the Bob but Bob has temporarily 1251 forwarded his phone to Carol because she is his wife. Carol does not 1252 answer the call, thus it is forwarded to a VM (voicemail) server 1253 (VMS). In order to determine the appropriate mailbox to use for this 1254 call, the VMS needs the appropriate target for the request. The last 1255 target is determined by finding the hi-entry referenced by the index 1256 of last hi-entry tagged with "rc" for determining the appropriate 1257 mailbox. This hi-entry is used to populate the "target" URI 1258 parameter as defined in [RFC4458]. Note that some VMSs may also (or 1259 instead) use the information available in the History-Info headers 1260 for custom handling of the VM in terms of how and why the called 1261 arrived at the VMS. 1263 Alice example.com Bob Carol VM 1265 | INVITE F1 | | | | 1266 |------------->| | | | 1267 | | INVITE F2 | | | 1268 | |------------->| | | 1269 | | | | | 1270 | 100 Trying | | | | 1271 |<-------------| 302 Moved Temporarily F3 | | 1272 | |<-------------| | | 1273 | | | | | 1274 | | INVITE F4 | | | 1275 | |--------------------------->| | 1276 | | | | | 1277 | | 180 Ringing F5 | | 1278 | |<---------------------------| | 1279 | | | | | 1280 | 180 Ringing | | | | 1281 |<-------------| | | | 1282 | | | | | 1283 | | (timeout) | | 1284 | | | | | 1285 | | INVITE F6 | | | 1286 | |-------------------------------------->| 1287 | | | | | 1288 | | 200 OK F7 | 1289 | |<--------------------------------------| 1290 | 200 OK | | | | 1291 |<-------------| | | | 1292 | | | | | 1293 | ACK | 1294 |----------------------------------------------------->| 1296 F1 INVITE Alice -> Example.com 1298 INVITE sip:bob@example.com 1299 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1300 From: Alice ;tag=kkaz- 1301 To: Bob 1302 Supported: histinfo 1303 Call-Id: 12345600@example.com 1304 CSeq: 1 INVITE 1305 Contact: Alice 1306 Content-Length: 1308 [SDP Not Shown] 1309 F2 INVITE Example.com -> Bob 1311 INVITE sip:bob@192.0.2.5 SIP/2.0 1312 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1313 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1314 From: Alice ;tag=kkaz- 1315 To: Bob 1316 Supported: histinfo 1317 Call-Id: 12345600@example.com 1318 CSeq: 1 INVITE 1319 History-Info: ;index=1 1320 History-Info: ;index=1.1;rc=1 1321 Contact: Alice 1322 Content-Type: application/sdp 1323 Content-Length: 1325 [SDP Not Shown] 1327 F3 302 Moved Temporarily Bob -> Example.com 1329 SIP/2.0 302 Moved Temporarily 1330 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4;\ 1331 received=192.0.2.101 1332 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1333 From: Alice ;tag=kkaz- 1334 To: Bob ;tag=224ls3s-t 1335 Supported: histinfo 1336 Call-Id: 12345600@example.com 1337 CSeq: 1 INVITE 1338 History-Info: ;index=1 1339 History-Info: ; index=1.1;rc=1 1340 Contact: 1341 Content-Type: application/sdp 1342 Content-Length: 1344 [SDP Not Shown] 1346 F4 INVITE Example.com -> Carol 1348 INVITE sip:carol@192.0.2.4 SIP/2.0 1349 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK24s5 1350 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1351 From: Alice ;tag=kkaz- 1352 To: Bob 1353 Supported: histinfo 1354 Call-Id: 12345600@example.com 1355 CSeq: 1 INVITE 1356 History-Info: ;index=1 1357 History-Info: ;\ 1358 index=1.1;rc=1 1359 History-Info: ;index=1.2;mp=1 1360 History-Info: ;index=1.2.1;rc=1.2 1361 Contact: Alice 1362 Content-Type: application/sdp 1363 Content-Length: 1365 [SDP Not Shown] 1367 F5 180 Ringing Carol -> Example.com 1369 SIP/2.0 180 Ringing 1370 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK24s5;\ 1371 received=192.0.2.101 1372 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1373 From: Alice ;tag=kkaz- 1374 To: Bob ;tag=setss3x 1375 Supported: histinfo 1376 Call-Id: 12345600@example.com 1377 CSeq: 1 INVITE 1378 History-Info: ;index=1 1379 History-Info: ;\ 1380 index=1.1;rc=1 1381 History-Info: ;index=1.2;mp=1 1382 History-Info: ;index=1.2.1;rc=1.2 1383 Contact: 1384 Content-Type: application/sdp 1385 Content-Length: 1387 [SDP Not Shown] 1389 F6 INVITE Example.com -> VM 1391 INVITE sip:vm@192.0.2.6;target=sip:carol%40example.com 1392 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKbbg4 1393 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1394 From: Alice ;tag=kkaz- 1395 To: Bob 1396 Supported: histinfo 1397 Call-Id: 12345600@example.com 1398 CSeq: 1 INVITE 1399 History-Info: ;index=1 1400 History-Info: ;\ 1401 index=1.1;rc 1402 History-Info: ;\ 1403 index=1.2;mp=1 1405 History-Info: ;index=1.2.1;rc=1.2 1406 History-Info: ;\ 1407 index=1.3;mp=1.2 1408 History-Info: ;\ 1409 index=1.3.1 1410 Contact: Alice 1411 Content-Type: application/sdp 1412 Content-Length: 1414 [SDP Not Shown] 1416 F7 200 OK VM -> Example.com 1418 SIP/2.0 200 OK 1419 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKbbg4 1420 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1421 From: Alice ;tag=kkaz- 1422 To: Bob ;tag=3dweggs 1423 Supported: histinfo 1424 Call-Id: 12345600@example.com 1425 CSeq: 1 INVITE 1426 History-Info: ;index=1 1427 History-Info: ;\ 1428 index=1.1;rc 1429 History-Info: ;\ 1430 index=1.2;mp=1 1431 History-Info: ;index=1.2.1;rc=1.2 1432 History-Info: ;\ 1433 index=1.3;mp=1.2 1434 History-Info: ;\ 1435 index=1.3.1 1436 Contact: 1437 Content-Type: application/sdp 1438 Content-Length: 1440 [SDP Not Shown] 1442 The VMS can look at the last hi-entry and find the target of the 1443 mailbox by looking for the "target" URI parameter in the hi-entry. 1445 3.8. GRUU 1447 A variation on the problem in Section 3.5 occurs with Globally 1448 Routable User Agent URI (GRUU) [RFC5627]. A GRUU is a URI assigned 1449 to a UA instance which has many of the same properties as the AOR, 1450 but causes requests to be routed only to that specific instance. It 1451 is desirable for a UA to know whether it was reached because a 1452 correspondent sent a request to its GRUU or to its AOR. This can be 1453 used to drive differing authorization policies on whether the request 1454 should be accepted or rejected, for example. However, like the AOR 1455 itself, the GRUU is lost in translation at the home proxy. Thus, the 1456 UAS cannot know whether it was contacted via the GRUU or its AOR. 1458 Following call-flow and example messages show how History-Info can be 1459 used to find out the GRUU used to reach the callee. 1461 While a GRUU is comprised of an AoR with a URI parameter as defined 1462 in [RFC5627] , the GRUU construct itself is not an AoR. Thus, the 1463 retargeting of a request based on a GRUU does not result in the 1464 addition of an "rc" header field parameter to the hi-entry containing 1465 the GRUU. The lack of an "rc" header field parameter in the hi- 1466 entries can be a hint that the source of retargeting is a GRUU. 1467 However, to ensure this is the case, the UAS needs to search for a 1468 "gr" parameter in the hi-entry prior to the last hi-entry. If there 1469 is a GRUU, the URI will always be prior to the last hi-entry as GRUU 1470 does not allow multiple instance to be mapped to a contact address. 1472 Alice Example.com John 1473 | | REGISTER F1 | 1474 | |<--------------------| 1475 | | 200 OK F2 | 1476 | |-------------------->| 1477 | INVITE F3 | | 1478 |-------------------->| | 1479 | | INVITE F4 | 1480 | |-------------------->| 1481 * Rest of flow not shown * 1483 F1 REGISTER John -> Example.com 1485 REGISTER sip:example.com SIP/2.0 1486 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 1487 Max-Forwards: 70 1488 From: John ;tag=a73kszlfl 1489 Supported: gruu 1490 To: John 1491 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1492 CSeq: 1 REGISTER 1493 Contact: 1494 ;+sip.instance="" 1495 Content-Length: 0 1497 [SDP Not Shown] 1498 F2 200 OK Example.com -> John 1500 SIP/2.0 200 OK 1501 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 1502 From: John ;tag=a73kszlfl 1503 To: John ;tag=b88sn 1504 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1505 CSeq: 1 REGISTER 1506 Contact: 1507 ;pub-gruu="sip:john@example.com 1508 ;gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6" 1509 ;temp-gruu= 1510 "sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr" 1511 ;+sip.instance="" 1512 ;expires=3600 1513 Content-Length: 0 1515 [SDP Not Shown] 1517 Assuming Alice has a knowledge of a gruu either through 1518 prior communication or through other means such as presence 1519 places a call to John's gruu. 1521 F3 INVITE Alice -> Example.com 1523 INVITE sip:john@example.com 1524 ;gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 SIP/2.0 1525 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1526 From: Alice ;tag=kkaz- 1527 To: 1529 Supported: gruu, histinfo 1530 Call-Id: 12345600@example.com 1531 CSeq: 1 INVITE 1532 History-Info: ;index=1 1534 Contact: Alice 1535 Content-Length: 1537 [SDP Not Shown] 1539 F4 INVITE Example.com -> John 1541 INVITE sip:john@192.0.2.1 SIP/2.0 1542 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1543 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1544 From: Alice ;tag=kkaz- 1545 To: John 1546 Supported: gruu, histinfo 1547 Call-Id: 12345600@example.com 1548 CSeq: 1 INVITE 1549 Record-Route: 1550 History-Info: ;index=1 1552 History-Info: ;index=1.1;rc=1 1553 Contact: Alice 1554 Content-Type: application/sdp 1555 Content-Length: 1557 [SDP Not Shown] 1559 Figure 4: GRUU Example 1561 By analyzing the entry referenced by the entry with the last "rc", 1562 one can realize that the URI used to reach the device was GRUU by 1563 finding the "gr" parameter. 1565 3.9. Limited Use Address 1567 A limited use address is a SIP URI that is minted on-demand, and 1568 passed out to a small number (usually one) remote correspondent. 1569 Incoming calls targeted to that limited use address are accepted as 1570 long as the UA still desires communications from the remote target. 1571 Should they no longer wish to be bothered by that remote 1572 correspondent, the URI is invalidated so that future requests 1573 targeted to it are rejected. 1575 Limited use addresses are used in battling voice spam [RFC5039]. The 1576 easiest way to provide them would be for a UA to be able to take its 1577 AOR, and "mint" a limited use address by appending additional 1578 parameters to the URI. It could then give out the URI to a 1579 particular correspondent, and remember that URI locally. When an 1580 incoming call arrives, the UAS would examine the parameter in the URI 1581 and determine whether or not the call should be accepted. 1582 Alternatively, the UA could push authorization rules into the 1583 network, so that it need not even see incoming requests that are to 1584 be rejected. 1586 This approach, especially when executed on the UA, requires that 1587 parameters attached to the AOR, but not used by the home proxy in 1588 processing the request, will survive the translation at the home 1589 proxy and be presented to the UA. This will not be the case with the 1590 logic in RFC 3261, since the Request-URI is replaced by the 1591 registered contact, and any such parameters are lost. 1593 Using the history-info John's UA can easily see if the call was 1594 addressed to its AoR, GRUU or a temp-gruu and treat the call 1595 accordingly by looking for a "gr" tag in the hi-entry prior to the 1596 last hi-entry. 1598 Alice Example.com John 1599 | | REGISTER F1 | 1600 | |<--------------------| 1601 | | 200 OK F2 | 1602 | |-------------------->| 1603 | INVITE F3 | | 1604 |-------------------->| | 1605 | | INVITE F4 | 1606 | |-------------------->| 1607 * Rest of flow not shown * 1609 F1 REGISTER John -> Example.com 1611 REGISTER sip:example.com SIP/2.0 1612 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 1613 Max-Forwards: 70 1614 From: John ;tag=a73kszlfl 1615 Supported: gruu 1616 To: John 1617 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1618 CSeq: 1 REGISTER 1619 Contact: 1620 ;+sip.instance="" 1621 Content-Length: 0 1623 F2 200 OK Example.com -> John 1625 SIP/2.0 200 OK 1626 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 1627 From: John ;tag=a73kszlfl 1628 To: John ;tag=b88sn 1629 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1630 CSeq: 1 REGISTER 1631 Contact: 1632 ;pub-gruu="sip:john@example.com 1633 ;gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6" 1634 ;temp-gruu= 1635 "sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr" 1636 ;+sip.instance="" 1637 ;expires=3600 1638 Content-Length: 0 1640 Assuming Alice has a knowledge of a temp-gruu, she places a 1641 call to the temp-gruu. 1643 F3 INVITE Alice -> Example.com 1645 INVITE sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com 1646 ;gr SIP/2.0 1647 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1648 From: Alice ;tag=kkaz- 1649 To: 1651 Supported: gruu, histinfo 1652 Call-Id: 12345600@example.com 1653 CSeq: 1 INVITE 1654 History-Info: 1655 1656 ;index=1 1657 Contact: Alice 1658 Content-Length: 1660 F4 INVITE Example.com -> John 1662 INVITE sip:john@192.0.2.1 SIP/2.0 1663 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1664 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1665 From: Alice ;tag=kkaz- 1666 To: John 1667 Supported: gruu, histinfo 1668 Call-Id: 12345600@example.com 1669 CSeq: 1 INVITE 1670 Record-Route: 1671 History-Info: 1672 1673 ;index=1 1674 History-Info: ;index=1.1;rc=1 1675 Contact: Alice 1676 Content-Type: application/sdp 1677 Content-Length: 1679 Figure 5: Limited Use Address Example 1681 By analyzing the entry referenced by the entry with the last "rc", 1682 one can realize that the URI used to reach the device was GRUU by 1683 finding the "gr" parameter. 1685 3.10. Service Invocation 1687 Several SIP specifications have been developed which make use of 1688 complex URIs to address services within the network rather than 1689 subscribers. The URIs are complex because they contain numerous 1690 parameters that control the behavior of the service. Examples of 1691 this include the specification which first introduced the concept, 1692 [RFC3087], control of network announcements and IVR with SIP URI 1693 [RFC4240], and control of voicemail access with SIP URI [RFC4458]. 1695 A common problem with all of these mechanisms is that once a proxy 1696 has decided to rewrite the Request-URI to point to the service, it 1697 cannot be sure that the Request-URI will not be destroyed by a 1698 downstream proxy which decides to forward the request in some way, 1699 and does so by rewriting the Request-URI. 1701 Section on voicemail (Section 3.6) shows how History-Info can be used 1702 to invocate a service. 1704 3.11. Toll Free Number 1706 Toll free numbers, also known as 800 or 8xx numbers in the United 1707 States, are telephone numbers that are free for users to call. 1709 In the telephone network, toll free numbers are just aliases to 1710 actual numbers which are used for routing of the call. In order to 1711 process the call in the PSTN, a switch will perform a query (using a 1712 protocol called TCAP), which will return either a phone number or the 1713 identity of a carrier which can handle the call. 1715 There has been recent work on allowing such PSTN translation services 1716 to be accessed by SIP proxy servers through IP querying mechanisms. 1717 ENUM, for example [RFC3761] has already been proposed as a mechanism 1718 for performing Local Number Portability (LNP) queries [RFC4769], and 1719 recently been proposed for performing calling name queries 1720 [I-D.ietf-enum-cnam]. Using it for 8xx number translations is a 1721 logical next-step. 1723 Once such a translation has been performed, the call needs to be 1724 routed towards the target of the request. Normally, this would 1725 happen by selecting a PSTN gateway which is a good route towards the 1726 translated number. However, one can imagine all-IP systems where the 1727 8xx numbers are SIP endpoints on an IP network, in which case the 1728 translation of the 8xx number would actually be a SIP URI and not a 1729 phone number. Assuming for the moment it is a PSTN connected entity, 1730 the call would be routed towards a PSTN gateway. Proper treatment of 1731 the call in the PSTN (and in particular, correct reconciliation of 1732 billing records) requires that the call be marked with both the 1733 original 8xx number AND the target number for the call. However, in 1734 our example here, since the translation was performed by a SIP proxy 1735 upstream from the gateway, the original 8xx number would have been 1736 lost, and the call will not interwork properly with the PSTN. 1738 Furthermore, even if the translation of the 8xx number was a SIP URI, 1739 the enterprise or user who utilize the 8xx service would like to know 1740 whether the call came in via 8xx number in order to treat the call 1741 differently (for example to play a special announcement..) but if the 1742 original R-URI is lost through translation, there is no way to tell 1743 if the call came in via 8xx number. 1745 Similar problems arise with other "special" numbers and services used 1746 in the PSTN, such as operator services, pay/premium numbers (9xx 1747 numbers in the U.S), and short service codes such as 311. 1749 To find the service number, the UAS can extract the hi-entry whose 1750 index matches the value of the first hi-entry with an "mp" tag. 1751 Technically the call can be forwarded to these "special" numbers from 1752 non "special" numbers, however that is uncommon based on the way 1753 these services authorize translations. 1755 Alice Toll Free Service Atlanta.com John 1756 | | | | 1757 | INVITE F1 | | | 1758 |--------------->| INVITE F2 | | 1759 | |------------->| | 1760 | | | INVITE F3 | 1761 | | |------------------>| 1763 * Rest of flow not shown * 1765 F1: INVITE 192.0.2.1 -> Toll Free Service 1767 INVITE sip:+18005551002@example.com;user=phone SIP/2.0 1768 Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK74bf 1769 From: Alice ;tag=9fxced76sl 1770 To: sip:+18005551002@example.com;user=phone 1771 Call-ID: c3x842276298220188511 1772 CSeq: 1 INVITE 1773 Max-Forwards: 70 1774 Contact: 1775 Content-Type: application/sdp 1776 Content-Length: 1778 [SDP Not Shown] 1780 F2: INVITE Toll Free Service -> Atlanta.com 1781 INVITE sip:+15555551002@atlanta.com SIP/2.0 1782 Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik8 1783 Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK74bf 1784 From: Alice ;tag=9fxced76sl 1785 To: sip:+18005551002@example.com;user=phone 1786 Call-ID: c3x842276298220188511 1787 CSeq: 1 INVITE 1788 Max-Forwards: 70 1789 Supported: histinfo 1790 History-Info: ;index=1, 1791 ;index=1.1;mp=1 1792 Contact: 1793 Content-Type: application/sdp 1794 Content-Length: 1796 [SDP Not Shown] 1798 F3: INVITE Atlanta.com -> John 1800 INVITE sip:john@198.51.100.2 SIP/2.0 1801 Via: SIP/2.0/TCP 198.51.100.1:5060;branch=z9hG4bKpxk7g 1802 Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik80 1803 Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK74bf 1804 From: Alice ;tag=9fxced76sl 1805 To: sip:+18005551002@example.com;user=phone 1806 Call-ID: c3x842276298220188511 1807 CSeq: 1 INVITE 1808 Max-Forwards: 70 1809 Supported: histinfo 1810 History-Info: ;index=1, 1811 ;index=1.1;mp=1, 1812 ;index=1.1.1;rc=1.1 1813 ;index=1.1.2;rc=1.1 1814 Contact: 1815 Content-Type: application/sdp 1816 Content-Length: 1818 [SDP Not Shown] 1820 Figure 6: Service Number Example 1822 4. Security Considerations 1824 The security considerations for the History-Info header field are 1825 specified in [I-D.ietf-sipcore-rfc4244bis]. 1827 5. IANA Considerations 1829 This document has no IANA considerations. 1831 5.1. Acknowledgements 1833 Jonathan Rosenberg et al produced the document that provided 1834 additional use cases precipitating the requirement for the new 1835 "target" parameter in the History-Info header field and the new SIP/ 1836 SIPS URI parameter. Hadriel Kaplan provided some comments. 1838 6. Informative References 1840 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 1841 A., Peterson, J., Sparks, R., Handley, M., and E. 1842 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 1843 June 2002. 1845 [RFC3326] Schulzrinne, H., Oran, D., and G. Camarillo, "The Reason 1846 Header Field for the Session Initiation Protocol (SIP)", 1847 RFC 3326, December 2002. 1849 [RFC3323] Peterson, J., "A Privacy Mechanism for the Session 1850 Initiation Protocol (SIP)", RFC 3323, November 2002. 1852 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1853 Requirement Levels", BCP 14, RFC 2119, March 1997. 1855 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1856 (TLS) Protocol Version 1.2", RFC 5246, August 2008. 1858 [RFC4244] Barnes, M., "An Extension to the Session Initiation 1859 Protocol (SIP) for Request History Information", RFC 4244, 1860 November 2005. 1862 [RFC5627] Rosenberg, J., "Obtaining and Using Globally Routable User 1863 Agent URIs (GRUUs) in the Session Initiation Protocol 1864 (SIP)", RFC 5627, October 2009. 1866 [RFC5630] Audet, F., "The Use of the SIPS URI Scheme in the Session 1867 Initiation Protocol (SIP)", RFC 5630, October 2009. 1869 [RFC3087] Campbell, B. and R. Sparks, "Control of Service Context 1870 using SIP Request-URI", RFC 3087, April 2001. 1872 [RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network 1873 Media Services with SIP", RFC 4240, December 2005. 1875 [RFC5039] Rosenberg, J. and C. Jennings, "The Session Initiation 1876 Protocol (SIP) and Spam", RFC 5039, January 2008. 1878 [RFC4458] Jennings, C., Audet, F., and J. Elwell, "Session 1879 Initiation Protocol (SIP) URIs for Applications such as 1880 Voicemail and Interactive Voice Response (IVR)", RFC 4458, 1881 April 2006. 1883 [RFC3761] Faltstrom, P. and M. Mealling, "The E.164 to Uniform 1884 Resource Identifiers (URI) Dynamic Delegation Discovery 1885 System (DDDS) Application (ENUM)", RFC 3761, April 2004. 1887 [RFC4769] Livingood, J. and R. Shockey, "IANA Registration for an 1888 Enumservice Containing Public Switched Telephone Network 1889 (PSTN) Signaling Information", RFC 4769, November 2006. 1891 [RFC3969] Camarillo, G., "The Internet Assigned Number Authority 1892 (IANA) Uniform Resource Identifier (URI) Parameter 1893 Registry for the Session Initiation Protocol (SIP)", 1894 BCP 99, RFC 3969, December 2004. 1896 [I-D.ietf-enum-cnam] 1897 Shockey, R., "IANA Registration for an Enumservice Calling 1898 Name Delivery (CNAM) Information and IANA Registration for 1899 URI type 'pstndata'", draft-ietf-enum-cnam-08 (work in 1900 progress), September 2008. 1902 [I-D.ietf-sipcore-rfc4244bis] 1903 Barnes, M., Audet, F., Schubert, S., Elburg, H., and C. 1904 Holmberg, "An Extension to the Session Initiation Protocol 1905 (SIP) for Request History Information", 1906 draft-ietf-sipcore-rfc4244bis-09 (work in progress), 1907 September 2012. 1909 Authors' Addresses 1911 Mary Barnes 1912 Polycom 1913 TX 1914 US 1916 Email: mary.ietf.barnes@gmail.com 1917 Francois Audet 1918 Skype 1920 Email: francois.audet@skype.net 1922 Shida Schubert 1923 NTT 1924 Tokyo 1925 Japan 1927 Email: shida@ntt-at.com 1929 Hans Erik van Elburg 1930 Detecon International Gmbh 1931 Oberkasseler str. 2 1932 Bonn, 1933 Germany 1935 Email: ietf.hanserik@gmail.com 1937 Christer Holmberg 1938 Ericsson 1939 Hirsalantie 11, Jorvas 1940 Finland 1942 Email: christer.holmberg@ericsson.com