generate event on asterisk dialplan if any user left confbridge -
i using confbridge in asterisk conferencing. want detect if number of user remain less or equal 1 in ongoing call terminate conference call.
i have tried this-
exten => conftest,1,system(asterisk -rx "confbridge kick ${db(conf/num)} ${db(conf/conftest)}") exten => conftest,n,set(db(conf/conftest)=${channel}) exten => conftest,n,set(id=${rand(1,500)}) exten => conftest,n,set(db(conf/num)=${id}) exten => conftest,n,set(target=conftest1) exten => conftest,n,originate(sip/${target},app,confbridge,${id},default_user) exten => conftest,n,set(target=conftest2) exten => conftest,n,originate(sip/${target},app,confbridge,${id},default_user) exten => conftest,n,macro(dialout-trunk-predial-hook-test) exten => conftest,n,confbridge(${id},,src_user) exten => conftest,n,answer() exten => conftest,n,set(i=1) exten => conftest,n,while($[${i} = 1]) exten => conftest,n,gotoif($[0${confbridge_info(parties,${id})} <= 1]?18:15) exten => conftest,n,noop(number of participants in conference call = ${confbridge_info(parties,${id})}) exten => conftest,n,wait(1000) exten => conftest,n,endwhile() exten => conftest,n,system(asterisk -rx "confbridge kick ${db(conf/num)} ${db(conf/conftest)) here lines not executing while loop.
is there thing available register hangup handler channel involve in conference call. example-
debianpc08*cli> confbridge list 1 channel user profile bridge profile menu callerid ============================= ================ ================ ================ ================ sip/conftest1-0000009c default_user default_bridge conftest1 sip/conftest2-0000009d default_user default_bridge conftest2 sip/conftest3-0000009b src_user default_bridge conftest3 here want register hangup handler channels sip/conftest1-0000009c.
you can use default hangup handler(h-extension) catch that
;record situation exten => conftest,n,set(hangup_ok=no) exten => conftest,n,confbridge(${id},,src_user) ; if user exit confbridge, clear exten => conftest,n,set(hangup_ok=yes) ; if hanguped in confbridge, exten => h,1,gotoif($[ "${hangup_ok}" == "no" ]?dosomething,s,1)
Comments
Post a Comment