Any way to end ConfBridge if one marked user leave(not all marked users)

We are now using ConfBridge but I have 1 problem.

Let’s say there are 2 or more marked users at the conference. then, we’d like to end the conference if one marked user exists.
In the current Asterisk specification, it’s possible to end the conference if all marked users exit.

Should we use AGI script? It’s better if there is an option for this.

You should be able to terminate any participating channel at any time.

I’ve done this before with an AGI. This one is for FreePBX, but all it does is sends the AMI command to kill the conference

Thank you so much for your comment.
Finally, we solved the problem, by detecting the end of the conference call.

Like this, we change the extensions for the marked users and non-marked users.
For the marked users, it executes a hangup event for kick conference.

extensions.conf

[exten-for-marked-user]
exten => _XXXXXXXXXXX,1,Set(CALLTO=${EXTEN})
same=n,Set(CONFNO=${EXTEN})
same => n,Set(CHANNEL(hangup_handler_push)=finish_confbridge,s,1(args)); 
same=n,AGI(confbridge_call.py)
same=n,ConfBridge(${EXTEN})
same=n,System(/sbin/asterisk -rx "confbridge kick ${EXTEN} all")

[finish_confbridge]
exten => s,1,System(/sbin/asterisk -rx "confbridge kick ${CONFNO} all")
same=>n,Return()

[exten-for-non-marked-user]
exten => _XXXXXXXXXXX,1,Set(CALLTO=${EXTEN})
same=n,Set(CONFNO=${EXTEN})
same=n,ConfBridge(${EXTEN})
1 Like