Subject: [Sipping] Call Pick Up call flow in the sipping-service-examples and The SI P Replaces header

From: "Venkatesh Venkataramanan" <[email-masked]>
Date: Fri, 6 Jun 2003 16:21:00 -0700

Hi:

Per section 2.16 of the
http://www.ietf.org/internet-drafts/draft-ietf-sipping-service-examples-04.t
xt draft, call pick up is acheived by using a INVITE with Replaces header.
An INVITE with Replaces header is also used for consultative transfers. A UA
that receives the a INVITE with Replaces header attempts to match an
existing dialog with details provided in the replaces header and if found
accept the same, it then proceeds to tear down the existing dialog. However,
the call flow for pick up presented in 2.16  is prone to race conditions
which could produce undesirable end user behavior. 

Per the example in 2.16:

1. Alice calls Bob. Bob's phone is ringing.
2. Carol decides to pick the call.
3. Carol sends a SUBSCRIBE to Bob's dialog state. Bob's UA sends out a
NOTIFY providing the dialog details.
4. Carol initiates a INVITE with Replaces header.

However, between step 3 and step 4, it could so happen that Bob decided to
pickup his phone to answer the call. The call is established and the two
start talking..... Now the INVITE with Replaces (step 4)  comes along.
Alice's UA accepts this request, tears down the session with Bob and the
call gets established with Carol. This produces undesirable results from a
end user perspective. 

Would it be a good idea to extend the Replaces header to contain the dialog
state based on the dialog state draft as well so that the recipient can
compare the dialog identifiers AND the dialog state to decide whether to
allow the same or not?

regards,
Venkatesh

_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use [email-masked] for questions on current sip
Use [email-masked] for new developments of core SIP