Channel Originate Leaving a Zombie

Im currently playing a message to a conference bridge on hangup using channel originate:

$AGI -> exec(“originate”, “local/$bridgeNo@conf-ann,app,Playback,$files”);

It works fine but after the message is done it leaves behind this channel indefinitely:

Local/05@conf-ann-00000002;2!conf-ann!05!1!Up!ConfBridge!05,t1x-bridge!!!3!4!(None)!1454908612.6

Any ideas?

What version of Asterisk and can you provide the complete console output?

Version 11.20.0.

That was the output:

asterisk -x "core show channels concise"
Local/05@conf-ann-00000002;2!conf-ann!05!1!Up!ConfBridge!05,t1x-bridge!!!3!43841!(None)!1454908737.6

Its been there for 43,841 seconds now

It only leaves it behind if I hangup abruptly. If I exit the conference and stay on-line it cleans it up.

That’s the result of a CLI command, not the complete console output when you are doing all of this. The complete view would help.

Tell me if this helps:

console output

Ignore these:

file.c:701 ast_openstream_full: File null does not exist in any format

Thats because I use ‘sound_join=null’ because there is no other way to not play those sounds since Asterisk does not honor ‘quiet=yes’ for every sound.

Not really, the verbose level is too low. “core set verbose 9” would up it.

Ok, same link. I edited out the setting of the globals.

It sure would be better if it didn’t spew this crap constantly:

-- Remote UNIX connection
-- Remote UNIX connection disconnected
-- Remote UNIX connection
-- Remote UNIX connection disconnected
-- Remote UNIX connection
-- Remote UNIX connection disconnected
-- Remote UNIX connection
-- Remote UNIX connection disconnected

That’s your own doing. It is the result of repeatedly invoking asterisk -r. As that involves loading the Asterisk binary every time, it is also quite an expensive thing to do.

@david551 Im currently looking into AMI. I assume this is an acceptable alternative.

AMI is much lighter weight.

Any ideas on my original problem? Its been days and I can not find a solution. Im even forking an app in the background on hangup which creates a .call file to play the files to the conference and it still leaves that channel around.

We’re still waiting for adequate logging.

I provided all the logging requested at this link I’m not sure what other logging I can provide.

I figured out my problem. It was because I was not using Answer and Hangup in the dial plan.

In case anyone cares heres how I play audio files to a conference now:

[conf-announce]
exten => s,1,NoOp
same => n,Answer
same => n,ConfBridge(${ARG1},bridge-profile,user-profile)
same => n,Hangup
same => e,Hangup

Then create a .call file (/tmp/test.call)

Channel: Local/s@conf-announce
Set: ARG1=BRIDGE_NUMBER
Application: Playback
Data: /path/to/audio/file1&/path/to/audio/file2

then move the call file: mv /tmp/test.call /var/spool/asterisk/outgoing/

everything is great now.