[asterisk-bugs] [JIRA] (ASTERISK-25307) Hangup on channel using FastAGI does not hang up child channels

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Fri Dec 4 17:54:32 CST 2015


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

Richard Mudgett updated ASTERISK-25307:
---------------------------------------

    Attachment: jira_asterisk_25307_v11_test.patch

[^jira_asterisk_25307_v11_test.patch] - This patch adds a caller hungup check early in app_dial to abort dialing.  The patch is against the latest v11 branch.

Please test to see if this fixes the reported problem.  You can search the logs for the error message {{BUGBUG Caller hung up before dial.}} to know if the patch aborted a call because the caller hung up before the Dial application executed.

> Hangup on channel using FastAGI does not hang up child channels
> ---------------------------------------------------------------
>
>                 Key: ASTERISK-25307
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25307
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/General
>    Affects Versions: 11.4.0
>         Environment: CentOS 6.6, 64 bit
>            Reporter: David Cunningham
>         Attachments: hangup1.txt.gz, jira_asterisk_25307_v11_test.patch
>
>
> We have the following scenario:
> 1. Call comes in to [from-internal] context in Asterisk, FastAGI is called.
> 2. While AGI is processing call the caller hangs up. In Asterisk trace we see the CANCEL and a HANGUP received on the channel.
> 3. AGI implements a hunt group by doing Dial() on multiple Local channels, one for each destination.
> 4. Asterisk calls FastAGI for each hunt group destination.
> 5. AGI for each destination does a Dial() to a SIP destination to call telephone.
> 6. Telephones all ring.
> 7. When one telephone answers it's call immediately drops, and the other telephones stop ringing.
> Our question is why the Dial() at step 3, or even at step 5, does not immediately exit (presumably with a DIALSTATUS of CANCEL).
> We do try to detect the hangup within the AGI and exit before doing the Dial(), but however close we get it there's always a chance of a CANCEL being received between our check and the Dial(). But why does the Dial() run instead of immediately exiting?
> Thank you.



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



More information about the asterisk-bugs mailing list