[asterisk-bugs] [JIRA] (ASTERISK-23736) Async AGI loop breaks when AGI command returns FAILURE

Chico Manobela (JIRA) noreply at issues.asterisk.org
Tue May 13 01:17:43 CDT 2014


     [ https://issues.asterisk.org/jira/browse/ASTERISK-23736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chico Manobela updated ASTERISK-23736:
--------------------------------------

    Description: 
trying to stream a non existent file using AsyncAGI results in AsyncAGI loop breaks and control returns to dial plan.

to reproduce:
1. start async agi loop on call - AGI(agi:async)
2. from the cli try to stream file that doesn't exists:
{noformat}
asterisk*CLI> agi exec SIP/192.168.10.22-00000020 "STREAM FILE x 5"
{noformat}
Asterisk will print the normal warning:
{noformat}
[May  8 11:24:58] WARNING[6805][C-00000020]: file.c:701 ast_openstream_full: File x does not exist in any format
<SIP/192.168.10.22-00000020>AGI Tx >> 200 result=-1 endpos=0
    -- Executing [talk at pbxtel-incoming-async:3] 
{noformat}
Next thing asterisk does is to stop the loop and continue the dial plan:
{noformat}
Hangup("SIP/192.168.10.22-00000020", "") in new stack
  == Spawn extension (pbxtel-incoming-async, talk, 3) exited non-zero on 'SIP/192.168.10.22-00000020'
{noformat}

Since Asterisk 1.6 AGI script should continue to execute even after hangup, the behavior for AGI and AsyncAGI should be as similar as possible.
AgiExec event has the information needed for the user to take action.
The only thing that should stop the AsyncAgi script is async agi break request from the AMI.

  was:
trying to stream a non existent file using AsyncAGI results in AsyncAGI loop breaks and  control returns to dial plan.

to reproduce:
1. start async agi loop on call - AGI(agi:async)
2. from the cli try to stream file that doesn't exists:
{noformat}
asterisk*CLI> agi exec SIP/192.168.10.22-00000020 "STREAM FILE x 5"
{noformat}
Asterisk will print the normal warning:
{noformat}
[May  8 11:24:58] WARNING[6805][C-00000020]: file.c:701 ast_openstream_full: File x does not exist in any format
<SIP/192.168.10.22-00000020>AGI Tx >> 200 result=-1 endpos=0
    -- Executing [talk at pbxtel-incoming-async:3] 
{noformat}
Next thing asterisk does is to stop the loop and continue the dial plan:
{noformat}
Hangup("SIP/192.168.10.22-00000020", "") in new stack
  == Spawn extension (pbxtel-incoming-async, talk, 3) exited non-zero on 'SIP/192.168.10.22-00000020'
{noformat}


> Async AGI loop breaks when AGI command returns FAILURE
> ------------------------------------------------------
>
>                 Key: ASTERISK-23736
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-23736
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_agi
>    Affects Versions: SVN, 1.8.27.0, 11.9.0, 12.2.0
>         Environment: CentOS 5
>            Reporter: Chico Manobela
>            Severity: Critical
>
> trying to stream a non existent file using AsyncAGI results in AsyncAGI loop breaks and control returns to dial plan.
> to reproduce:
> 1. start async agi loop on call - AGI(agi:async)
> 2. from the cli try to stream file that doesn't exists:
> {noformat}
> asterisk*CLI> agi exec SIP/192.168.10.22-00000020 "STREAM FILE x 5"
> {noformat}
> Asterisk will print the normal warning:
> {noformat}
> [May  8 11:24:58] WARNING[6805][C-00000020]: file.c:701 ast_openstream_full: File x does not exist in any format
> <SIP/192.168.10.22-00000020>AGI Tx >> 200 result=-1 endpos=0
>     -- Executing [talk at pbxtel-incoming-async:3] 
> {noformat}
> Next thing asterisk does is to stop the loop and continue the dial plan:
> {noformat}
> Hangup("SIP/192.168.10.22-00000020", "") in new stack
>   == Spawn extension (pbxtel-incoming-async, talk, 3) exited non-zero on 'SIP/192.168.10.22-00000020'
> {noformat}
> Since Asterisk 1.6 AGI script should continue to execute even after hangup, the behavior for AGI and AsyncAGI should be as similar as possible.
> AgiExec event has the information needed for the user to take action.
> The only thing that should stop the AsyncAgi script is async agi break request from the AMI.



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



More information about the asterisk-bugs mailing list