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

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -