Subject: [SIP] INVITE/200 OK/BYE or INVITE/200 OK/ACK/BYE?

From: Vijay Gurbani <[email-masked]>
Date: Wed, 22 Nov 2000 09:36:48 -0600

Hi:

Assume a UAC sent an INVITE request which reached, through a forking proxy, 
to 2 UASes.  Both of those UASes send a 200 OK upstream.  The UAC now gets 2
200 OKs and wants to talk to one and reject the other.
 
Based on some logic, the UAC decides to establish a session with UAS 1, so 
it sends it a ACK to UAS 1.
 
After sending an ACK to UAS 1, the UAC wants to reject UAS 2.  Which is the 
appropriate message flow:
 
   UAC         UAS 2
   ACK--------->
   BYE--------->
   <---------- 200 OK (BYE)
 
OR:
 
   UAC         UAS 2
   BYE--------->
   <---------- 200 OK (BYE)
 
I believe the first flow is correct (bis, Section 4.2.4, "BYE": 
   "A BYE request from either called or calling party terminates any pending
   INVITE at a UA, but the INVITE request MUST be completed with a final 
   response and ACK")
 
However, reading some of the postings I get the impression that jives with 
the second flow.
 
So, which is it?  

Could the bis draft include something in Section 16.5 "Forking Proxy" call 
flows; especially where Bell gets two 200 responses from X and Y.  The text 
now says: "He can either send an ACK to both if human intelligence is needed 
to determine who he wants to talk to or he can automatically reject one of 
the two calls."  
 
It would be good if the text showed how to reject the other call: by sending 
an ACK immediately followed by a BYE (if first flow is correct), or by 
sending a BYE (if second flow is correct).
 
Thanks,

- vijay
-- 
Vijay K. Gurbani  vkg@{lucent.com,research.bell-labs.com,acm.org}
Internet Software and eServices Group 
Lucent Technologies/Bell Labs Innovations 263 Shuman Blvd., Rm 1A-413
Naperville, Illinois 60566     Voice: +1 630 224 0216   Fax: +1 630 713 0184

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: Billy Biggs <[email-masked]>
Date: Wed, 22 Nov 2000 10:03:25 -0600

Vijay Gurbani ([email-masked]):

> After sending an ACK to UAS 1, the UAC wants to reject UAS 2.  Which
> is the appropriate message flow:
>  
>    UAC         UAS 2
>    ACK--------->
>    BYE--------->
>    <---------- 200 OK (BYE)
>  
> OR:
>  
>    UAC         UAS 2
>    BYE--------->
>    <---------- 200 OK (BYE)

  The second flow is incorrect, you must ACK the OK.  This is a known
area of confusion in the bis draft and it has already been mentioned on
this list that it will be clarified.

-- 
Billy Biggs, 3Com               Email: [email-masked]
http://www.div8.net/billy/      Phone: [email-masked]