idnits 2.17.1 draft-ietf-sipcore-rfc4244bis-callflows-06.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 : ---------------------------------------------------------------------------- -- 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 410 has weird spacing: '... Alice atla...' == Line 559 has weird spacing: '... Alice atla...' -- The document date (Jul 2013) is 3938 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-12) exists of draft-ietf-sipcore-rfc4244bis-11 Summary: 0 errors (**), 0 flaws (~~), 5 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPCORE M. Barnes 3 Internet-Draft Polycom 4 Intended status: Informational F. Audet 5 Expires: January 2, 2014 Skype 6 S. Schubert 7 NTT 8 H. van Elburg 9 Detecon International Gmbh 10 C. Holmberg 11 Ericsson 12 Jul 2013 14 Session Initiation Protocol (SIP) History-Info Header Call Flow Examples 15 draft-ietf-sipcore-rfc4244bis-callflows-06.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 January 2, 2014. 42 Copyright Notice 44 Copyright (c) 2013 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 . . . . . . . . . . 11 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 . . . . . . . . . . . . . . . . . . 26 68 3.7. Consumer Voicemail Example . . . . . . . . . . . . . . . . 31 69 3.8. GRUU . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 70 3.9. Limited Use Address . . . . . . . . . . . . . . . . . . . 38 71 3.10. Service Invocation . . . . . . . . . . . . . . . . . . . . 41 72 3.11. Toll Free Number . . . . . . . . . . . . . . . . . . . . . 41 73 4. Security Considerations . . . . . . . . . . . . . . . . . . . 44 74 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 44 75 5.1. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 44 76 6. Informative References . . . . . . . . . . . . . . . . . . . . 44 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 45 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" and "AOR" are used consistent with the terminology in 95 [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 *Home* 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. This results in 133 avoiding the sending of another INVITE to Bob's home phone. Without 134 this mechanism, Alice might well attempt to reach Bob at his office 135 phone, which would then retarget the request to Bob's home phone. 136 When that attempt failed, then Alice might attempt to reach Bob 137 directly at his home phone, unknowingly for a third time. 139 Alice example.com Bob Office Home 141 | | | | | 142 | INVITE F1 | | | | 143 |----------->| INVITE F2 | | | 144 | |----------------->| | | 145 | 100 Trying F3 | | | 146 |<-----------| 302 Move Temporarily F4 | | 147 | |<-----------------| | | 148 | | ACK F5 | | | 149 | |----------------->| | | 150 | | INVITE F6 | | 151 | |-------------------------->| | 152 | | 180 Ringing F7 | | 153 | |<--------------------------| | 154 | 180 Ringing F8 | | 155 |<-----------| retransmit INVITE | | 156 | |-------------------------->| | 157 | | ( timeout ) | | 158 | | INVITE F9 | 159 | |----------------------------------->| 160 | | 100 Trying F10 | 161 | |<-----------------------------------| 162 | | 486 Busy Here F11 | 163 | |<-----------------------------------| 164 | 486 Busy Here F12 | 165 |<-----------| ACK F13 | 166 | |----------------------------------->| 167 | ACK F14 | | 168 |----------->| | 170 Figure 1: Example with Sequential Forking 172 Message Details 174 F1 INVITE alice -> example.com 176 INVITE sip:bob@example.com SIP/2.0 177 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 178 Max-Forward: 70 179 From: Alice ;tag=sr3dds 180 To: Bob 181 Supported: histinfo 182 Call-Id: 12345600@example.com 183 CSeq: 1 INVITE 184 History-Info: ;index=1 185 Contact: Alice 186 Content-Type: application/sdp 187 Content-Length: 188 190 F2 INVITE example.com -> Bob 192 INVITE sip:bob@192.0.2.4 SIP/2.0 193 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 194 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 195 Max-Forward: 69 196 From: Alice ;tag=sr3dds 197 To: Bob 198 Supported: histinfo 199 Call-Id: 12345600@example.com 200 CSeq: 1 INVITE 201 Record-Route: 202 History-Info: ;index=1 203 History-Info: ;index=1.1;rc=1 204 Contact: Alice 205 Content-Type: application/sdp 206 Content-Length: 207 208 F3 100 Trying example.com -> alice 210 SIP/2.0 100 Trying 211 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 212 From: Alice ;tag=sr3dds 213 To: Bob 214 Supported: histinfo 215 Call-Id: 12345600@example.com 216 CSeq: 1 INVITE 217 Content-Length: 0 219 F4 302 Moved Temporarily Bob -> example.com 221 SIP/2.0 302 Moved Temporarily 222 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 223 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 224 From: Alice ;tag=sr3dds 225 To: Bob ;tag=es43sd 226 Supported: histinfo 227 Call-Id: 12345600@example.com 228 CSeq: 1 INVITE 229 History-Info: ;index=1 230 History-Info: ;index=1.1;rc=1 231 Contact: ;mp=1 232 Content-Length: 0 234 F5 ACK example.com -> Bob 236 ACK sip:bob@example.com SIP/2.0 237 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st 238 Max-Forward: 70 239 From: Alice ;tag=sr3dds 240 To: Bob ;tag=es43sd 241 Call-Id: 12345600@example.com 242 CSeq: 1 ACK 243 Content-Length: 0 244 F6 INVITE example.com -> office 246 INVITE sip:office@192.0.2.5 SIP/2.0 247 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx4st 248 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 249 Max-Forward: 69 250 From: Alice ;tag=sr3dds 251 To: Bob 252 Supported: histinfo 253 Call-Id: 12345600@example.com 254 Record-Route: 255 History-Info: ;index=1 256 History-Info: ;\ 257 index=1.1;rc=1 258 History-Info: ;index=1.2;mp=1 259 History-Info: ;index=1.2.1;rc=1.2 260 CSeq: 1 INVITE 261 Contact: Alice 262 Content-Type: application/sdp 263 Content-Length: 264 266 F7 180 Ringing office -> example.com 268 SIP/2.0 180 Ringing 269 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx4st 270 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 271 From: Alice ;tag=sr3dds 272 To: Bob ;tag=53rdds 273 Supported: histinfo 274 Call-ID: 12345600@example.com 275 Record-Route: 276 History-Info: ;index=1 277 History-Info: ;\ 278 index=1.1;rc=1 279 History-Info: ;index=1.2;mp=1 280 History-Info: ;index=1.2.1;rc=1.2 281 CSeq: 1 INVITE 282 Contact: Office 283 Content-Length: 0 284 F8 180 Ringing example.com -> alice 286 SIP/2.0 180 Ringing 287 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 288 From: Alice ;tag=sr3dds 289 To: Bob ;tag=53rdds 290 Supported: histinfo 291 Call-Id: 12345600@example.com 292 Record-Route: 293 History-Info: ;index=1 294 History-Info: ;\ 295 index=1.1;rc=1 296 History-Info: ;index=1.2;mp=1 297 History-Info: ;index=1.2.1;rc=1.2 298 CSeq: 1 INVITE 299 Contact: Office 300 Content-Length: 0 302 F9 INVITE example.com -> home 304 INVITE sip:home@192.0.2.6 SIP/2.0 305 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st 306 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 307 Max-Forward: 69 308 From: Alice ;tag=sr3dds 309 To: Bob 310 Supported: histinfo 311 Call-Id: 12345600@example.com 312 Record-Route: 313 History-Info: ;index=1 314 History-Info: ;\ 315 index=1.1;rc=1 316 History-Info: ;\ 317 index=1.2;mp=1 318 History-Info: ;\ 319 index=1.2.1;rc=1.2 320 History-Info: ;index=1.3;mp=1 321 History-Info: ;index=1.3.1;rc=1.3 322 CSeq: 1 INVITE 323 Contact: Alice 324 Content-Type: application/sdp 325 Content-Length: 326 327 F10 100 Trying home -> example.com 329 SIP/2.0 100 Trying 330 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st 331 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 332 From: Alice ;tag=sr3dds 333 To: Bob 334 Call-Id: 12345600@example.com 335 CSeq: 1 INVITE 336 Content-Length: 0 338 F11 486 Busy Here home -> example.com 340 SIP/2.0 486 Busy Here 341 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st 342 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 343 From: Alice ;tag=sr3dds 344 To: Bob ;tag=55rdds 345 Call-Id: 12345600@example.com 346 History-Info: ;index=1 347 History-Info: ;\ 348 index=1.1;rc=1 349 History-Info: ;\ 350 index=1.2;mp=1 351 History-Info: ;\ 352 index=1.2.1;rc=1.2 353 History-Info: ;index=1.3;mp=1 354 History-Info: ;index=1.3.1;rc=1.3 355 CSeq: 1 INVITE 356 Content-Length: 0 357 F12 486 Busy Here example.com -> alice 359 SIP/2.0 486 Busy Here 360 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 361 From: Alice ;tag=sr3dds 362 To: Bob ;tag=55rdds 363 Call-Id: 12345600@example.com 364 History-Info: ;index=1 365 History-Info: ;\ 366 index=1.1;rc=1 367 History-Info: ;\ 368 index=1.2;mp=1 369 History-Info: ;\ 370 index=1.2.1;rc=1.2 371 History-Info: ;index=1.3;mp=1 372 History-Info: ;index=1.3.1;rc=1.3 373 CSeq: 1 INVITE 374 Content-Length: 0 376 F13 ACK example.com -> home 378 ACK sip:home@192.0.2.6 SIP/2.0 379 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st 380 Max-Forward: 70 381 From: Alice ;tag=sr3dds 382 To: Bob ;tag=55rdds 383 Call-Id: 12345600@example.com 384 CSeq: 1 ACK 385 Content-Length: 0 387 F14 ACK alice -> example.com 389 ACK sip:bob@example.com SIP/2.0 390 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 391 Max-Forward: 70 392 From: Alice ;tag=sr3dds 393 To: Bob ;tag=55rdds 394 Call-Id: 12345600@example.com 395 Route: 396 CSeq: 1 ACK 397 Content-Length: 0 399 3.2. History-Info with Privacy Header Field 401 This example provides a basic call scenario without forking. Alice 402 has indicated that she wants Privacy associated with the History-Info 403 header field entries. In addition, sip:biloxi.example.com adds 404 Privacy header fields indicating that the History-Info header field 405 information is anonymized outside the biloxi.example.com domain. 406 Note, that if the atlanta.example.com proxy had added privacy header 407 fields to all its hi-entries, then all the hi-entries in the response 408 would be anonymous. 410 Alice atlanta.example.com biloxi.example.com Bob 412 | | | | 413 | INVITE F1 | | | 414 |--------------->| | | 415 | | | | 416 | | INVITE F2 | | 417 | |--------------->| | 418 | | | | 419 | | | INVITE F3 | 420 | | |--------------->| 421 | | | | 422 | | | 200 F4 | 423 | | |<---------------| 424 | | | | 425 | | 200 F5 | | 426 | |<---------------| | 427 | | | | 428 | 200 F6 | | | 429 |<---------------| | | 430 | | | | 431 | | ACK | | 432 |------------------------------------------------->| 433 | | | | 435 Figure 2: Example with Privacy Header Fields 437 Message Details 439 F1 INVITE alice -> atlanta.example.com 441 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 442 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 443 Max-Forward: 70 444 From: Alice ;tag=22 445 To: Bob 446 Supported: histinfo 447 Privacy: history 448 Call-Id: 12345600@atlanta.example.com 449 CSeq: 1 INVITE 450 History-Info: ;index=1 451 Contact: Alice 452 Content-Type: application/sdp 453 Content-Length: 454 456 F2 INVITE atlanta.example.com -> biloxi.example.com 458 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 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 Max-Forward: 69 462 From: Alice ;tag=22 463 To: Bob 464 Supported: histinfo 465 Call-Id: 12345600@atlanta.example.com 466 CSeq: 1 INVITE 467 History-Info: ;index=1 468 History-Info: ;index=1.1 469 Contact: Alice 470 Content-Type: application/sdp 471 Content-Length: 472 473 F3 INVITE biloxi.example.com -> Bob 475 INVITE sip:bob@192.0.1.11 SIP/2.0 476 Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bKgs32 477 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2;\ 478 received=192.0.2.3 479 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 480 Max-Forward: 68 481 From: Alice ;tag=22 482 To: Bob 483 Supported: histinfo 484 Call-Id: 12345600@atlanta.example.com 485 CSeq: 1 INVITE 486 History-Info: ;index=1 487 History-Info: ;index=1.1 488 History-Info: ;index=1.1.1;rc=1.1 489 Contact: Alice 490 Content-Type: application/sdp 491 Content-Length: 492 494 F4 200 OK Bob -> biloxi.example.com 496 SIP/2.0 200 OK 497 Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bKgs32;\ 498 received=192.0.2.101 499 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2;\ 500 received=192.0.2.3 501 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 502 From: Alice ;tag=22 503 To: Bob ;tag=33 504 Supported: histinfo 505 Call-Id: 12345600@atlanta.example.com 506 CSeq: 1 INVITE 507 History-Info: ;index=1 508 History-Info: ;index=1.1 509 History-Info: ;index=1.1.1;rc=1.1 510 Contact: Bob 511 Content-Type: application/sdp 512 Content-Length: 513 514 F5 200 OK biloxi.example.com -> atlanta.example.com 516 SIP/2.0 200 OK 517 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2;\ 518 received=192.0.2.101 519 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 520 From: Alice ;tag=22 521 To: Bob ;tag=33 522 Supported: histinfo 523 Call-Id: 12345600@atlanta.example.com 524 CSeq: 1 INVITE 525 History-Info: ;index=1 526 History-Info: ;index=1.1 527 History-Info: ;index=1.1.1;rc=1.1 528 Contact: Bob 529 Content-Type: application/sdp 530 Content-Length: 531 533 F6 200 OK atlanta.example.com -> Alice 535 SIP/2.0 200 OK 536 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 537 From: Alice ;tag=22 538 To: Bob ;tag=33 539 Supported: histinfo 540 Call-Id: 12345600@atlanta.example.com 541 CSeq: 1 INVITE 542 History-Info: ;index=1 543 History-Info: ;index=1.1 544 History-Info: ;index=1.1.1;rc=1.1 545 Contact: Bob 546 Content-Type: application/sdp 547 Content-Length: 548 550 3.3. Privacy for a Specific History-Info Entry 552 This example provides a basic call scenario similar to Section 3.2, 553 however, due to local policy at sip:biloxi.example.com, only the 554 final hi-entry in the History-Info, which is Bob's local URI, 555 contains a privacy header field with a priv-value of "history", thus 556 providing Alice with some information about the history of the 557 request, but anonymizing Bob's local URI. 559 Alice atlanta.example.com biloxi.example.com Bob 560 | | | | 561 | INVITE F1 | | | 562 |--------------->| | | 563 | | | | 564 | | INVITE F2 | | 565 | |--------------->| | 566 | | | | 567 | | | INVITE F3 | 568 | | |--------------->| 569 | | | | 570 | | | 200 F4 | 571 | | |<---------------| 572 | | | | 573 | | 200 F5 | | 574 | |<---------------| | 575 | | | | 576 | 200 F6 | | | 577 |<---------------| | | 578 | | | | 579 | | ACK | | 580 |------------------------------------------------->| 581 | | | | 583 Figure 3: Example with Privacy Header Field for Specific URI 585 Message Details 587 F1 INVITE alice -> atlanta.example.com 589 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 590 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 591 Max-Forward: 70 592 From: Alice ;tag=22 593 To: Bob 594 Supported: histinfo 595 Call-Id: 12345600@atlanta.example.com 596 CSeq: 1 INVITE 597 History-Info: ;index=1 598 Contact: Alice 599 Content-Type: application/sdp 600 Content-Length: 601 602 F2 INVITE atlanta.example.com -> biloxi.example.com 604 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 605 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2 606 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 607 Max-Forward: 69 608 From: Alice ;tag=22 609 To: Bob 610 Supported: histinfo 611 Call-Id: 12345600@atlanta.example.com 612 CSeq: 1 INVITE 613 History-Info: ;index=1 614 History-Info: ;index=1.1;np=1 615 Contact: Alice 616 Content-Type: application/sdp 617 Content-Length: 618 620 F3 INVITE biloxi.example.com -> Bob 622 INVITE sip:bob@192.0.1.11 SIP/2.0 623 Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bKeset 624 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2;\ 625 received=192.0.2.101 626 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 627 Max-Forward: 68 628 From: Alice ;tag=22 629 To: Bob 630 Supported: histinfo 631 Call-Id: 12345600@atlanta.example.com 632 CSeq: 1 INVITE 633 History-Info: ;index=1 634 History-Info: ;index=1.1;np=1 635 History-Info: ;index=1.1.1;rc=1.1 636 Contact: Alice 637 Content-Type: application/sdp 638 Content-Length: 639 640 F4 200 OK Bob -> biloxi.example.com 642 SIP/2.0 200 OK 643 Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bKeset;\ 644 received=192.0.2.5 645 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2;\ 646 received=192.0.2.101 647 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 648 From: Alice ;tag=22 649 To: Bob ;tag=33 650 Supported: histinfo 651 Call-Id: 12345600@atlanta.example.com 652 CSeq: 1 INVITE 653 History-Info: ;index=1 654 History-Info: ;index=1.1;np=1 655 History-Info: ;index=1.1.1;rc=1.1 656 Contact: Bob 657 Content-Type: application/sdp 658 Content-Length: 659 661 F5 200 OK biloxi.example.com -> atlanta.example.com 663 SIP/2.0 200 OK 664 Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2;\ 665 received=192.0.2.101 666 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 667 From: Alice ;tag=22 668 To: Bob ;tag=33 669 Supported: histinfo 670 Call-Id: 12345600@atlanta.example.com 671 CSeq: 1 INVITE 672 History-Info: ;index=1 673 History-Info: ;index=1.1;np=1 674 History-Info: ;index=1.1.1;rc=1.1 675 Contact: Bob 676 Content-Type: application/sdp 677 Content-Length: 678 679 F6 200 OK atlanta.example.com -> Alice 681 SIP/2.0 200 OK 682 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 683 From: Alice ;tag=22 684 To: Bob ;tag=33 685 Supported: histinfo 686 Call-Id: 12345600@atlanta.example.com 687 CSeq: 1 INVITE 688 History-Info: ;index=1 689 History-Info: ;index=1.1;np=1 690 History-Info: ;index=1.1.1;rc=1.1 691 Contact: Bob 692 Content-Type: application/sdp 693 Content-Length: 694 696 3.4. Automatic Call Distribution 698 This scenario highlights an example of an Automatic Call Distribution 699 service, where the agents are divided into groups based upon the type 700 of customers they handle. In this example, the Gold customers are 701 given higher priority than Silver customers, so a Gold call would get 702 serviced even if all the agents servicing the Gold group were busy, 703 by retargeting the request to the Silver Group for delivery to an 704 agent. Upon receipt of the call at the agent assigned to handle the 705 incoming call, based upon the History-Info header in the message, the 706 application at the agent can provide an indication that this is a 707 Gold call by extracting the hi-entry associated with the incoming 708 request which is determined by locating the hi-entry whose index is 709 reflected in the first hi-entry with an hi-target of "mp". In the 710 example this would be the hi-entry referenced by the value of the 711 first "mp" header field parameter -i.e., the hi-entry containing an 712 index of "1". An application can also determine how many groups from 713 which the call may have overflowed before reaching the agent, etc. 714 and present the information to the agent so that the call can be 715 handled appropriately by the agent - i.e., "I'm so sorry for the 716 delay, blah, blah, blah..." 718 For scenarios whereby calls might overflow from the Silver to the 719 Gold, clearly the alternate group identification, internal routing, 720 or actual agent that handles the call should not be sent to UA1. 721 Thus, for this scenario, one would expect that the Proxy would not 722 support the sending of the History-Info in the response, even if 723 requested by Alice or the proxy could anonymize the Silver related 724 hi-entries by adding privacy in the Silver hi-entries. 726 As with the other examples, this is not a complete prescription of 727 how one would do this type of service but an example of a subset of 728 processing that might be associated with such a service. In 729 addition, this example is not addressing any aspects of Agent 730 availability resulting in the call being sent to an agent in another 731 group, which might also be done via a SIP interface. 733 Alice example.com Gold Silver Agent 735 | | | | | 736 | INVITE F1 | | | | 737 |------------->| | | | 738 | | | | | 739 | | INVITE F2 | | | 740 | |------------->| | | 741 | | | | | 742 | | 302 Moved Temporarily F3 | | 743 | |<-------------| | | 744 | | | | | 745 | | ACK | | | 746 | |------------->| | | 747 | | | | | 748 | | INVITE F4 | | | 749 | |--------------------------->| | 750 | | | | | 751 | | | | INVITE F5 | 752 | | | |----------->| 753 | | | | | 754 | | | | 200 OK F6 | 755 | | | |<-----------| 756 | | | | | 757 | | 200 OK F7 | | 758 | |<---------------------------| | 759 | | | | | 760 | 200 OK F8 | | | | 761 |<-------------| | | | 762 | | | | | 763 | ACK F9 | 764 |------------------------------------------------------->| 766 F1 INVITE Alice -> Example.com 768 INVITE sip:Gold@example.com SIP/2.0 769 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 770 Max-Forward: 70 771 From: Alice ;tag=1235 772 To: Gold Member Assistance 773 Supported: histinfo 774 Call-Id: 12345600@example.com 775 CSeq: 1 INVITE 776 History-Info: ;index=1 777 Contact: Alice 778 Content-Type: application/sdp 779 Content-Length: 781 [SDP Not Shown] 783 F2 INVITE Example.com -> Gold.Example.com 785 INVITE sip:Gold@gold.example.com SIP/2.0 786 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 787 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 788 Max-Forward: 69 789 From: Alice ;tag=1235 790 To: Gold Member Assistance 791 Supported: histinfo 792 Call-Id: 12345600@example.com 793 CSeq: 1 INVITE 794 History-Info: ;index=1 795 History-Info: ;rc=1;index=1.1 796 Contact: Alice 797 Content-Type: application/sdp 798 Content-Length: 800 [SDP Not Shown] 802 F3 302 Moved Temporarily Gold.Example.com -> Example.com 804 SIP/2.0 302 Moved Temporarily 805 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4;\ 806 received=192.0.2.101 807 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 808 From: Alice ;tag=1235 809 To: Gold Member Assistance ;tag=kkaz- 810 Supported: histinfo 811 Call-Id: 12345600@example.com 812 CSeq: 1 INVITE 813 History-Info: ;index=1 814 History-Info: ;rc=1;index=1.1 815 Contact: ;mp=1 816 Content-Type: application/sdp 817 Content-Length: 819 [SDP Not Shown] 821 F4 INVITE Example.com -> Silver.Example.com 822 INVITE sip:Silver@example.com SIP/2.0 823 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2 824 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 825 Max-Forward: 69 826 From: Alice ;tag=1235 827 To: Gold Member Assistance 828 Supported: histinfo 829 Call-Id: 12345600@example.com 830 CSeq: 1 INVITE 831 History-Info: ;index=1 832 History-Info: ;\ 833 rc=1;index=1.1 834 History-Info: ;index=1.2;mp=1 835 History-Info: ;index=1.2.1;rc=1.2 836 Contact: Alice 837 Content-Type: application/sdp 838 Content-Length: 840 [SDP Not Shown] 842 F5 INVITE Silver.Example.com -> Agent 844 INVITE sip:Silver@192.0.2.7 SIP/2.0 845 Via: SIP/2.0/TCP silver.example.com:5060;branch=z9hG4bKerxs 846 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2;\ 847 received=192.0.2.101 848 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 849 Max-Forward: 68 850 From: Alice ;tag=1235 851 To: Gold Member Assistance 852 Supported: histinfo 853 Call-Id: 12345600@example.com 854 CSeq: 1 INVITE 855 History-Info: ;index=1 856 History-Info: ;\ 857 rc=1;index=1.1 858 History-Info: ;index=1.2;mp=1 859 History-Info: ;index=1.2.1;rc=1.2 860 History-Info: ;index=1.2.1.1;rc=1.2.1 861 Contact: Alice 862 Content-Type: application/sdp 863 Content-Length: 865 [SDP Not Shown] 867 F6 200 OK Agent -> Silver.Example.com 869 SIP/2.0 200 OK 870 Via: SIP/2.0/TCP silver.example.com:5060;branch=z9hG4bKerxs;\ 871 received=192.0.2.5 872 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2;\ 873 received=192.0.2.101 874 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 875 From: Alice ;tag=1235 876 To: Gold Member Assistance ;tag=2325 877 Supported: histinfo 878 Call-Id: 12345600@example.com 879 CSeq: 1 INVITE 880 History-Info: ;index=1 881 History-Info: ;\ 882 rc=1;index=1.1 883 History-Info: ;index=1.2;mp=1 884 History-Info: ;index=1.2.1;rc=1.2 885 History-Info: ;index=1.2.1.1;rc=1.2.1 886 Contact: Agent 887 Content-Type: application/sdp 888 Content-Length: 890 [SDP Not Shown] 892 F7 200 OK Silver.Example.com -> Example.com 894 SIP/2.0 200 OK 895 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2;\ 896 received=192.0.2.101 897 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 898 From: Alice ;tag=1235 899 To: Gold Member Assistance ;tag=2325 900 Supported: histinfo 901 Call-Id: 12345600@example.com 902 CSeq: 1 INVITE 903 History-Info: ;index=1 904 History-Info: ;\ 905 rc=1;index=1.1 906 History-Info: ;index=1.2;mp=1 907 History-Info: ;index=1.2.1;rc=1.2 908 History-Info: ;index=1.2.1.1;rc=1.2.1 909 Contact: Agent 910 Content-Type: application/sdp 911 Content-Length: 913 [SDP Not Shown] 915 F8 200 OK Example.com -> Alice 916 SIP/2.0 200 OK 917 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 918 From: Alice ;tag=1235 919 To: Gold Member Assistance ;tag=2325 920 Supported: histinfo 921 Call-Id: 12345600@example.com 922 CSeq: 1 INVITE 923 History-Info: ;index=1 924 History-Info: ;\ 925 rc=1;index=1.1 926 History-Info: ;index=1.2;mp=1 927 History-Info: ;index=1.2.1;rc=1.2 928 History-Info: ;index=1.2.1.1;rc=1.2.1 929 Contact: Agent 930 Content-Type: application/sdp 931 Content-Length: 933 [SDP Not Shown] 935 F9 ACK Alice -> Agent 937 ACK sip:Silver@192.0.2.7 SIP/2.0 938 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t3 939 Max-Forward: 70 940 From: Alice ;tag=1235 941 To: Gold Member Assistance ;tag=2325 942 Supported: histinfo 943 Call-Id: 12345600@example.com 944 CSeq: 1 ACK 945 Contact: Alice 946 Content-Type: application/sdp 947 Content-Length: 949 [SDP Not Shown] 951 Figure 4: Example for Automatic Call Distribution 953 The first hi-entry with the "mp" header field parameter contains a 954 "mp" header field parameter value of 1 which points to the original- 955 target which allows the operator to identify that the call was from 956 the "Gold" customer. 958 3.5. Determining the Alias used. 960 SIP user agents are associated with an address-of-record (AOR). It 961 is possible for a single UA to actually have multiple AORs associated 962 with it. One common usage for this is aliases. For example, a user 963 might have an AOR of sip:john@example.com but also have the AORs 964 sip:john.smith@example.com and sip:jsmith@example.com. Rather than 965 registering against each of these AORs individually, the user would 966 register against just one of them, and the home proxy would 967 automatically accept incoming calls for any of the aliases, treating 968 them identically and ultimately forwarding them towards the UA. This 969 is common practice in the Internet Multimedia Subsystem (IMS), where 970 it is called implicit registration and each alias is called a public 971 user identity (PUID). 973 It is a common requirement for a UAS, on receipt of a call, to know 974 which of its aliases was used to reach it. This knowledge can be 975 used to choose ringtones to play, determine call treatment, and so 976 on. For example, a user might give out one alias to friends and 977 family only, resulting in a special ring that alerts the user to the 978 importance of the call. 980 The following call-flow and example messages show how History-Info 981 can be used to find out the alias used to reach the callee. The 982 alias for the call is determined by hi-entry with the index that 983 matches the value of the last hi-entry with a "rc" header field 984 parameter in the Request received. 986 Alice Example.com John 987 | | REGISTER F1 | 988 | |<--------------------| 989 | | 200 OK F2 | 990 | |-------------------->| 991 | INVITE F3 | | 992 |-------------------->| | 993 | | INVITE F4 | 994 | |-------------------->| 995 * Rest of flow not shown * 997 F1 REGISTER John -> Example.com 999 REGISTER sip:example.com SIP/2.0 1000 Via: SIP/2.0/TCP 192.0.2.1;branch=z9hG4bKnashds7 1001 Max-Forwards: 70 1002 From: John ;tag=a73kszlfl 1003 To: John 1004 Supported: histinfo 1005 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1006 CSeq: 1 REGISTER 1007 Contact: 1008 Content-Length: 0 1009 F2 200 OK Example.com -> John 1011 SIP/2.0 200 OK 1012 Via: SIP/2.0/TCP 192.0.2.1;branch=z9hG4bKnashds7 1013 From: John ;tag=a73kszlfl 1014 To: John ;tag=d2dstee2 1015 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1016 CSeq: 1 REGISTER 1017 Contact: ;expires=3600 1018 Content-Length: 0 1020 F3 INVITE Alice -> Example.com 1022 INVITE sip:john.smith@example.com SIP/2.0 1023 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1024 Max-Forwards: 70 1025 From: Alice ;tag=a73kszlfl 1026 To: John 1027 Supported: histinfo 1028 Call-Id: 12345600@example.com 1029 CSeq: 1 INVITE 1030 History-Info: ;index=1 1031 Contact: Alice 1032 Content-Type: application/sdp 1033 Content-Length: 1035 [SDP Not Shown] 1037 F4 INVITE Example.com -> John 1039 INVITE sip:john@192.0.2.1 SIP/2.0 1040 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1041 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1042 Max-Forwards: 69 1043 From: Alice ;tag=a73kszlfl 1044 To: John 1045 Supported: histinfo 1046 Call-Id: 12345600@example.com 1047 CSeq: 1 INVITE 1048 Record-Route: 1049 History-Info: ;index=1 1050 History-Info: ;index=1.1;rc=1 1051 Contact: Alice 1052 Content-Type: application/sdp 1053 Content-Length: 1055 [SDP Not Shown] 1056 Figure 5: Alias Example 1058 The last hi-entry with the "rc" header field parameter references the 1059 source of retargeting pointing at the alias AoR, which in the example 1060 is "john.smith@example.com". 1062 3.6. PBX Voicemail Example 1064 A typical use case for voicemail is one whereby the original called 1065 party is not reachable and the call arrives at a voicemail system. 1066 In some cases multiple alternate destinations may be tried without 1067 success. The voicemail system typically requires the original called 1068 party information to determine the appropriate mailbox so an 1069 appropriate greeting can be provided and the appropriate party 1070 notified of the message. 1072 In this example, Alice calls Bob, whose SIP client is forwarded to 1073 Carol. Carol does not answer the call, thus it is forwarded to a VM 1074 (voicemail) server (VMS). In order to determine the appropriate 1075 mailbox to use for this call, the VMS needs the original target for 1076 the request. The original target is determined by finding the first 1077 hi-entry tagged with "rc" or "mp" and using the hi-entry referenced 1078 by the index of "rc" or "mp" header field parameter as the target for 1079 determining the appropriate mailbox. This hi-entry is used to 1080 populate the "target" URI parameter as defined in [RFC4458]. The 1081 reason associated with the first hi-entry tagged with "rc" or "mp" 1082 (i.e., 302) could be used to provide a customized voicemail greeting 1083 and is used to populate the "cause" URI parameter as defined in 1084 [RFC4458]. Note that some VMSs may also (or instead) use the 1085 information available in the History-Info headers for custom handling 1086 of the VM in terms of how and why the call arrived at the VMS. 1088 Furthermore it is the proxy forwarding the call to VMS that 1089 determines the target of the voicemail, it is the proxy that sets the 1090 target of voicemail which is also the entity that utilizes RFC4244bis 1091 to find the target which is usually based on local policy installed 1092 by the user or an administrator. 1094 Alice example.com Bob Carol VM 1096 | INVITE F1 | | | | 1097 |------------->| | | | 1098 | | INVITE F2 | | | 1099 | |------------->| | | 1100 | | | | | 1101 | 100 Trying | | | | 1102 |<-------------| 302 Moved Temporarily F3 | | 1103 | |<-------------| | | 1104 | | | | | 1105 | | ACK | | | 1106 | |------------->| | | 1107 | | | | | 1108 | | INVITE F4 | | | 1109 | |--------------------------->| | 1110 | | | | | 1111 | | 180 Ringing F5 | | 1112 | |<---------------------------| | 1113 | | | | | 1114 | 180 Ringing | | | | 1115 |<-------------| | | | 1116 | | | | | 1117 | | (timeout) | | 1118 | | | | | 1119 | | INVITE F6 | | | 1120 | |-------------------------------------->| 1121 | | | | | 1122 | | 200 OK F7 | 1123 | |<--------------------------------------| 1124 | 200 OK | | | | 1125 |<-------------| | | | 1126 | | | | | 1127 | ACK | 1128 |----------------------------------------------------->| 1130 F1 INVITE Alice -> Example.com 1132 INVITE sip:bob@example.com SIP/2.0 1133 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1134 Max-Forward: 70 1135 From: Alice ;tag=kkaz- 1136 To: Bob 1137 Supported: histinfo 1138 Call-Id: 12345600@example.com 1139 CSeq: 1 INVITE 1140 History-Info: ;index=1 1141 Contact: Alice 1142 Content-Length: 1144 [SDP Not Shown] 1146 F2 INVITE Example.com -> Bob 1148 INVITE sip:bob@192.0.2.5 SIP/2.0 1149 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1150 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1151 Max-Forward: 69 1152 From: Alice ;tag=kkaz- 1153 To: Bob 1154 Supported: histinfo 1155 Call-Id: 12345600@example.com 1156 CSeq: 1 INVITE 1157 History-Info: ;index=1 1158 History-Info: ;index=1.1;rc=1 1159 Contact: Alice 1160 Content-Type: application/sdp 1161 Content-Length: 1163 [SDP Not Shown] 1165 F3 302 Moved Temporarily Bob -> Example.com 1167 SIP/2.0 302 Moved Temporarily 1168 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4;\ 1169 received=192.0.2.101 1170 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1171 From: Alice ;tag=kkaz- 1172 To: Bob ;tag=2g22d-lnf 1173 Supported: histinfo 1174 Call-Id: 12345600@example.com 1175 CSeq: 1 INVITE 1176 History-Info: ;index=1 1177 History-Info: ;index=1.1;rc=1 1178 Contact: ;mp=1 1179 Content-Type: application/sdp 1180 Content-Length: 1182 [SDP Not Shown] 1184 F4 INVITE Example.com -> Carol 1186 INVITE sip:carol@192.0.2.4 SIP/2.0 1187 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522 1188 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1189 Max-Forward: 69 1190 From: Alice ;tag=kkaz- 1191 To: Bob 1192 Supported: histinfo 1193 Call-Id: 12345600@example.com 1194 CSeq: 1 INVITE 1195 History-Info: ;index=1 1196 History-Info: ;\ 1197 index=1.1;rc=1 1198 History-Info: ;index=1.2;mp=1 1199 History-Info: ;index=1.2.1;rc=1.2 1200 Contact: Alice 1201 Content-Type: application/sdp 1202 Content-Length: 1204 [SDP Not Shown] 1206 F5 180 Ringing Carol -> Example.com 1208 SIP/2.0 180 Ringing 1209 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522;\ 1210 received=192.0.2.101 1211 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1212 From: Alice ;tag=kkaz- 1213 To: Bob ;tag=setss3x 1214 Supported: histinfo 1215 Call-Id: 12345600@example.com 1216 CSeq: 1 INVITE 1217 History-Info: ;index=1 1218 History-Info: ;\ 1219 index=1.1;rc=1 1220 History-Info: ;index=1.2;mp=1 1221 History-Info: ;index=1.2.1;rc=1.2 1222 Contact: 1223 Content-Type: application/sdp 1224 Content-Length: 1226 [SDP Not Shown] 1228 F6 INVITE Example.com -> VM 1230 INVITE sip:vm@192.0.2.6;target=sip:bob%40example.com;cause=480\ 1231 SIP/2.0 1232 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4523 1233 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1234 Max-Forward: 69 1235 From: Alice ;tag=kkaz- 1236 To: Bob 1237 Supported: histinfo 1238 Call-Id: 12345600@example.com 1239 CSeq: 1 INVITE 1240 History-Info: ;index=1 1241 History-Info: ;\ 1242 index=1.1;rc=1 1243 History-Info: ;index=1.2;mp=1 1246 History-Info: ;index=1.2.1;rc=1.2 1248 History-Info: ;\ 1250 index=1.3;mp=1 1251 History-Info: ;\ 1253 index=1.3.1;rc=1.3 1254 Contact: Alice 1255 Content-Type: application/sdp 1256 Content-Length: 1258 [SDP Not Shown] 1260 F7 200 OK VM -> Example.com 1262 SIP/2.0 200 OK 1263 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4523;\ 1264 received=192.0.2.101 1265 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1266 From: Alice ;tag=kkaz- 1267 To: Bob ;tag=3dweggs 1268 Supported: histinfo 1269 Call-Id: 12345600@example.com 1270 CSeq: 1 INVITE 1271 History-Info: ;index=1 1272 History-Info: ;\ 1273 index=1.1;rc=1 1274 History-Info: ;index=1.2;mp=1 1276 History-Info: ;index=1.2.1;rc=1.2 1278 History-Info: ;\ 1280 index=1.3;mp=1 1281 History-Info: ;\ 1283 index=1.3.1;rc=1.3 1284 Contact: 1285 Content-Type: application/sdp 1286 Content-Length: 1288 [SDP Not Shown] 1290 Figure 6: Enterprise Voivemail Example 1292 The VMS can look at the last hi-entry and find the target of the 1293 mailbox by looking at the URI entry in the "target" URI parameter in 1294 the hi-entry. 1296 3.7. Consumer Voicemail Example 1298 In the case of a consumer, when the call is retargeted, it is usually 1299 to another administrative domain. The voicemail system in these 1300 environment typically requires the last called party information to 1301 determine the appropriate mailbox so an appropriate greeting can be 1302 provided and the appropriate party notified of the message. 1304 In this example, Alice calls the Bob but Bob has temporarily 1305 forwarded his phone to Carol because she is his wife. Carol does not 1306 answer the call, thus it is forwarded to a VM (voicemail) server 1307 (VMS). In order to determine the appropriate mailbox to use for this 1308 call, the VMS needs the appropriate target for the request. The last 1309 target is determined by finding the hi-entry referenced by the index 1310 of last hi-entry tagged with "mp" for determining the appropriate 1311 mailbox. This hi-entry is used to populate the "target" URI 1312 parameter as defined in [RFC4458]. Note that some VMSs may also (or 1313 instead) use the information available in the History-Info headers 1314 for custom handling of the VM in terms of how and why the called 1315 arrived at the VMS. 1317 Alice example.com Bob Carol VM 1319 | INVITE F1 | | | | 1320 |------------->| | | | 1321 | | INVITE F2 | | | 1322 | |------------->| | | 1323 | | | | | 1324 | 100 Trying | | | | 1325 |<-------------| 302 Moved Temporarily F3 | | 1326 | |<-------------| | | 1327 | | | | | 1328 | | ACK | | | 1329 | |------------->| | | 1330 | | | | | 1331 | | INVITE F4 | | | 1332 | |--------------------------->| | 1333 | | | | | 1334 | | 180 Ringing F5 | | 1335 | |<---------------------------| | 1336 | | | | | 1337 | 180 Ringing | | | | 1338 |<-------------| | | | 1339 | | | | | 1340 | | (timeout) | | 1341 | | | | | 1342 | | INVITE F6 | | | 1343 | |-------------------------------------->| 1344 | | | | | 1345 | | 200 OK F7 | 1346 | |<--------------------------------------| 1347 | 200 OK | | | | 1348 |<-------------| | | | 1349 | | | | | 1350 | ACK | 1351 |----------------------------------------------------->| 1353 F1 INVITE Alice -> Example.com 1355 INVITE sip:bob@example.com SIP/2.0 1356 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1357 Max-Forward: 70 1358 From: Alice ;tag=kkaz- 1359 To: Bob 1360 Supported: histinfo 1361 Call-Id: 12345600@example.com 1362 CSeq: 1 INVITE 1363 History-Info: ;index=1 1364 Contact: Alice 1365 Content-Length: 1367 [SDP Not Shown] 1369 F2 INVITE Example.com -> Bob 1371 INVITE sip:bob@192.0.2.5 SIP/2.0 1372 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1373 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1374 Max-Forward: 69 1375 From: Alice ;tag=kkaz- 1376 To: Bob 1377 Supported: histinfo 1378 Call-Id: 12345600@example.com 1379 CSeq: 1 INVITE 1380 History-Info: ;index=1 1381 History-Info: ;index=1.1;rc=1 1382 Contact: Alice 1383 Content-Type: application/sdp 1384 Content-Length: 1386 [SDP Not Shown] 1388 F3 302 Moved Temporarily Bob -> Example.com 1390 SIP/2.0 302 Moved Temporarily 1391 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4;\ 1392 received=192.0.2.101 1393 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1394 From: Alice ;tag=kkaz- 1395 To: Bob ;tag=224ls3s-t 1396 Supported: histinfo 1397 Call-Id: 12345600@example.com 1398 CSeq: 1 INVITE 1399 History-Info: ;index=1 1400 History-Info: ;index=1.1;rc=1 1401 Contact: ;mp=1 1402 Content-Type: application/sdp 1403 Content-Length: 1405 [SDP Not Shown] 1407 F4 INVITE Example.com -> Carol 1409 INVITE sip:carol@192.0.2.4 SIP/2.0 1410 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK24s5 1411 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1412 Max-Forward: 69 1413 From: Alice ;tag=kkaz- 1414 To: Bob 1415 Supported: histinfo 1416 Call-Id: 12345600@example.com 1417 CSeq: 1 INVITE 1418 History-Info: ;index=1 1419 History-Info: \ 1421 ;index=1.1;rc=1 1422 History-Info: ;index=1.2;mp=1 1423 History-Info: ;index=1.2.1;rc=1.2 1424 Contact: Alice 1425 Content-Type: application/sdp 1426 Content-Length: 1428 [SDP Not Shown] 1430 F5 180 Ringing Carol -> Example.com 1432 SIP/2.0 180 Ringing 1433 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK24s5;\ 1434 received=192.0.2.101 1435 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1436 From: Alice ;tag=kkaz- 1437 To: Bob ;tag=setss3x 1438 Supported: histinfo 1439 Call-Id: 12345600@example.com 1440 CSeq: 1 INVITE 1441 History-Info: ;index=1 1442 History-Info: ;\ 1444 index=1.1;rc=1 1445 History-Info: ;index=1.2;mp=1 1446 History-Info: ;index=1.2.1;rc=1.2 1447 Contact: 1448 Content-Type: application/sdp 1449 Content-Length: 1451 [SDP Not Shown] 1453 F6 INVITE Example.com -> VM 1455 INVITE sip:vm@192.0.2.6;target=sip:carol%40example.com SIP/2.0 1456 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKbbg4 1457 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1458 Max-Forward: 69 1459 From: Alice ;tag=kkaz- 1460 To: Bob 1461 Supported: histinfo 1462 Call-Id: 12345600@example.com 1463 CSeq: 1 INVITE 1464 History-Info: ;index=1 1465 History-Info: ;\ 1467 index=1.1;rc=1 1468 History-Info: ;\ 1469 index=1.2;mp=1 1470 History-Info: ;\ 1471 index=1.2.1;rc=1.2 1472 History-Info: ;index=1.2.2;mp=1.2 1474 History-Info: ;index=1.2.2.1;rc=1.2.2 1476 Contact: Alice 1477 Content-Type: application/sdp 1478 Content-Length: 1480 [SDP Not Shown] 1481 F7 200 OK VM -> Example.com 1483 SIP/2.0 200 OK 1484 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKbbg4 1485 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1486 From: Alice ;tag=kkaz- 1487 To: Bob ;tag=3dweggs 1488 Supported: histinfo 1489 Call-Id: 12345600@example.com 1490 CSeq: 1 INVITE 1491 History-Info: ;index=1 1492 History-Info: ;\ 1494 index=1.1;rc=1 1495 History-Info: ;\ 1496 index=1.2;mp=1 1497 History-Info: ;\ 1498 index=1.2.1;rc=1.2 1499 History-Info: ;index=1.2.2;mp=1.2 1501 History-Info: ;index=1.2.2.1;rc=1.2.2 1503 Contact: 1504 Content-Type: application/sdp 1505 Content-Length: 1507 [SDP Not Shown] 1509 Figure 7: Consumer Voivemail Example 1511 The VMS can look at the last hi-entry and find the target of the 1512 mailbox by looking for the "target" URI parameter in the hi-entry and 1513 the reason by the "cause" URI parameter in the same hi-entry. 1515 3.8. GRUU 1517 A variation on the problem in Section 3.5 occurs with Globally 1518 Routable User Agent URI (GRUU) [RFC5627]. A GRUU is a URI assigned 1519 to a UA instance which has many of the same properties as the AOR, 1520 but causes requests to be routed only to that specific instance. It 1521 is desirable for a UA to know whether it was reached because a 1522 correspondent sent a request to its GRUU or to its AOR. This can be 1523 used to drive differing authorization policies on whether the request 1524 should be accepted or rejected, for example. However, like the AOR 1525 itself, the GRUU is lost in translation at the home proxy. Thus, the 1526 UAS cannot know whether it was contacted via the GRUU or its AOR. 1528 Following call-flow and example messages show how History-Info can be 1529 used to find out the GRUU used to reach the callee. 1531 While a GRUU is comprised of an AoR with a URI parameter as defined 1532 in [RFC5627] , the GRUU construct itself is not an AoR. Thus, the 1533 retargeting of a request based on a GRUU does not result in the 1534 addition of an "rc" header field parameter to the hi-entry containing 1535 the GRUU. The lack of an "rc" header field parameter in the hi- 1536 entries can be a hint that the source of retargeting is a GRUU. 1537 However, to ensure this is the case, the UAS needs to search for a 1538 "gr" parameter in the hi-entry prior to the last hi-entry. If there 1539 is a GRUU, the URI will always be prior to the last hi-entry as GRUU 1540 does not allow multiple instance to be mapped to a contact address. 1542 Alice Example.com John 1543 | | REGISTER F1 | 1544 | |<--------------------| 1545 | | 200 OK F2 | 1546 | |-------------------->| 1547 | INVITE F3 | | 1548 |-------------------->| | 1549 | | INVITE F4 | 1550 | |-------------------->| 1551 * Rest of flow not shown * 1553 F1 REGISTER John -> Example.com 1555 REGISTER sip:example.com SIP/2.0 1556 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 1557 Max-Forwards: 70 1558 From: John ;tag=a73kszlfl 1559 Supported: gruu 1560 To: John 1561 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1562 CSeq: 1 REGISTER 1563 Contact: ;+sip.instance=\ 1564 1565 Content-Length: 0 1567 [SDP Not Shown] 1569 F2 200 OK Example.com -> John 1571 SIP/2.0 200 OK 1572 Via: SIP/2.0/TCP 192.0.2.1;branch=z9hG4bKnashds7 1573 From: John ;tag=a73kszlfl 1574 To: John ;tag=b88sn 1575 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1576 CSeq: 1 REGISTER 1577 Contact: ;\ 1578 pub-gruu="sip:john@example.com;\ 1579 gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\ 1580 temp-gruu=\ 1581 "sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;\ 1582 gr";+sip.instance=\ 1583 "";\ 1584 expires=3600 1585 Content-Length: 0 1587 [SDP Not Shown] 1589 Assuming Alice has a knowledge of a gruu either through 1590 prior communication or through other means such as presence 1591 places a call to John's gruu. 1593 F3 INVITE Alice -> Example.com 1595 INVITE sip:john@example.com;\ 1596 gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 SIP/2.0 1597 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1598 Max-Forward: 70 1599 From: Alice ;tag=kkaz- 1600 To: 1602 Supported: gruu, histinfo 1603 Call-Id: 12345600@example.com 1604 CSeq: 1 INVITE 1605 History-Info: ;index=1 1607 Contact: Alice 1608 Content-Length: 1610 [SDP Not Shown] 1612 F4 INVITE Example.com -> John 1614 INVITE sip:john@192.0.2.1 SIP/2.0 1615 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 1616 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 1617 Max-Forward: 69 1618 From: Alice ;tag=kkaz- 1619 To: 1622 Supported: gruu, histinfo 1623 Call-Id: 12345600@example.com 1624 CSeq: 1 INVITE 1625 Record-Route: 1626 History-Info: ;index=1 1628 History-Info: ;index=1.1;rc=1 1629 Contact: Alice 1630 Content-Type: application/sdp 1631 Content-Length: 1633 [SDP Not Shown] 1635 Figure 8: GRUU Example 1637 By analyzing the entry referenced by the entry with the last "rc", 1638 one can realize that the URI used to reach the device was GRUU by 1639 finding the "gr" parameter. 1641 3.9. Limited Use Address 1643 A limited use address is a SIP URI that is minted on-demand, and 1644 passed out to a small number (usually one) remote correspondent. 1645 Incoming calls targeted to that limited use address are accepted as 1646 long as the UA still desires communications from the remote target. 1647 Should they no longer wish to be bothered by that remote 1648 correspondent, the URI is invalidated so that future requests 1649 targeted to it are rejected. 1651 Limited use addresses are used in battling voice spam [RFC5039]. The 1652 easiest way to provide them would be for a UA to be able to take its 1653 AOR, and "mint" a limited use address by appending additional 1654 parameters to the URI. It could then give out the URI to a 1655 particular correspondent, and remember that URI locally. When an 1656 incoming call arrives, the UAS would examine the parameter in the URI 1657 and determine whether or not the call should be accepted. 1658 Alternatively, the UA could push authorization rules into the 1659 network, so that it need not even see incoming requests that are to 1660 be rejected. 1662 This approach, especially when executed on the UA, requires that 1663 parameters attached to the AOR, but not used by the home proxy in 1664 processing the request, will survive the translation at the home 1665 proxy and be presented to the UA. This will not be the case with the 1666 logic in RFC 3261, since the Request-URI is replaced by the 1667 registered contact, and any such parameters are lost. 1669 Using the history-info John's UA can easily see if the call was 1670 addressed to its AoR, GRUU or a temp-gruu and treat the call 1671 accordingly by looking for a "gr" tag in the hi-entry prior to the 1672 last hi-entry. 1674 Alice Example.com John 1675 | | REGISTER F1 | 1676 | |<--------------------| 1677 | | 200 OK F2 | 1678 | |-------------------->| 1679 | INVITE F3 | | 1680 |-------------------->| | 1681 | | INVITE F4 | 1682 | |-------------------->| 1683 * Rest of flow not shown * 1685 F1 REGISTER John -> Example.com 1687 REGISTER sip:example.com SIP/2.0 1688 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 1689 Max-Forwards: 70 1690 From: John ;tag=a73kszlfl 1691 Supported: gruu 1692 To: John 1693 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1694 CSeq: 1 REGISTER 1695 Contact: ;\ 1696 +sip.instance="" 1697 Content-Length: 0 1699 F2 200 OK Example.com -> John 1701 SIP/2.0 200 OK 1702 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 1703 From: John ;tag=a73kszlfl 1704 To: John ;tag=b88sn 1705 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 1706 CSeq: 1 REGISTER 1707 Contact: ;\ 1708 pub-gruu="sip:john@example.com;\ 1709 gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\ 1710 temp-gruu=\ 1711 "sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr";\ 1712 +sip.instance="";\ 1713 expires=3600 1714 Content-Length: 0 1715 Assuming Alice has a knowledge of a temp-gruu, she places a 1716 call to the temp-gruu. 1718 F3 INVITE Alice -> Example.com 1720 INVITE sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;\ 1721 gr SIP/2.0 1722 Via: SIP/2.0/UDP 192.0.2.3:5060;branch=z9hG4bK42t2 1723 Max-Forward: 70 1724 From: Alice ;tag=kkaz- 1725 To: 1727 Supported: gruu, histinfo 1728 Call-Id: 12345600@example.com 1729 CSeq: 1 INVITE 1730 History-Info: \ 1731 \ 1732 ;index=1 1733 Contact: Alice 1734 Content-Length: 1736 F4 INVITE Example.com -> John 1738 INVITE sip:john@192.0.2.1 SIP/2.0 1739 Via: SIP/2.0/UDP proxy.example.com:5060;branch=z9hG4bK12s4 1740 Via: SIP/2.0/UDP 192.0.2.3:5060;branch=z9hG4bK42t2 1741 Max-Forward: 69 1742 From: Alice ;tag=kkaz- 1743 To: 1745 Supported: gruu, histinfo 1746 Call-Id: 12345600@example.com 1747 CSeq: 1 INVITE 1748 Record-Route: 1749 History-Info: \ 1750 \ 1751 ;index=1 1752 History-Info: ;index=1.1;rc=1 1753 Contact: Alice 1754 Content-Type: application/sdp 1755 Content-Length: 1757 Figure 9: Limited Use Address Example 1759 By analyzing the entry referenced by the entry with the last "rc", 1760 one can realize that the URI used to reach the device was GRUU by 1761 finding the "gr" parameter. 1763 3.10. Service Invocation 1765 Several SIP specifications have been developed which make use of 1766 complex URIs to address services within the network rather than 1767 subscribers. The URIs are complex because they contain numerous 1768 parameters that control the behavior of the service. Examples of 1769 this include the specification which first introduced the concept, 1770 [RFC3087], control of network announcements and IVR with SIP URI 1771 [RFC4240], and control of voicemail access with SIP URI [RFC4458]. 1773 A common problem with all of these mechanisms is that once a proxy 1774 has decided to rewrite the Request-URI to point to the service, it 1775 cannot be sure that the Request-URI will not be destroyed by a 1776 downstream proxy which decides to forward the request in some way, 1777 and does so by rewriting the Request-URI. 1779 Section on voicemail (Section 3.6) shows how History-Info can be used 1780 to invocate a service. 1782 3.11. Toll Free Number 1784 Toll free numbers, also known as 800 or 8xx numbers in the United 1785 States, are telephone numbers that are free for users to call. 1787 In the telephone network, toll free numbers are just aliases to 1788 actual numbers which are used for routing of the call. In order to 1789 process the call in the PSTN, a switch will perform a query (using a 1790 protocol called TCAP), which will return either a phone number or the 1791 identity of a carrier which can handle the call. 1793 There has been recent work on allowing such PSTN translation services 1794 to be accessed by SIP proxy servers through IP querying mechanisms. 1795 ENUM, for example [RFC6117] has already been proposed as a mechanism 1796 for performing Local Number Portability (LNP) queries [RFC4769], and 1797 recently been proposed for performing calling name queries 1798 [I-D.ietf-enum-cnam]. Using it for 8xx number translations is a 1799 logical next-step. 1801 Once such a translation has been performed, the call needs to be 1802 routed towards the target of the request. Normally, this would 1803 happen by selecting a PSTN gateway which is a good route towards the 1804 translated number. However, one can imagine all-IP systems where the 1805 8xx numbers are SIP endpoints on an IP network, in which case the 1806 translation of the 8xx number would actually be a SIP URI and not a 1807 phone number. Assuming for the moment it is a PSTN connected entity, 1808 the call would be routed towards a PSTN gateway. Proper treatment of 1809 the call in the PSTN (and in particular, correct reconciliation of 1810 billing records) requires that the call be marked with both the 1811 original 8xx number AND the target number for the call. However, in 1812 our example here, since the translation was performed by a SIP proxy 1813 upstream from the gateway, the original 8xx number would have been 1814 lost, and the call will not interwork properly with the PSTN. 1815 History-info would come in play here to assure original 8xx number is 1816 not lost. 1818 Furthermore, even if the translation of the 8xx number was a SIP URI, 1819 the enterprise or user who utilize the 8xx service would like to know 1820 whether the call came in via 8xx number in order to treat the call 1821 differently (for example to play a special announcement..) but if the 1822 original R-URI is lost through translation, there is no way to tell 1823 if the call came in via 8xx number. 1825 Similar problems arise with other "special" numbers and services used 1826 in the PSTN, such as operator services, pay/premium numbers (9xx 1827 numbers in the U.S), and short service codes such as 311. 1829 To find the service number, the UAS can extract the hi-entry whose 1830 index matches the value of the first hi-entry with an "mp" tag. 1831 Technically the call can be forwarded to these "special" numbers from 1832 non "special" numbers, however that is uncommon based on the way 1833 these services authorize translations. 1835 This example call-flow shows an UAC that does not support history- 1836 info. 1838 Alice Toll Free Service Atlanta.com John 1839 | | | | 1840 | INVITE F1 | | | 1841 |--------------->| INVITE F2 | | 1842 | |------------->| | 1843 | | | INVITE F3 | 1844 | | |------------------>| 1846 * Rest of flow not shown * 1848 F1: INVITE 192.0.2.1 -> Toll Free Service 1850 INVITE sip:+18005551002@example.com;user=phone SIP/2.0 1851 Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK74bf 1852 From: Alice ;tag=9fxced76sl 1853 To: 1854 Call-ID: c3x842276298220188511 1855 CSeq: 1 INVITE 1856 Max-Forwards: 70 1857 Contact: 1858 Content-Type: application/sdp 1859 Content-Length: 1861 [SDP Not Shown] 1863 F2: INVITE Toll Free Service -> Atlanta.com 1865 INVITE sip:+15555551002@atlanta.com SIP/2.0 1866 Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik8 1867 Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK74bf 1868 From: Alice ;tag=9fxced76sl 1869 To: 1870 Call-ID: c3x842276298220188511 1871 CSeq: 1 INVITE 1872 Max-Forwards: 69 1873 Supported: histinfo 1874 History-Info: ;index=1 1875 History-Info: ;index=1.1;mp=1 1876 Contact: 1877 Content-Type: application/sdp 1878 Content-Length: 1880 [SDP Not Shown] 1882 F3: INVITE Atlanta.com -> John 1884 INVITE sip:john@198.51.100.2 SIP/2.0 1885 Via: SIP/2.0/TCP 198.51.100.1:5060;branch=z9hG4bKpxk7g 1886 Via: SIP/2.0/TCP 192.0.2.4:5060;branch=z9hG4bK-ik8 1887 Via: SIP/2.0/TCP 192.0.2.1:5060;branch=z9hG4bK74bf 1888 From: Alice ;tag=9fxced76sl 1889 To: 1890 Call-ID: c3x842276298220188511 1891 CSeq: 1 INVITE 1892 Max-Forwards: 68 1893 Supported: histinfo 1894 History-Info: ;index=1 1895 History-Info: ;index=1.1;mp=1 1896 History-Info: ;index=1.1.1;rc=1.1 1897 History-Info: ;index=1.1.1.1;rc=1.1.1 1898 Contact: 1899 Content-Type: application/sdp 1900 Content-Length: 1902 [SDP Not Shown] 1904 Figure 10: Service Number Example 1906 4. Security Considerations 1908 The security considerations for the History-Info header field are 1909 specified in [I-D.ietf-sipcore-rfc4244bis]. 1911 5. IANA Considerations 1913 This document has no IANA considerations. 1915 5.1. Acknowledgements 1917 Jonathan Rosenberg et al produced the document that provided 1918 additional use cases precipitating the requirement for the new 1919 "target" parameter in the History-Info header field and the new SIP/ 1920 SIPS URI parameter. Hadriel Kaplan provided some comments. 1922 Brett Tate, Roland Jesske, Laura Liess, Scott Godin, Dale Worley and 1923 Marianne Mohali provided extensive review and comments on call-flow, 1924 message examples and text. 1926 6. Informative References 1928 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 1929 A., Peterson, J., Sparks, R., Handley, M., and E. 1930 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 1931 June 2002. 1933 [RFC5627] Rosenberg, J., "Obtaining and Using Globally Routable User 1934 Agent URIs (GRUUs) in the Session Initiation Protocol 1935 (SIP)", RFC 5627, October 2009. 1937 [RFC3087] Campbell, B. and R. Sparks, "Control of Service Context 1938 using SIP Request-URI", RFC 3087, April 2001. 1940 [RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network 1941 Media Services with SIP", RFC 4240, December 2005. 1943 [RFC5039] Rosenberg, J. and C. Jennings, "The Session Initiation 1944 Protocol (SIP) and Spam", RFC 5039, January 2008. 1946 [RFC4458] Jennings, C., Audet, F., and J. Elwell, "Session 1947 Initiation Protocol (SIP) URIs for Applications such as 1948 Voicemail and Interactive Voice Response (IVR)", RFC 4458, 1949 April 2006. 1951 [RFC6117] Hoeneisen, B., Mayrhofer, A., and J. Livingood, "IANA 1952 Registration of Enumservices: Guide, Template, and IANA 1953 Considerations", RFC 6117, March 2011. 1955 [RFC4769] Livingood, J. and R. Shockey, "IANA Registration for an 1956 Enumservice Containing Public Switched Telephone Network 1957 (PSTN) Signaling Information", RFC 4769, November 2006. 1959 [I-D.ietf-enum-cnam] 1960 Shockey, R., "IANA Registration for an Enumservice Calling 1961 Name Delivery (CNAM) Information and IANA Registration for 1962 URI type 'pstndata'", draft-ietf-enum-cnam-08 (work in 1963 progress), September 2008. 1965 [I-D.ietf-sipcore-rfc4244bis] 1966 Barnes, M., Audet, F., Schubert, S., Elburg, H., and C. 1967 Holmberg, "An Extension to the Session Initiation Protocol 1968 (SIP) for Request History Information", 1969 draft-ietf-sipcore-rfc4244bis-11 (work in progress), 1970 January 2013. 1972 Authors' Addresses 1974 Mary Barnes 1975 Polycom 1976 TX 1977 US 1979 Email: mary.ietf.barnes@gmail.com 1981 Francois Audet 1982 Skype 1984 Email: francois.audet@skype.net 1986 Shida Schubert 1987 NTT 1988 Tokyo 1989 Japan 1991 Email: shida@ntt-at.com 1992 Hans Erik van Elburg 1993 Detecon International Gmbh 1994 Oberkasseler str. 2 1995 Bonn, 1996 Germany 1998 Email: ietf.hanserik@gmail.com 2000 Christer Holmberg 2001 Ericsson 2002 Hirsalantie 11, Jorvas 2003 Finland 2005 Email: christer.holmberg@ericsson.com