Ran into a question during negative testing, wanted to know if anyone has opinions 
and/or remembers the reason for the following text in section 15 of RFC3261:

   However, the callee's UA MUST NOT send a BYE on a confirmed dialog
   until it has received an ACK for its 2xx response or until the server
   transaction times out.

Example scenario is a call setup attempt through the following:

A -> P1 -> P2 -> P3 -> B

P1 and P3 are record routed, P2 is not.  Invite with SDP is sent, 18x returned, then 
P2 dies sometime during ringing but before answer.  200 with SDP is then returned 
(completing offer/answer and thus creating a session and confirmed dialog) but can't 
get to A because P2 is down.  All retransmits of the 200 happen.  B's server 
transaction times out, so it sends BYEs to try to tear down the call.  Since P2 was 
not record routed, the BYEs make it to A who is not expecting a BYE during ringing.  
Are any elements mis-behaving here?

The RFC text above seems to be designed to prohibit BYEs from being sent unless a 
session is fully established, but also leaves it open to send one if the server 
transaction times out waiting for an ACK.  Anybody know why this is?  What problems 
would there be for a UAC getting a BYE for a ringing call?

A bit below the text noted above is this motivational text:

      ...  For the callee's UA, it would typically imply a BYE;
      presumably, when the user picked up the phone, a 2xx was
      generated, and so hanging up would result in a BYE after the ACK
      is received.  This does not mean a user cannot hang up before
      receipt of the ACK, it just means that the software in his phone
      needs to maintain state for a short while in order to clean up
      properly.  ...  As per the rules above, a BYE can't be sent.

This seems to conflict with the first text allowing a BYE to be sent when a server 
transaction timeout occurs.  What is allowed?


John Hearty
Level 3 Communications, Inc.

_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to