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

dovid (JIRA) noreply at issues.asterisk.org
Mon Dec 7 08:41:33 CST 2015


    [ https://issues.asterisk.org/jira/browse/ASTERISK-25307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=228558#comment-228558 ] 

dovid commented on ASTERISK-25307:
----------------------------------

Based on the current patch I created one for 1.8 (which we are on) and it looks like it is doing the trick. I will test against 11 shortly.


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