draft-ietf-sipcore-rfc4244bis-callflows-02.txt   draft-ietf-sipcore-rfc4244bis-callflows-03.txt 
Network Working Group M. Barnes SIPCORE M. Barnes
Internet-Draft Polycom Internet-Draft Polycom
Intended status: Informational F. Audet Intended status: Informational F. Audet
Expires: July 5, 2013 Skype Expires: September 2, 2013 Skype
S. Schubert S. Schubert
NTT NTT
J. van Elburg H. van Elburg
Detecon International Gmbh Detecon International Gmbh
C. Holmberg C. Holmberg
Ericsson Ericsson
Jan 2013 Mar 2013
Session Initiation Protocol (SIP) History-Info Header Call Flow Examples Session Initiation Protocol (SIP) History-Info Header Call Flow Examples
draft-ietf-sipcore-rfc4244bis-callflows-02.txt draft-ietf-sipcore-rfc4244bis-callflows-03.txt
Abstract Abstract
This document describes use cases and documents call flows which This document describes use cases and documents call flows which
require the History-Info header field to capture the Request-URIs as require the History-Info header field to capture the Request-URIs as
a Session Initiation Protocol (SIP) Request is retargeted. The use a Session Initiation Protocol (SIP) Request is retargeted. The use
cases are described along with the corresponding call flow diagrams cases are described along with the corresponding call flow diagrams
and messaging details. and messaging details.
Status of this Memo Status of this Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 5, 2013. This Internet-Draft will expire on September 2, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 19 skipping to change at page 4, line 19
History-Info entries, the Request URIs for the History-Info entries History-Info entries, the Request URIs for the History-Info entries
tagged with "mp" header field parameter are extracted. Those tagged with "mp" header field parameter are extracted. Those
Request-URIs can be compared to other URIs (if any) that might be Request-URIs can be compared to other URIs (if any) that might be
attempted in order to establish the session with Bob. This results in attempted in order to establish the session with Bob. This results in
avoiding the sending of another INVITE to Bob's home phone. Without avoiding the sending of another INVITE to Bob's home phone. Without
this mechanism, Alice might well attempt to reach Bob at his office this mechanism, Alice might well attempt to reach Bob at his office
phone, which would then retarget the request to Bob's home phone. phone, which would then retarget the request to Bob's home phone.
When that attempt failed, then Alice might attempt to reach Bob When that attempt failed, then Alice might attempt to reach Bob
directly at his home phone, unknowingly for a third time. directly at his home phone, unknowingly for a third time.
Alice example.com Bob Office Home Alice example.com Bob Office Home
| | | | | | | | | |
| INVITE F1 | | | | | INVITE F1 | | | |
|----------->| INVITE F2 | | | |----------->| INVITE F2 | | |
| |----------------->| | | | |----------------->| | |
| 100 Trying F3 | | | | 100 Trying F3 | | |
|<-----------| 302 Move Temporarily F4 | | |<-----------| 302 Move Temporarily F4 | |
| |<-----------------| | | | |<-----------------| | |
| | ACK F5 | | | | | ACK F5 | | |
| |----------------->| | | | |----------------->| | |
| | INVITE F6 | | | | INVITE F6 | |
| |-------------------------->| | | |-------------------------->| |
| | 180 Ringing F7 | | | | 180 Ringing F7 | |
| |<--------------------------| | | |<--------------------------| |
| 180 Ringing F8 | | | 180 Ringing F8 | |
|<-----------| retransmit INVITE | | |<-----------| retransmit INVITE | |
| |-------------------------->| | | |-------------------------->| |
| | ( timeout ) | | | | ( timeout ) | |
| | INVITE F9 | | | INVITE F9 |
| |----------------------------------->| | |----------------------------------->|
| | 100 Trying F10 | | | 100 Trying F10 |
| |<-----------------------------------| | |<-----------------------------------|
| | 486 Busy Here F11 | | | 486 Busy Here F11 |
| |<-----------------------------------| | |<-----------------------------------|
| 486 Busy Here F12 | | 486 Busy Here F12 |
|<-----------| ACK F13 | |<-----------| ACK F13 |
| |----------------------------------->| | |----------------------------------->|
| ACK F14 | | | ACK F14 | |
|----------->| | |----------->| |
Figure 1: Figure 1. Example with Sequential Forking Figure 1: Figure 1: Example with Sequential Forking
Message Details Message Details
F1 INVITE alice -> example.com F1 INVITE alice -> example.com
INVITE sip:bob@example.com SIP/2.0 INVITE sip:bob@example.com SIP/2.0
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
Max-Forward: 70 Max-Forward: 70
From: Alice <sip:alice@example.com>;tag=sr3dds From: Alice <sip:alice@example.com>;tag=sr3dds
To: Bob <sip:bob@example.com> To: Bob <sip:bob@example.com>
skipping to change at page 6, line 34 skipping to change at page 6, line 34
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.4>;index=1.1;rc=1 History-Info: <sip:bob@192.0.2.4>;index=1.1;rc=1
Contact: <sip:office@example.com>;mp=1 Contact: <sip:office@example.com>;mp=1
Content-Length: 0 Content-Length: 0
F5 ACK example.com -> Bob F5 ACK example.com -> Bob
ACK sip:bob@example.com SIP/2.0 ACK sip:bob@example.com SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx3st
Max-Forward: 69 Max-Forward: 70
From: Alice <sip:alice@example.com>;tag=sr3dds From: Alice <sip:alice@example.com>;tag=sr3dds
To: Bob <sip:bob@example.com>;tag=es43sd To: Bob <sip:bob@example.com>;tag=es43sd
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F6 INVITE example.com -> office F6 INVITE example.com -> office
INVITE sip:office@192.0.2.5 SIP/2.0 INVITE sip:office@192.0.2.5 SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx4st Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx4st
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
Max-Forward: 68 Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=sr3dds From: Alice <sip:alice@example.com>;tag=sr3dds
To: Bob <sip:bob@example.com> To: Bob <sip:bob@example.com>
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
Record-Route: <sip:proxy.example.com;lr> Record-Route: <sip:proxy.example.com;lr>
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\ History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1 index=1.1;rc=1
History-Info: <sip:office@example.com>;index=1.2;mp=1 History-Info: <sip:office@example.com>;index=1.2;mp=1
History-Info: <sip:office@192.0.2.5>;index=1.2.1;rc=1.2 History-Info: <sip:office@192.0.2.5>;index=1.2.1;rc=1.2
skipping to change at page 8, line 17 skipping to change at page 8, line 17
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
From: Alice <sip:alice@example.com>;tag=sr3dds From: Alice <sip:alice@example.com>;tag=sr3dds
To: Bob <sip:bob@example.com>;tag=53rdds To: Bob <sip:bob@example.com>;tag=53rdds
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
Record-Route: <sip:proxy.example.com;lr> Record-Route: <sip:proxy.example.com;lr>
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\ History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1 index=1.1;rc=1
History-Info: <sip:office@example.com>;index=1.2;mp=1 History-Info: <sip:office@example.com>;index=1.2;mp=1
History-Info: <sip:office@192.0.2.5>;index=1.2.1;rc=1.2 History-Info: <sip:office@192.0.2.5;Reason=SIP%3Bcause%3D180>;\
index=1.2.1;rc=1.2
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: Office <sip:office@192.0.2.5> Contact: Office <sip:office@192.0.2.5>
Content-Length: 0 Content-Length: 0
F9 INVITE example.com -> home F9 INVITE example.com -> home
INVITE sip:home@192.0.2.6 SIP/2.0 INVITE sip:home@192.0.2.6 SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
Max-Forward: 67 Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=sr3dds From: Alice <sip:alice@example.com>;tag=sr3dds
To: Bob <sip:bob@example.com> To: Bob <sip:bob@example.com>
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
Record-Route: <sip:proxy.example.com;lr> Record-Route: <sip:proxy.example.com;lr>
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\ History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1 index=1.1;rc=1
History-Info: <sip:office@example.com>;index=1.2;mp=1 History-Info: <sip:office@example.com>;index=1.2;mp=1
History-Info: <sip:office@192.0.2.5?Reason=SIP%3Bcause%3D408>;\ History-Info: <sip:office@192.0.2.5?Reason=SIP%3Bcause%3D408>;\
skipping to change at page 10, line 14 skipping to change at page 10, line 14
F12 486 Busy Here example.com -> alice F12 486 Busy Here example.com -> alice
SIP/2.0 486 Busy Here SIP/2.0 486 Busy Here
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
From: Alice <sip:alice@example.com>;tag=sr3dds From: Alice <sip:alice@example.com>;tag=sr3dds
To: Bob <sip:bob@example.com>;tag=55rdds To: Bob <sip:bob@example.com>;tag=55rdds
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\ History-Info: <sip:bob@192.0.2.4?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1 index=1.1;rc=1
History-Info: <sip:office@example.com>;index=1.2;mp=1 History-Info: <sip:office@example.com?Reason=SIP%3Bcause%3D408>;\
index=1.2;mp=1
History-Info: <sip:office@192.0.2.5?Reason=SIP%3Bcause%3D408>;\ History-Info: <sip:office@192.0.2.5?Reason=SIP%3Bcause%3D408>;\
index=1.2.1;index=1.2.1;rc=1.2 index=1.2.1;rc=1.2
History-Info: <sip:home@example.com>;index=1.3;mp=1 History-Info: <sip:home@example.com>;index=1.3;mp=1
History-Info: <sip:home@192.0.2.6>;index=1.3.1;rc=1.3 History-Info: <sip:home@192.0.2.6>;index=1.3.1;rc=1.3
CSeq: 1 INVITE CSeq: 1 INVITE
Content-Length: 0 Content-Length: 0
F13 ACK example.com -> home F13 ACK example.com -> home
ACK sip:home@192.0.2.6 SIP/2.0 ACK sip:home@192.0.2.6 SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKx5st
Max-Forward: 67 Max-Forward: 70
From: Alice <sip:alice@example.com>;tag=sr3dds From: Alice <sip:alice@example.com>;tag=sr3dds
To: Bob <sip:bob@example.com>;tag=55rdds To: Bob <sip:bob@example.com>;tag=55rdds
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 ACK CSeq: 1 ACK
Content-Length: 0 Content-Length: 0
F14 ACK alice -> example.com F14 ACK alice -> example.com
ACK sip:bob@example.com SIP/2.0 ACK sip:bob@example.com SIP/2.0
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
skipping to change at page 11, line 40 skipping to change at page 11, line 40
| | 200 F5 | | | | 200 F5 | |
| |<---------------| | | |<---------------| |
| | | | | | | |
| 200 F6 | | | | 200 F6 | | |
|<---------------| | | |<---------------| | |
| | | | | | | |
| | ACK | | | | ACK | |
|------------------------------------------------->| |------------------------------------------------->|
| | | | | | | |
Figure 2: Figure 2. Example with Privacy Header Fields Figure 2: Figure 2: Example with Privacy Header Fields
Message Details Message Details
F1 INVITE alice -> atlanta.example.com F1 INVITE alice -> atlanta.example.com
INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
Max-Forward: 70 Max-Forward: 70
From: Alice <sip:alice@atlanta.example.com>;tag=22 From: Alice <sip:alice@atlanta.example.com>;tag=22
To: Bob <sip:bob@biloxi.example.com> To: Bob <sip:bob@biloxi.example.com>
skipping to change at page 13, line 7 skipping to change at page 13, line 7
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:anonymous@anonymous.invalid>;index=1 History-Info: <sip:anonymous@anonymous.invalid>;index=1
History-Info: <sip:bob@biloxi.example.com;p=x>;index=1.1 History-Info: <sip:bob@biloxi.example.com;p=x>;index=1.1
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
<!-- SDP Not Shown --> <!-- SDP Not Shown -->
F3 INVITE biloxi.example.com -> Bob F3 INVITE biloxi.example.com -> Bob
INVITE sip:bob@192.0.1.11 SIP/2.0 INVITE sip:bob@192.0.1.11 SIP/2.0
Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bKgs32;\ Via: SIP/2.0/TCP proxy.biloxi.example.com:5060;branch=z9hG4bKgs32
Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2;\
received=192.0.2.3 received=192.0.2.3
Via: SIP/2.0/TCP proxy.atlanta.example.com:5060;branch=z9hG4bKbst2
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
Max-Forward: 68 Max-Forward: 68
From: Alice <sip:alice@atlanta.example.com>;tag=22 From: Alice <sip:alice@atlanta.example.com>;tag=22
To: Bob <sip:bob@biloxi.example.com> To: Bob <sip:bob@biloxi.example.com>
Supported: histinfo Supported: histinfo
Call-Id: 12345600@atlanta.example.com Call-Id: 12345600@atlanta.example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:anonymous@anonymous.invalid>;index=1 History-Info: <sip:anonymous@anonymous.invalid>;index=1
History-Info: <sip:bob@biloxi.example.com;p=x>;index=1.1 History-Info: <sip:bob@biloxi.example.com;p=x>;index=1.1
History-Info: <sip:bob@192.0.1.11?Privacy=history>;index=1.1.1;rc=1.1 History-Info: <sip:bob@192.0.1.11?Privacy=history>;index=1.1.1;rc=1.1
skipping to change at page 15, line 29 skipping to change at page 15, line 29
| | 200 F5 | | | | 200 F5 | |
| |<---------------| | | |<---------------| |
| | | | | | | |
| 200 F6 | | | | 200 F6 | | |
|<---------------| | | |<---------------| | |
| | | | | | | |
| | ACK | | | | ACK | |
|------------------------------------------------->| |------------------------------------------------->|
| | | | | | | |
Figure 3: Figure 3. Example with Privacy Header Field for Specific Figure 3: Figure 3: Example with Privacy Header Field for Specific
URI URI
Message Details Message Details
F1 INVITE alice -> atlanta.example.com F1 INVITE alice -> atlanta.example.com
INVITE sip:bob@biloxi.example.com;p=x SIP/2.0 INVITE sip:bob@biloxi.example.com;p=x SIP/2.0
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK4321
Max-Forward: 70 Max-Forward: 70
From: Alice <sip:alice@atlanta.example.com>;tag=22 From: Alice <sip:alice@atlanta.example.com>;tag=22
skipping to change at page 19, line 24 skipping to change at page 19, line 24
| | | | | | | | | |
| INVITE F1 | | | | | INVITE F1 | | | |
|------------->| | | | |------------->| | | |
| | | | | | | | | |
| | INVITE F2 | | | | | INVITE F2 | | |
| |------------->| | | | |------------->| | |
| | | | | | | | | |
| | 302 Moved Temporarily F3 | | | | 302 Moved Temporarily F3 | |
| |<-------------| | | | |<-------------| | |
| | | | | | | | | |
| ACK | | | | | ACK | | |
|---------------------------->| | | | |------------->| | |
| | | | | | | | | |
| | INVITE F4 | | | | | INVITE F4 | | |
| |--------------------------->| | | |--------------------------->| |
| | | | | | | | | |
| | | | INVITE F5 | | | | | INVITE F5 |
| | | |----------->| | | | |----------->|
| | | | | | | | | |
| | | | 200 OK F6 | | | | | 200 OK F6 |
| | | |<-----------| | | | |<-----------|
| | | | | | | | | |
skipping to change at page 21, line 7 skipping to change at page 21, line 7
Contact: <sip:Silver@example.com>;mp=1 Contact: <sip:Silver@example.com>;mp=1
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
F4 INVITE Example.com -> Silver.Example.com F4 INVITE Example.com -> Silver.Example.com
INVITE sip:Silver@example.com SIP/2.0 INVITE sip:Silver@example.com SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 68 Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=1235 From: Alice <sip:alice@example.com>;tag=1235
To: Gold Member Assistance <sip:Gold@example.com> To: Gold Member Assistance <sip:Gold@example.com>
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:Gold@example.com>;index=1 History-Info: <sip:Gold@example.com>;index=1
History-Info: <sip:Gold@gold.example.com?Reason=SIP%3Bcause%3D302>;\ History-Info: <sip:Gold@gold.example.com?Reason=SIP%3Bcause%3D302>;\
rc=1;index=1.1 rc=1;index=1.1
History-Info: <sip:Silver@example.com>;index=1.2;mp=1 History-Info: <sip:Silver@example.com>;index=1.2;mp=1
History-Info: <sip:Silver@silver.example.com>;index=1.2.1;rc=1.2 History-Info: <sip:Silver@silver.example.com>;index=1.2.1;rc=1.2
skipping to change at page 21, line 31 skipping to change at page 21, line 31
[SDP Not Shown] [SDP Not Shown]
F5 INVITE Silver.Example.com -> Agent F5 INVITE Silver.Example.com -> Agent
INVITE sip:Silver@192.0.2.7 SIP/2.0 INVITE sip:Silver@192.0.2.7 SIP/2.0
Via: SIP/2.0/TCP silver.example.com:5060;branch=z9hG4bKerxs Via: SIP/2.0/TCP silver.example.com:5060;branch=z9hG4bKerxs
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2;\ Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK45q2;\
received=192.0.2.101 received=192.0.2.101
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 67 Max-Forward: 68
From: Alice <sip:alice@example.com>;tag=1235 From: Alice <sip:alice@example.com>;tag=1235
To: Gold Member Assistance <sip:Gold@example.com> To: Gold Member Assistance <sip:Gold@example.com>
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:Gold@example.com>;index=1 History-Info: <sip:Gold@example.com>;index=1
History-Info: <sip:Gold@gold.example.com?Reason=SIP%3Bcause%3D302>;\ History-Info: <sip:Gold@gold.example.com?Reason=SIP%3Bcause%3D302>;\
index=1.1 index=1.1
History-Info: <sip:Silver@example.com>;index=1.2;mp=1 History-Info: <sip:Silver@example.com>;index=1.2;mp=1
History-Info: <sip:Silver@silver.example.com>;index=1.2.1;rc=1.2 History-Info: <sip:Silver@silver.example.com>;index=1.2.1;rc=1.2
skipping to change at page 23, line 39 skipping to change at page 23, line 39
To: Gold Member Assistance <sip:Gold@example.com>;tag=2325 To: Gold Member Assistance <sip:Gold@example.com>;tag=2325
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 ACK CSeq: 1 ACK
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
Figure 4: Figure 4. Example for Automatic Call Distribution Figure 4: Figure 4: Example for Automatic Call Distribution
The first hi-entry with the "mp" header field parameter contains a The first hi-entry with the "mp" header field parameter contains a
"mp" header field parameter value of 1 which points to the original- "mp" header field parameter value of 1 which points to the original-
target which allows the operator to identify that the call was from target which allows the operator to identify that the call was from
the "Gold" customer. the "Gold" customer.
3.5. Determining the Alias used. 3.5. Determining the Alias used.
SIP user agents are associated with an address-of-record (AOR). It SIP user agents are associated with an address-of-record (AOR). It
is possible for a single UA to actually have multiple AORs associated is possible for a single UA to actually have multiple AORs associated
skipping to change at page 24, line 41 skipping to change at page 24, line 41
| |-------------------->| | |-------------------->|
| INVITE F3 | | | INVITE F3 | |
|-------------------->| | |-------------------->| |
| | INVITE F4 | | | INVITE F4 |
| |-------------------->| | |-------------------->|
* Rest of flow not shown * * Rest of flow not shown *
F1 REGISTER John -> Example.com F1 REGISTER John -> Example.com
REGISTER sip:example.com SIP/2.0 REGISTER sip:example.com SIP/2.0
Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP 192.0.2.1;branch=z9hG4bKnashds7
Max-Forwards: 70 Max-Forwards: 70
From: John <sip:john@example.com>;tag=a73kszlfl From: John <sip:john@example.com>;tag=a73kszlfl
To: John <sip:john@example.com> To: John <sip:john@example.com>
Supported: histinfo Supported: histinfo
Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:john@192.0.2.1> Contact: <sip:john@192.0.2.1>
Content-Length: 0 Content-Length: 0
F2 200 OK Example.com -> John F2 200 OK Example.com -> John
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP 192.0.2.1;branch=z9hG4bKnashds7
From: John <sip:john@example.com>;tag=a73kszlfl From: John <sip:john@example.com>;tag=a73kszlfl
To: John <sip:john@example.com>;tag=d2dstee2 To: John <sip:john@example.com>;tag=d2dstee2
Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:john@192.0.2.1>;expires=3600 Contact: <sip:john@192.0.2.1>;expires=3600
Content-Length: 0 Content-Length: 0
F3 INVITE Alice -> Example.com F3 INVITE Alice -> Example.com
INVITE sip:john.smith@example.com SIP/2.0 INVITE sip:john.smith@example.com SIP/2.0
skipping to change at page 26, line 4 skipping to change at page 26, line 4
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Record-Route: <sip:proxy.example.com;lr> Record-Route: <sip:proxy.example.com;lr>
History-Info: <sip:john.smith@example.com>;index=1 History-Info: <sip:john.smith@example.com>;index=1
History-Info: <sip:john@192.0.2.1>;index=1.1;rc=1 History-Info: <sip:john@192.0.2.1>;index=1.1;rc=1
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
Figure 5: Figure 5. Alias Example Figure 5: Figure 5: Alias Example
The last hi-entry with the "rc" header field parameter references the The last hi-entry with the "rc" header field parameter references the
source of retargeting pointing at the alias AoR, which in the example source of retargeting pointing at the alias AoR, which in the example
is "john.smith@example.com". is "john.smith@example.com".
3.6. PBX Voicemail Example 3.6. PBX Voicemail Example
A typical use case for voicemail is one whereby the original called A typical use case for voicemail is one whereby the original called
party is not reachable and the call arrives at a voicemail system. party is not reachable and the call arrives at a voicemail system.
In some cases multiple alternate destinations may be tried without In some cases multiple alternate destinations may be tried without
skipping to change at page 26, line 42 skipping to change at page 26, line 42
[RFC4458]. Note that some VMSs may also (or instead) use the [RFC4458]. Note that some VMSs may also (or instead) use the
information available in the History-Info headers for custom handling information available in the History-Info headers for custom handling
of the VM in terms of how and why the call arrived at the VMS. of the VM in terms of how and why the call arrived at the VMS.
Furthermore it is the proxy forwarding the call to VMS that Furthermore it is the proxy forwarding the call to VMS that
determines the target of the voicemail, it is the proxy that sets the determines the target of the voicemail, it is the proxy that sets the
target of voicemail which is also the entity that utilizes RFC4244bis target of voicemail which is also the entity that utilizes RFC4244bis
to find the target which is usually based on local policy installed to find the target which is usually based on local policy installed
by the user or an administrator. by the user or an administrator.
Alice example.com Bob Carol VM Alice example.com Bob Carol VM
| INVITE F1 | | | |
|------------->| | | |
| | INVITE F2 | | |
| |------------->| | |
| | | | |
| 100 Trying | | | |
|<-------------| 302 Moved Temporarily F3 | |
| |<-------------| | |
| | | | |
| ACK | | |
|---------------------------->| | |
| | | | |
| | INVITE F4 | | |
| |--------------------------->| |
| | | | |
| | 180 Ringing F5 | |
| |<---------------------------| |
| | | | |
| 180 Ringing | | | |
|<-------------| | | |
| | | | |
| | (timeout) | |
| | | | |
| | INVITE F6 | | |
| |-------------------------------------->|
| | | | |
| | 200 OK F7 |
| |<--------------------------------------|
| 200 OK | | | |
|<-------------| | | |
| | | | |
| ACK |
|----------------------------------------------------->|
F1 INVITE Alice -> Example.com | INVITE F1 | | | |
|------------->| | | |
| | INVITE F2 | | |
| |------------->| | |
| | | | |
| 100 Trying | | | |
|<-------------| 302 Moved Temporarily F3 | |
| |<-------------| | |
| | | | |
| | ACK | | |
| |------------->| | |
| | | | |
| | INVITE F4 | | |
| |--------------------------->| |
| | | | |
| | 180 Ringing F5 | |
| |<---------------------------| |
| | | | |
| 180 Ringing | | | |
|<-------------| | | |
| | | | |
| | (timeout) | |
| | | | |
| | INVITE F6 | | |
| |-------------------------------------->|
| | | | |
| | 200 OK F7 |
| |<--------------------------------------|
| 200 OK | | | |
|<-------------| | | |
| | | | |
| ACK |
|----------------------------------------------------->|
INVITE sip:bob@example.com SIP/2.0 F1 INVITE Alice -> Example.com
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 70
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
Contact: Alice <sip:alice@192.0.2.3>
Content-Length: <appropriate value>
[SDP Not Shown] INVITE sip:bob@example.com SIP/2.0
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 70
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
Contact: Alice <sip:alice@192.0.2.3>
Content-Length: <appropriate value>
F2 INVITE Example.com -> Bob [SDP Not Shown]
INVITE sip:bob@192.0.2.5 SIP/2.0 F2 INVITE Example.com -> Bob
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5>;index=1.1;rc=1
Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp
Content-Length: <appropriate value>
[SDP Not Shown] INVITE sip:bob@192.0.2.5 SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5>;index=1.1;rc=1
Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp
Content-Length: <appropriate value>
F3 302 Moved Temporarily Bob -> Example.com [SDP Not Shown]
SIP/2.0 302 Moved Temporarily F3 302 Moved Temporarily Bob -> Example.com
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4;\
received=192.0.2.101
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>;tag=2g22d-lnf
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5>;index=1.1;rc=1
Contact: <sip:carol@example.com>;mp=1
Content-Type: application/sdp
Content-Length: <appropriate value>
[SDP Not Shown] SIP/2.0 302 Moved Temporarily
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4;\
received=192.0.2.101
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>;tag=2g22d-lnf
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5>;index=1.1;rc=1
Contact: <sip:carol@example.com>;mp=1
Content-Type: application/sdp
Content-Length: <appropriate value>
F4 INVITE Example.com -> Carol [SDP Not Shown]
INVITE sip:carol@192.0.2.4 SIP/2.0 F4 INVITE Example.com -> Carol
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 68
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1
History-Info: <sip:carol@example.com>;index=1.2;mp=1
History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2
Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp
Content-Length: <appropriate value>
[SDP Not Shown] INVITE sip:carol@192.0.2.4 SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1
History-Info: <sip:carol@example.com>;index=1.2;mp=1
History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2
Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp
Content-Length: <appropriate value>
F5 180 Ringing Carol -> Example.com [SDP Not Shown]
SIP/2.0 180 Ringing F5 180 Ringing Carol -> Example.com
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522;\
received=192.0.2.101
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>;tag=setss3x
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1
History-Info: <sip:carol@example.com>;index=1.2;mp=1
History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2
Contact: <sip:carol@192.0.2.4>
Content-Type: application/sdp
Content-Length: <appropriate value>
[SDP Not Shown] SIP/2.0 180 Ringing
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4522;\
received=192.0.2.101
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>;tag=setss3x
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1
History-Info: <sip:carol@example.com>;index=1.2;mp=1
History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2
Contact: <sip:carol@192.0.2.4>
Content-Type: application/sdp
Content-Length: <appropriate value>
F6 INVITE Example.com -> VM [SDP Not Shown]
INVITE sip:vm@192.0.2.6;target=sip:bob%40example.com;cause=480 SIP/2.0 F6 INVITE Example.com -> VM
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4523
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 67
From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>
Supported: histinfo
Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1
History-Info: <sip:carol@example.com>;index=1.2;mp=1
History-Info: <sip:carol@192.0.2.4?Reason=SIP%3Bcause%3D480>;\
index=1.2.1;rc=1.2
History-Info: <sip:vm@example.com;\ INVITE sip:vm@192.0.2.6;target=sip:bob%40example.com;cause=480\
target=sip:bob%40example.com>;\ SIP/2.0
index=1.3;mp=1 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4523
History-Info: <sip:vm@192.0.2.6;\ Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
target=sip:bob%40example.com>;\ Max-Forward: 69
index=1.3.1;rc=1.3 From: Alice <sip:alice@example.com>;tag=kkaz-
Contact: Alice <sip:alice@192.0.2.3> To: Bob <sip:bob@example.com>
Content-Type: application/sdp Supported: histinfo
Content-Length: <appropriate value> Call-Id: 12345600@example.com
CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1
History-Info: <sip:carol@example.com>;index=1.2;mp=1
History-Info: <sip:carol@192.0.2.4;cause=480>;\
index=1.2.1;rc=1.2
History-Info: <sip:vm@example.com;\
target=sip:bob%40example.com;cause=480>;\
index=1.3;mp=1
History-Info: <sip:vm@192.0.2.6;\
target=sip:bob%40example.com;cause=480>;\
index=1.3.1;rc=1.3
Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp
Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
F7 200 OK VM -> Example.com F7 200 OK VM -> Example.com
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4523;\ Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK4523;\
received=192.0.2.101 received=192.0.2.101
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
From: Alice <sip:alice@example.com>;tag=kkaz- From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>;tag=3dweggs To: Bob <sip:bob@example.com>;tag=3dweggs
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\ History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302>;\
index=1.1;rc=1 index=1.1;rc=1
History-Info: <sip:carol@example.com>;index=1.2;mp=1 History-Info: <sip:carol@example.com;cause=480?Reason=SIP%3Bcause%3D\
History-Info: <sip:carol@192.0.2.4?Reason=SIP%3Bcause%3D480>;\ 408>;index=1.2;mp=1
index=1.2.1;rc=1.2 History-Info: <sip:carol@192.0.2.4;cause=480?Reason=SIP%3Bcause%3D\
History-Info: <sip:vm@example.com;\ 408>;index=1.2.1;rc=1.2
target=sip:bob%40example.com>;\ History-Info: <sip:vm@example.com;\
index=1.3;mp=1 target=sip:bob%40example.com;cause=408>;\
History-Info: <sip:vm@192.0.2.6;\ index=1.3;mp=1
target=sip:bob%40example.com>;\ History-Info: <sip:vm@192.0.2.6;\
index=1.3.1;rc=1.3 target=sip:bob%40example.com;cause=408>;\
Contact: <sip:vm@192.0.2.6> index=1.3.1;rc=1.3
Content-Type: application/sdp Contact: <sip:vm@192.0.2.6>
Content-Length: <appropriate value> Content-Type: application/sdp
Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
Figure 6: Figure 6. Enterprise Voivemail Example Figure 6: Figure 6: Enterprise Voivemail Example
The VMS can look at the last hi-entry and find the target of the The VMS can look at the last hi-entry and find the target of the
mailbox by looking at the URI entry in the "target" URI parameter in mailbox by looking at the URI entry in the "target" URI parameter in
the hi-entry. the hi-entry.
3.7. Consumer Voicemail Example 3.7. Consumer Voicemail Example
In the case of a consumer, when the call is retargeted, it is usually In the case of a consumer, when the call is retargeted, it is usually
to another administrative domain. The voicemail system in these to another administrative domain. The voicemail system in these
environment typically requires the last called party information to environment typically requires the last called party information to
skipping to change at page 31, line 37 skipping to change at page 31, line 38
| INVITE F1 | | | | | INVITE F1 | | | |
|------------->| | | | |------------->| | | |
| | INVITE F2 | | | | | INVITE F2 | | |
| |------------->| | | | |------------->| | |
| | | | | | | | | |
| 100 Trying | | | | | 100 Trying | | | |
|<-------------| 302 Moved Temporarily F3 | | |<-------------| 302 Moved Temporarily F3 | |
| |<-------------| | | | |<-------------| | |
| | | | | | | | | |
| ACK | | | | | ACK | | |
|---------------------------->| | | | |------------->| | |
| | | | | | | | | |
| | INVITE F4 | | | | | INVITE F4 | | |
| |--------------------------->| | | |--------------------------->| |
| | | | | | | | | |
| | 180 Ringing F5 | | | | 180 Ringing F5 | |
| |<---------------------------| | | |<---------------------------| |
| | | | | | | | | |
| 180 Ringing | | | | | 180 Ringing | | | |
|<-------------| | | | |<-------------| | | |
| | | | | | | | | |
skipping to change at page 33, line 28 skipping to change at page 33, line 31
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
F4 INVITE Example.com -> Carol F4 INVITE Example.com -> Carol
INVITE sip:carol@192.0.2.4 SIP/2.0 INVITE sip:carol@192.0.2.4 SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK24s5 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK24s5
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 68 Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=kkaz- From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com> To: Bob <sip:bob@example.com>
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302\ History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302\
;text="Moved Temporarily">\ %3Btext%3D"Moved Temporarily">\
;index=1.1;rc=1 ;index=1.1;rc=1
History-Info: <sip:carol@example.com>;index=1.2;mp=1 History-Info: <sip:carol@example.com>;index=1.2;mp=1
History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2 History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
F5 180 Ringing Carol -> Example.com F5 180 Ringing Carol -> Example.com
skipping to change at page 34, line 28 skipping to change at page 34, line 29
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
F6 INVITE Example.com -> VM F6 INVITE Example.com -> VM
INVITE sip:vm@192.0.2.6;target=sip:carol%40example.com SIP/2.0 INVITE sip:vm@192.0.2.6;target=sip:carol%40example.com SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKbbg4 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKbbg4
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 67 Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=kkaz- From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com> To: Bob <sip:bob@example.com>
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302\ History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302\
;text="Moved Temporarily">\ ;text="Moved Temporarily">\
;index=1.1;rc=1 ;index=1.1;rc=1
History-Info: <sip:carol@example.com?Reason=SIP%3Bcause%3D408>;\ History-Info: <sip:carol@example.com?Reason=SIP%3Bcause%3D408>;\
skipping to change at page 35, line 14 skipping to change at page 35, line 16
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKbbg4 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bKbbg4
Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
From: Alice <sip:alice@example.com>;tag=kkaz- From: Alice <sip:alice@example.com>;tag=kkaz-
To: Bob <sip:bob@example.com>;tag=3dweggs To: Bob <sip:bob@example.com>;tag=3dweggs
Supported: histinfo Supported: histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:bob@example.com>;index=1 History-Info: <sip:bob@example.com>;index=1
History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302\ History-Info: <sip:bob@192.0.2.5?Reason=SIP%3Bcause%3D302\
;text="Moved Temporarily">\ %3Btext%3D%22Moved%20Temporarily%22>\
;index=1.1;rc=1 ;index=1.1;rc=1
History-Info: <sip:carol@example.com?Reason=SIP%3Bcause%3D408>;\ History-Info: <sip:carol@example.com?Reason=SIP%3Bcause%3D408>;\
index=1.2;mp=1 index=1.2;mp=1
History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2 History-Info: <sip:carol@192.0.2.4?Reason=SIP%3Bcause%3D408>;\
index=1.2.1;rc=1.2
History-Info: <sip:vm@example.com;target=sip:carol%40example.com>;\ History-Info: <sip:vm@example.com;target=sip:carol%40example.com>;\
index=1.3;mp=1.2 index=1.2.2;mp=1.2
History-Info: <sip:vm@192.0.2.5;target=sip:carol%40example.com>;\ History-Info: <sip:vm@192.0.2.5;target=sip:carol%40example.com>;\
index=1.3.1;rc=1.3 index=1.2.2;rc=1.2.1
Contact: <sip:carol@192.0.2.5> Contact: <sip:carol@192.0.2.5>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
Figure 7: Figure 7. Consumer Voivemail Example Figure 7: Figure 7: Consumer Voivemail Example
The VMS can look at the last hi-entry and find the target of the The VMS can look at the last hi-entry and find the target of the
mailbox by looking for the "target" URI parameter in the hi-entry and mailbox by looking for the "target" URI parameter in the hi-entry and
the reason by the "cause" URI parameter in the same hi-entry. the reason by the "cause" URI parameter in the same hi-entry.
3.8. GRUU 3.8. GRUU
A variation on the problem in Section 3.5 occurs with Globally A variation on the problem in Section 3.5 occurs with Globally
Routable User Agent URI (GRUU) [RFC5627]. A GRUU is a URI assigned Routable User Agent URI (GRUU) [RFC5627]. A GRUU is a URI assigned
to a UA instance which has many of the same properties as the AOR, to a UA instance which has many of the same properties as the AOR,
skipping to change at page 36, line 46 skipping to change at page 36, line 49
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:john@192.0.2.1>;+sip.instance=\ Contact: <sip:john@192.0.2.1>;+sip.instance=\
<urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6> <urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>
Content-Length: 0 Content-Length: 0
[SDP Not Shown] [SDP Not Shown]
F2 200 OK Example.com -> John F2 200 OK Example.com -> John
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 Via: SIP/2.0/TCP 192.0.2.1;branch=z9hG4bKnashds7
From: John <sip:john@example.com>;tag=a73kszlfl From: John <sip:john@example.com>;tag=a73kszlfl
To: John <sip:john@example.com> ;tag=b88sn To: John <sip:john@example.com> ;tag=b88sn
Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:john@192.0.2.1>;\ Contact: <sip:john@192.0.2.1>;\
pub-gruu="sip:john@example.com;\ pub-gruu="sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\ gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\
temp-gruu=\ temp-gruu=\
"sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr";\ "sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr";\
+sip.instance=\ +sip.instance=\
skipping to change at page 37, line 23 skipping to change at page 37, line 26
[SDP Not Shown] [SDP Not Shown]
Assuming Alice has a knowledge of a gruu either through Assuming Alice has a knowledge of a gruu either through
prior communication or through other means such as presence prior communication or through other means such as presence
places a call to John's gruu. places a call to John's gruu.
F3 INVITE Alice -> Example.com F3 INVITE Alice -> Example.com
INVITE sip:john@example.com;\ INVITE sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 SIP/2.0 gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 SIP/2.0
Via: SIP/2.0/UDP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 70 Max-Forward: 70
From: Alice <sip:alice@example.com>;tag=kkaz- From: Alice <sip:alice@example.com>;tag=kkaz-
To: <sip:john@example.com;\ To: <sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6> gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>
Supported: gruu, histinfo Supported: gruu, histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: <sip:john@example.com;\ History-Info: <sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>;index=1 gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>;index=1
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
F4 INVITE Example.com -> John F4 INVITE Example.com -> John
INVITE sip:john@192.0.2.1 SIP/2.0 INVITE sip:john@192.0.2.1 SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4
Via: SIP/2.0/UDP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/TCP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 69 Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=kkaz- From: Alice <sip:alice@example.com>;tag=kkaz-
To: <sip:john@example.com;\ To: <sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6> gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>
Supported: gruu, histinfo Supported: gruu, histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Record-Route: <sip:proxy.example.com;lr> Record-Route: <sip:proxy.example.com;lr>
History-Info: <sip:john@example.com;\ History-Info: <sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>;index=1 gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>;index=1
History-Info: <sip:john@192.0.2.1>;index=1.1;rc=1 History-Info: <sip:john@192.0.2.1>;index=1.1;rc=1
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
skipping to change at page 38, line 14 skipping to change at page 38, line 18
Record-Route: <sip:proxy.example.com;lr> Record-Route: <sip:proxy.example.com;lr>
History-Info: <sip:john@example.com;\ History-Info: <sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>;index=1 gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>;index=1
History-Info: <sip:john@192.0.2.1>;index=1.1;rc=1 History-Info: <sip:john@192.0.2.1>;index=1.1;rc=1
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
Figure 8: Figure 8. GRUU Example Figure 8: Figure 8: GRUU Example
By analyzing the entry referenced by the entry with the last "rc", By analyzing the entry referenced by the entry with the last "rc",
one can realize that the URI used to reach the device was GRUU by one can realize that the URI used to reach the device was GRUU by
finding the "gr" parameter. finding the "gr" parameter.
3.9. Limited Use Address 3.9. Limited Use Address
A limited use address is a SIP URI that is minted on-demand, and A limited use address is a SIP URI that is minted on-demand, and
passed out to a small number (usually one) remote correspondent. passed out to a small number (usually one) remote correspondent.
Incoming calls targeted to that limited use address are accepted as Incoming calls targeted to that limited use address are accepted as
skipping to change at page 39, line 36 skipping to change at page 39, line 39
Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:john@192.0.2.1>;\ Contact: <sip:john@192.0.2.1>;\
+sip.instance="<urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>" +sip.instance="<urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>"
Content-Length: 0 Content-Length: 0
F2 200 OK Example.com -> John F2 200 OK Example.com -> John
SIP/2.0 200 OK SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7 Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bKnashds7
Max-Forward: 70
From: John <sip:john@example.com>;tag=a73kszlfl From: John <sip:john@example.com>;tag=a73kszlfl
To: John <sip:john@example.com> ;tag=b88sn To: John <sip:john@example.com> ;tag=b88sn
Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:john@192.0.2.1>;\ Contact: <sip:john@192.0.2.1>;\
pub-gruu="sip:john@example.com;\ pub-gruu="sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\ gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\
temp-gruu=\ temp-gruu=\
"sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr";\ "sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr";\
+sip.instance="<urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>";\ +sip.instance="<urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>";\
skipping to change at page 39, line 49 skipping to change at page 40, line 4
Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1 Call-ID: 1j9FpLxk3uxtm8tn@192.0.2.1
CSeq: 1 REGISTER CSeq: 1 REGISTER
Contact: <sip:john@192.0.2.1>;\ Contact: <sip:john@192.0.2.1>;\
pub-gruu="sip:john@example.com;\ pub-gruu="sip:john@example.com;\
gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\ gr=urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\
temp-gruu=\ temp-gruu=\
"sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr";\ "sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr";\
+sip.instance="<urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>";\ +sip.instance="<urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6>";\
expires=3600 expires=3600
Content-Length: 0 Content-Length: 0
Assuming Alice has a knowledge of a temp-gruu, she places a Assuming Alice has a knowledge of a temp-gruu, she places a
call to the temp-gruu. call to the temp-gruu.
F3 INVITE Alice -> Example.com F3 INVITE Alice -> Example.com
INVITE sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;\ INVITE sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;\
gr SIP/2.0 gr SIP/2.0
Via: SIP/2.0/UDP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/UDP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 69 Max-Forward: 70
From: Alice <sip:alice@example.com>;tag=kkaz- From: Alice <sip:alice@example.com>;tag=kkaz-
To: <sip:sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com\ To: <sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com\
;gr> ;gr>
Supported: gruu, histinfo Supported: gruu, histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
History-Info: \ History-Info: \
<sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr>\ <sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr>\
;index=1 ;index=1
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Length: <appropriate value> Content-Length: <appropriate value>
F4 INVITE Example.com -> John F4 INVITE Example.com -> John
INVITE sip:john@192.0.2.1 SIP/2.0 INVITE sip:john@192.0.2.1 SIP/2.0
Via: SIP/2.0/TCP proxy.example.com:5060;branch=z9hG4bK12s4 Via: SIP/2.0/UDP proxy.example.com:5060;branch=z9hG4bK12s4
Via: SIP/2.0/UDP 192.0.2.3:5060;branch=z9hG4bK42t2 Via: SIP/2.0/UDP 192.0.2.3:5060;branch=z9hG4bK42t2
Max-Forward: 68 Max-Forward: 69
From: Alice <sip:alice@example.com>;tag=kkaz- From: Alice <sip:alice@example.com>;tag=kkaz-
To: <sip:sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com\ To: <sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com\
;gr> ;gr>
Supported: gruu, histinfo Supported: gruu, histinfo
Call-Id: 12345600@example.com Call-Id: 12345600@example.com
CSeq: 1 INVITE CSeq: 1 INVITE
Record-Route: <sip:proxy.example.com;lr> Record-Route: <sip:proxy.example.com;lr>
History-Info: \ History-Info: \
<sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr>\ <sip:tgruu.7hs==jd7vnzga5w7fajsc7-ajd6fabz0f8g5@example.com;gr>\
;index=1 ;index=1
History-Info: <sip:john@192.0.2.1>;index=1.1;rc=1 History-Info: <sip:john@192.0.2.1>;index=1.1;rc=1
Contact: Alice <sip:alice@192.0.2.3> Contact: Alice <sip:alice@192.0.2.3>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
Figure 9: Figure 9. Limited Use Address Example Figure 9: Figure 9: Limited Use Address Example
By analyzing the entry referenced by the entry with the last "rc", By analyzing the entry referenced by the entry with the last "rc",
one can realize that the URI used to reach the device was GRUU by one can realize that the URI used to reach the device was GRUU by
finding the "gr" parameter. finding the "gr" parameter.
3.10. Service Invocation 3.10. Service Invocation
Several SIP specifications have been developed which make use of Several SIP specifications have been developed which make use of
complex URIs to address services within the network rather than complex URIs to address services within the network rather than
subscribers. The URIs are complex because they contain numerous subscribers. The URIs are complex because they contain numerous
skipping to change at page 43, line 49 skipping to change at page 43, line 49
History-Info: <sip:+18005551002@example.com;user=phone>;index=1 History-Info: <sip:+18005551002@example.com;user=phone>;index=1
History-Info: <sip:+15555551002@atlanta.com>;index=1.1;mp=1 History-Info: <sip:+15555551002@atlanta.com>;index=1.1;mp=1
History-Info: <sip:john@atlanta.com>;index=1.1.1;rc=1.1 History-Info: <sip:john@atlanta.com>;index=1.1.1;rc=1.1
History-Info: <sip:john@198.51.100.2>;index=1.1.1.1;rc=1.1.1 History-Info: <sip:john@198.51.100.2>;index=1.1.1.1;rc=1.1.1
Contact: <sip:alice@192.0.2.1> Contact: <sip:alice@192.0.2.1>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: <appropriate value> Content-Length: <appropriate value>
[SDP Not Shown] [SDP Not Shown]
Figure 10: Figure 10. Service Number Example Figure 10: Figure 10: Service Number Example
4. Security Considerations 4. Security Considerations
The security considerations for the History-Info header field are The security considerations for the History-Info header field are
specified in [I-D.ietf-sipcore-rfc4244bis]. specified in [I-D.ietf-sipcore-rfc4244bis].
5. IANA Considerations 5. IANA Considerations
This document has no IANA considerations. This document has no IANA considerations.
 End of changes. 73 change blocks. 
249 lines changed or deleted 252 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/