draft-ietf-sipping-race-examples-03.txt   draft-ietf-sipping-race-examples-04.txt 
sipping M. Hasebe sipping M. Hasebe
Internet-Draft J. Koshiko Internet-Draft J. Koshiko
Intended status: Best Current Y. Suzuki Intended status: Best Current Y. Suzuki
Practice T. Yoshikawa Practice T. Yoshikawa
Expires: February 11, 2008 NTT-east Corporation Expires: March 1, 2008 NTT-east Corporation
P. Kyzivat P. Kyzivat
Cisco Systems, Inc. Cisco Systems, Inc.
August 10, 2007 August 29, 2007
Examples call flow in race condition on Session Initiation Protocol Examples call flow in race condition on Session Initiation Protocol
draft-ietf-sipping-race-examples-03 draft-ietf-sipping-race-examples-04
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 38 skipping to change at page 1, line 38
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 11, 2008. This Internet-Draft will expire on March 1, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
This document gives examples of the Session Initiation Protocol (SIP) This document gives examples of the Session Initiation Protocol (SIP)
call flows in race condition. Call flows in race condition are call flows in race condition. Call flows in race condition are
confusing, and this document shows the best practice to handle them. confusing, and this document shows the best practice to handle them.
skipping to change at page 2, line 44 skipping to change at page 2, line 44
3.3.2. UPDATE and re-INVITE crossover . . . . . . . . . . . . 43 3.3.2. UPDATE and re-INVITE crossover . . . . . . . . . . . . 43
3.3.3. Receiving REFER (Establish state) in Mortal state . . 47 3.3.3. Receiving REFER (Establish state) in Mortal state . . 47
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 48 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 48
5. Security Considerations . . . . . . . . . . . . . . . . . . . 49 5. Security Considerations . . . . . . . . . . . . . . . . . . . 49
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 49 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 49
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 49 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.1. Normative References . . . . . . . . . . . . . . . . . . . 49 7.1. Normative References . . . . . . . . . . . . . . . . . . . 49
7.2. Informative References . . . . . . . . . . . . . . . . . . 49 7.2. Informative References . . . . . . . . . . . . . . . . . . 49
Appendix A. BYE on the Early Dialog . . . . . . . . . . . . . . . 49 Appendix A. BYE on the Early Dialog . . . . . . . . . . . . . . . 49
Appendix B. BYE request overlapped on re-INVITE . . . . . . . . . 51 Appendix B. BYE request overlapped on re-INVITE . . . . . . . . . 51
Appendix C. UA's behavior for CANCEL . . . . . . . . . . . . . . 53 Appendix C. UA's behavior for CANCEL . . . . . . . . . . . . . . 54
Appendix D. Notes on the request in Mortal state . . . . . . . . 55 Appendix D. Notes on the request in Mortal state . . . . . . . . 55
Appendix E. Forking and receiving new To tags . . . . . . . . . . 56 Appendix E. Forking and receiving new To tags . . . . . . . . . . 56
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 60 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 60
Intellectual Property and Copyright Statements . . . . . . . . . . 62 Intellectual Property and Copyright Statements . . . . . . . . . . 62
1. Overview 1. Overview
The call flows shown in this document were developed in the design of The call flows shown in this document were developed in the design of
a SIP IP communications network. These examples are of race a SIP IP communications network. These examples are of race
condition, which stems from the dialog state transition mainly condition, which stems from the dialog state transition mainly
skipping to change at page 53, line 6 skipping to change at page 53, line 6
BYE or its response can be handled. BYE or its response can be handled.
It is permitted to send F4 (a retransmission of INVITE) in the Mortal It is permitted to send F4 (a retransmission of INVITE) in the Mortal
state, because the retransmission of F1 is handled by the transaction state, because the retransmission of F1 is handled by the transaction
layer, and the INVITE transaction has not yet transited to the layer, and the INVITE transaction has not yet transited to the
Terminated state. As it is mentioned above, the dialog and the Terminated state. As it is mentioned above, the dialog and the
transaction behave independently each other. Therefore the transaction behave independently each other. Therefore the
transaction handling has to be continued even though the dialog moved transaction handling has to be continued even though the dialog moved
to the Terminated state. to the Terminated state.
Note: As noted in Section 3.1.4, there is a hint for implementation
to avoid this case. That is for the UAC to delay sending BYE F2
until re-INVITE F1 transaction completes. Implementors can decouple
the actions of the user (e.g. hanging up) from the actions of the
protocol (the sending of BYE F2), so that the UA can behave as such.
In this case, it is dependent on the implementor's choice as to how
long it waits. In most cases, such implementation may be useful to
prevent this case.
Next, UAS's state is shown below. Next, UAS's state is shown below.
UAC UAS dialog INV BYE UAC UAS dialog INV BYE
| | : | | :
| | : | | :
| re-INVITE F1 | | | re-INVITE F1 | |
|-------------->x | | |-------------->x | |
| BYE F2 | | | BYE F2 | |
|--------------------->| | o |--------------------->| | o
| 200(BYE) F3 | (Mortal) | | 200(BYE) F3 | (Mortal) |
 End of changes. 6 change blocks. 
5 lines changed or deleted 14 lines changed or added

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