>>> Interesting, never thought about it. So, if I send a re-INVITE for
>>> which I have no final reply yet and then I send a BYE, should the UAS
>>> reply 200 for the BYE and terminate the remaining re-INVITE
>>> transasction without sending a final response?
>
>>> Or should the UAS reply a "491 Request Pending" for the BYE? Anyhow
>>> section 14.2 in RFC 3261 just indicates that 491 is useful when there
>>> is a pending re-INVITE from A to B and B sends a re-INVITE to A. In
>>> that case A should reply 491.

A UA must send a final response for every request it receives.  In the
case of a re-INVITE that is outstanding when a BYE is received, we
have to consider the sequence of the requests (which is manifest from
the CSeq values).  I believe in this example, it is assumed that the
BYE follows the re-INVITE.  Given that the BYE clears the dialog state
(actually, the state of the INVITE usage within the dialog), it
doesn't really matter what response code is given for the re-INVITE.
One approach is to report that the re-INVITE was rejected or aborted,
491 or 487.

Another approach is to give the 400 generic failure response.

A third approach is to pretend that the re-INVITE arrived after the
BYE (the UAC can't prove it didn't!) and send a 500 Out Of Order
response.

487 looks particularly appropriate:

   21.4.25 487 Request Terminated

   The request was terminated by a BYE or CANCEL request.  This response
   is never returned for a CANCEL request itself.

Dale

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to