[asterisk-dev] [Code Review] chan_sip: retransmit response to BYE requests until timer J expires
Klaus Darilion
klaus.mailinglists at pernau.at
Thu Jun 17 07:02:33 CDT 2010
On 04.06.2010 22:46, David Vossel wrote:
> According to RFC 3261 section 17.2.2, which describes non-INVITE
> server transaction, when a dialog enters the Completed state it must
> destroy the dialog after Timer J (T1*64) fires. For a BYE
> transaction Asterisk terminates the dialog immediately during
> sip_hangup() when it should be waiting T1*64 ms. This results in
> some odd behavior. For instance if Asterisk receives a BYE and
> transmits a 200ok in response, if the endpoint never receives the
> 200ok it will retransmit the BYE to which Asterisk responds with a
> "481 Call leg/transaction does not exist" because the dialog is
> already gone.
Not sure if I understood it right - but this is not a problem at
"dialog" layer but at "transaction" layer.
Usually, even if the dialog is already deleted, the BYE transaction
should still be alive and retransmit the previously sent response.
But I guess this is a problem due to the missing usage of a SIP stack
(with clear distinction between transaction and dialog layer)
regards
klaus
More information about the asterisk-dev
mailing list