I have a confbridge setup that feeds the conference from the ALSA
microphone input (this is the conference leader) and then uses
app_ices to send the conference audio to icecast.
I start the conference leader like this:
console dial 1000_admin at conferences
I join the ices user to the confbridge with a call file:
Channel: Local/1000 at conferences
MaxRetries: 2
RetryTime: 60
WaitTime: 30
Context: conferences
Extension: 1000_ices
Priority: 1
This all seems to work great until I need to kill the conference. My
confbridge user profile sets all users up with end_marked=yes so that
they should be kicked when the leader exits. The Local channel
doesn't seem to exit properly:
<< Hangup on console >>
-- Stopped music on hold on Local/1000 at conferences-00000000;2
-- <Local/1000 at conferences-00000000;2> Playing
'custom/thank-you.slin' (language 'en')
-- Executing [1000 at conferences:2]
Hangup("Local/1000 at conferences-00000000;2", "") in new
stack
== Spawn extension (conferences, 1000, 2) exited non-zero on
'Local/1000 at conferences-00000000;2'
== Spawn extension (conferences, 1000_ices, 4) exited non-zero on
'Local/1000 at conferences-00000000;1'
[Jun 3 07:44:27] NOTICE[18237]: pbx_spool.c:402 attempt_thread: Call
completed to Local/1000 at conferences
The bridge gets left in an odd state. Rather than the bridge being
destroyed, a "confbridge list" shows the conference is still active
with 0 users. I have to restart asterisk to clear it.
I wonder if someone might take a look at my dialplan snippet below and
see if I'm doing something wrong before I file a bug report. I'm
using Asterisk 11.4.0.
[conferences] ; {{{
; this is where normal callers enter the conference
exten =>
1000,1,ConfBridge(${EXTEN},testfone_bridge,testfone_user,testfone_user_menu)
exten => 1000,n,Hangup()
; this is where the conf leader enters
exten => 1000_admin,1,Answer()
exten => 1000_admin,n,Set(CALLERID(name)=ConfLeader)
exten => 1000_admin,n,Set(CALLERID(num)=0000001000)
exten => 1000_admin,n,Set(CONFBRIDGE(user,admin)=yes)
exten => 1000_admin,n,Set(CONFBRIDGE(user,marked)=yes)
exten => 1000_admin,n,Set(CONFBRIDGE(bridge,record_conference)=yes)
exten =>
1000_admin,n,ConfBridge(1000,testfone_bridge,testfone_user,testfone_user_menu)
exten => 1000_admin,n,Hangup()
; this is the Local channel that connects to app_ices
exten => 1000_ices,1,Answer()
exten => 1000_ices,n,Ices(/home/asterisk/asterisk-ices-1000.xml)
;exten => 1000_ices,n,Hangup()
;}}}
--
Chris