[asterisk-bugs] [JIRA] (ASTERISK-26716) ari: Channels with pre-dial handlers cannot be hung up via ARI

Tom Pawelek (JIRA) noreply at issues.asterisk.org
Sat Jan 21 08:04:10 CST 2017


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

Tom Pawelek edited comment on ASTERISK-26716 at 1/21/17 8:04 AM:
-----------------------------------------------------------------

@rmudgett Thanks for the update, I will test the patch Sunday or Monday, as today I am traveling. Did you manage to reproduce the error after switching to software timers?

I am pretty sure I only added the line terminators after capturing the log for the sake of clarity - the [^ari_h_error.txt] was captured while all the debug messages were already present in the asterisk binary. I know that the "h" series logs were the very last I captured.

The referenced issue you pointed out mentioned frame-related problems caused by confbridge_recording. For what it's worth - all my bridges have a Snoop channel participant, which records the conversation. I don't know if confbridge_recording has anything to do with stasis Snooping, though.

I wonder how interception routines are different from pre-dial handlers. Both show up as "Internal Subroutine" in debug log, which suggests they use the same internals, however only the latter cause this issue to arise.


was (Author: tompaw):
@rmudgett Thanks for the update, I will test the patch Sunday or Monday, as today I am traveling.

I am pretty sure I only added the line terminators after capturing the log for the sake of clarity - the [^ari_h_error.txt] was captured while all the debug messages were already present in the asterisk binary. I know that the "h" series logs were the very last I captured.

The referenced issue you pointed out mentioned frame-related problems caused by confbridge_recording. For what it's worth - all my bridges have a Snoop channel participant, which records the conversation. I don't know if confbridge_recording has anything to do with stasis Snooping, though.

I wonder how interception routines are different from pre-dial handlers. Both show up as "Internal Subroutine" in debug log, which suggests they use the same internals, however only the latter cause this issue to arise.

> ari: Channels with pre-dial handlers cannot be hung up via ARI
> --------------------------------------------------------------
>
>                 Key: ASTERISK-26716
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26716
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_stasis
>    Affects Versions: 13.13.1
>         Environment: - platform independent -
>            Reporter: Tom Pawelek
>            Assignee: Unassigned
>         Attachments: ari_h_error, ari_h_error.txt, tmp_core.tar
>
>
> A local channel with a pre-dial handler will fail to be properly hung up in 90% of the cases - Asterisk does not send BYE/CANCEL on .hangup()
> ; Original channel
> {noformat}
> ch = client.channels.originate(endpoint="Local/12345 at cont-test", app="ari-test")
> {noformat}
> ; Dialplan
> {noformat}
> [test-handler]
> exten => testcall,1,NoOp(foo)
> exten => testcall,n,Return()
> [cont-test]
> exten => _XXX.,1,Answer()
> exten => _XXX.,n,Dial(PJSIP/bar at pstn,,b(test-handler^testcall^1(foo)))
> {noformat}
> ; Attempt to hang up
> {noformat}
> client.channels.hangup(channelId=ch_id)
> {noformat}
> Only b( ) handlers cause the issue to appear, B( ) works perfectly fine.



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



More information about the asterisk-bugs mailing list