Heya,
IƱaki Baz Castillo wrote:
(2) always decrement the reference counter during BYE response handling.
So, never rely on the response to the BYE and never expect that the BYE would get a response, am I right?
Yes.
If so I fully agree. A BYE initiated by the proxy shoud always work except in case it's sent at the same time as an in-dialog request by an endpoint, so the CSeq of the BYE could be too small. In order to prevent it, the BYE generated by the proxy should ensure that its CSeq value is 5-10 times greater than the last CSeq value in the dialog (for each side). And when the BYE is sent then update the dialog status without waiting for the response, do you agree?
I didn't consider the case where an in-dialog request created by one of the UAs could shadow a proxy-induced BYE but it's worth remembering. Agreeing with you, I will update the wiki page on this aspect tomorrow.
Cheers,
--Timo