[asterisk-bugs] [JIRA] (ASTERISK-27396) Hangup not processed until voicemail timeout

Gary Barnes (JIRA) noreply at issues.asterisk.org
Mon Nov 6 12:55:28 CST 2017


Gary Barnes created ASTERISK-27396:
--------------------------------------

             Summary: Hangup not processed until voicemail timeout
                 Key: ASTERISK-27396
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27396
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Applications/app_record
    Affects Versions: 15.1.0, 13.7.2
         Environment: AWS Linux
            Reporter: Gary Barnes


Using Asterisk 13.7.2, however the code is still the same in 15.1.0 therefore it is believed to still be an issue in 15.1 however it has yet to be verified as still active.

Call plan is set to 20 seconds (can be any real duration), once ring time expires it is set to go to voicemail, however the caller hangs up just prior to the ring time duration.

There is a 0.4 second window where this issue is prevalent and easy to reproduce.
Example: 20 second ring duration, caller hangs up between 19.4 - 19.7 seconds, then the call stays connected from the Asterisk perspective until the voicemail timeout occurs. The Voicemail audio file will contain only what appears to be a header, no body, and the voicemail duration is reported as the timeout length (in our case timeout is set for 600 seconds). 

To test I made 550 calls total, 10 concurrent calls, 1 call start per second, increasing the duration of the call by 0.1 seconds every 50th call. The failure dispersal pattern was as follows from 19.0 to 20.0 ring duration: 0, 0, 0, 9, 48, 50, 50, 44, 5, 5, 0. As you can see the failure rate between 19.4 and 19.7 seconds is 96% failure.

While this situation is hard to hit, with over 25k calls processed per day we see 15 to 25 of these per day.

In app_record.c, it is running an "ast_waitfor()" function on the channel for that entire duration waiting for a frame. Since the channel is down, there is no frame being sent, so it waits the full ten minutes before breaking out of the while loop.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list