[asterisk-bugs] [JIRA] (ASTERISK-28608) ASTERISK-28143 actually broke app_amd
Michael Cargile (JIRA)
noreply at issues.asterisk.org
Tue Nov 5 11:46:32 CST 2019
[ https://issues.asterisk.org/jira/browse/ASTERISK-28608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Cargile updated ASTERISK-28608:
---------------------------------------
Attachment: amd_timeout.patch
Fixes the TIMEOUT issue in app_amd by using an actual timer rather than relying on a calculation of time based off the frames.
> ASTERISK-28143 actually broke app_amd
> -------------------------------------
>
> Key: ASTERISK-28608
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-28608
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Applications/app_amd
> Affects Versions: 13.29.1
> Reporter: Michael Cargile
> Assignee: Michael Cargile
> Labels: patch
> Attachments: amd_timeout.patch
>
>
> ASTERISK-28143 added AST_FRAME_NULL as a frame type to count in its total ms calculation which is used to determine if it has reached its timeout. The issue is that this section:
> {noformat}
> /* If we fail to read in a frame, that means they hung up */
> if (!(f = ast_read(chan))) {
> ast_verb(3, "AMD: Channel [%s]. HANGUP\n", ast_channel_name(chan));
> ast_debug(1, "Got hangup\n");
> strcpy(amdStatus, "HANGUP");
> res = 1;
> break;
> }
> {noformat}
> can return AST_FRAME_NULL at random time intervals. As such it is unreliable for calculating the time spend in app_amd. Instead an actual timer should be used to calculate the timeout.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list