[asterisk-bugs] [JIRA] Commented: (ASTERISK-20375) Asterisk channel reference leak when attempting to transfer a call originated to a local channel running the Echo application

David M. Lee (JIRA) noreply at issues.asterisk.org
Wed Sep 12 11:55:07 CDT 2012


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

David M. Lee commented on ASTERISK-20375:
-----------------------------------------

I've narrowed it down to waiting for digits during a transfer. Instead of timing out as it should, under conditions we haven't been able to determine, it will essentially never time out. It will hold a reference to the channel forever while it waits for digits, which is why you eventually see the Autodestruct warnings.

aragon - If you have an IVR or some other application which waits for digits, and the caller hangs up instead of entering digits, this might be the culprit. It's just as likely, though, that something else is happening.

I'll post a patch as soon as it's ready.

> Asterisk channel reference leak when attempting to transfer a call originated to a local channel running the Echo application
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-20375
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20375
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_local, Channels/chan_sip/Interoperability
>    Affects Versions: 1.8.16.0
>            Reporter: Mark Michelson
>         Attachments: ami.pcap, asteriskcliwithwarnings.txt, gdbthreadapplyall_non_optimized.txt, ngrepami.txt, sip.pcap
>
>
> While working on a separate issue, I managed to reliably create a situation that results in a channel reference leak.
> Use the following extensions.conf:
> {noformat}
> [default]
> exten => 11,1,Answer()
> same => n,Echo()
> exten => 2301,1,Dial(Local/11 at default,,t)
> {noformat}
> 1) From the CLI issue the following command:
> {noformat}
> originate SIP/999 extension 2301 at default
> {noformat}
> where SIP/999 is a SIP phone.
> 2) Pick up SIP/999 when it starts ringing.
> 3) Press the configured attended transfer DTMF in features.conf. You will start to hear music on hold (odd).
> 4) Hang up SIP/999.
> 5) Issue a {{core show channels}} CLI command.
> You will notice that SIP/999 is still around, as are the two Local/2301 channels. Every so often, a warning message will appear
> {noformat}
> *CLI> [Sep  6 16:37:27] WARNING[610]: chan_sip.c:3918 __sip_autodestruct: Autodestruct on dialog '54200e235d36cebb6182df3d0b9ddf5f at 10.24.20.249:5060' with owner in place (Method: BYE). Rescheduling destruction for 10000 ms
> {noformat}
> Yay, you have leaking channel refs!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list