[Home]

Summary:ASTERISK-08292: 487 retransmits are not ACKed
Reporter:hristo (hristo)Labels:
Date Opened:2006-12-06 08:38:13.000-0600Date Closed:2006-12-07 04:43:57.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 487-retransmit-no-ack.txt
Description:If Asterisk sends CANCEL for a call leg and gets back 487 the first 487 will get ACKed, but any 487 retransmits are never ACKed.

Call flow:
Asterisk -> OpenSER INVITE
OpenSER -> Asterisk 100 Trying
Asterisk -> OpenSER CANCEL
OpenSER -> Asterisk 200 Canceling
OpenSER -> Asterisk 487 Request Cancelled
Asterisk -> OpenSER ACK
OpenSER -> Asterisk 487 Request Cancelled
OpenSER -> Asterisk 487 Request Cancelled
OpenSER -> Asterisk 487 Request Cancelled

****** ADDITIONAL INFORMATION ******

Attached SIP debug.
The reason for the retransmits is actually in OpenSER, nevertheless they should get ACKed by Asterisk, shouldn't they?
Comments:By: Olle Johansson (oej) 2006-12-06 09:24:57.000-0600

I agree, this is clearly a bug.

By: Olle Johansson (oej) 2006-12-06 09:26:29.000-0600

There's another issue here:

[Dec  5 22:45:34] DEBUG[15126]: chan_sip.c:14618 sipsock_read: Invalid SIP message - rejected , no callid, len 441

By: Olle Johansson (oej) 2006-12-06 09:29:49.000-0600

The dialog is immediately deleted after sending the ACK, it should be kept for 32 secs for retransmits.

By: Olle Johansson (oej) 2006-12-06 10:27:22.000-0600

This applies to 1.2 too.
Possible fix committed to 1.2 rev 48320, for 1.4, rev 48326.

Please test again. I am not 100% sure, but it was a fine patch :-)

By: hristo (hristo) 2006-12-06 16:11:45.000-0600

Tested with 1.4 r48326 - problem is fixed 100%.
Unfortunately, I'm unable to test the 1.2 branch.

By: Olle Johansson (oej) 2006-12-07 04:43:57.000-0600

Thanks for reporting back!