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
confkick.php
#!/usr/bin/env php
<?php
/*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
* confkick.php
* FreePBX AGI file kicks all conference participants from the conference number received as argument
*
* Usage: Call from FreePBX dialplan using single argument with conf number to be kicked
* exten => s,n,AGI(confkick.php,1000)
*
This file has been truncated. show original
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
system
Closed
July 8, 2021, 9:15am
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.