Title: Race Condition Examples
1Race Condition Examples draft-hasebe-sipping-race-
examples-00.txt Miki Hasebe NTT-east Corporation
2- Represented a basic idea to explain race
conditions - Made a figure of the dialog state transition to
reveal the underlying structure of race
conditions. - Organize and reclassify examples in race
condition - Examples in the previous draft is organized into
categories based on the figure of dialog state
transition.
3The dialog state transition in race conditions
- A race condition is generated in a situation
where the dialog state differs between UAC and
UAS.
Alice
Bob
INVITE
180
Early
Early
200
CANCEL
Confirmed
Confirmed
ACK
BYE
Terminated
Terminated
200
4Dialog State Machine
- This figure is based on the RFC4235(dialog event
package)
Preparative
3xx-6xx
2xx
Trying
1xx no-tag
1xx with tag
Proceeding
1xx no-tag
Early
3xx-6xx
BYE
1xx with tag
2xx
Confirmed
Terminated
Moratorium
Mortal
BYE
2xx
BYE
Timeout
ACK
Established
Morgue
53. Race condition 3.1 Receiving message in the
Moratorium State 3.1.1 Receiving Initial INVITE
retransmission(Trying state) 3.1.2 Receiving
CANCEL(Trying state) 3.1.3 Receiving
CANCEL(Trying state) via a stateful proxy 3.1.4
Receiving BYE (Early state) 3.1.5 Receiving
re-INVITE (Established state) 3.1.6 Receiving
BYE (Established state) 3.2 Receiving message
in the Mortal State 3.2.1 Receiving
BYE(Established state) 3.2.2 Receiving
re-INVITE(Established state) 3.2.3 Receiving
REFER(Established state) 3.2.4 Receiving 200OK
for re-INVITE(Established state) 3.2.5
Receiving ACK (Moratorium state) 3.3 other
race condition
6- Let me hear your candid opinion of my proposal.
- The idea of causing race conditions arising from
the dialog state transition. - Classification of examples based on that idea.
Proposal
- I hope to promote discussions on the draft as a
WG item.