[asterisk-bugs] [JIRA] (ASTERISK-28608) ASTERISK-28143 actually broke app_amd

Michael Cargile (JIRA) noreply at issues.asterisk.org
Tue Nov 5 11:43:31 CST 2019


Michael Cargile created ASTERISK-28608:
------------------------------------------

             Summary: 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


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