As shown in the image in dialplan Hangup() function is not invoked
can anyone please help me,
asterisk version 16.0
Is your post title is what you want to do, or it is what it is happening right now ?
that’s what i want to do
Use end_marked
option
Kick the user from the conference when the last marked user leaves
https://wiki.asterisk.org/wiki/display/AST/Asterisk+16+Configuration_app_confbridge
https://wiki.asterisk.org/wiki/display/AST/ConfBridge+Configuration
i have added
[default_user] type=user end_marked=yes
in my confbridge.conf file but it’s still not working for me @ambiorixg12
That’s not enough, also did you make sure that the user has entered to the conferece as marked and is also leaving the conferece
can you explain me in details @ambiorixg12 i didn’t understand your point
exten => 1,1,Answer()
exten => 1,n,GotoIf($["${CALLERID(num)}"!="6000"]?end)
exten => 1,n,Set(CONFBRIDGE(user,admin)=yes)
exten => 1,n,Set(CONFBRIDGE(user,marked)=yes)
exten => 1,n,Goto(conf)
exten => 1,n(end),Set(CONFBRIDGE(user,end_marked)=yes)
exten => 1,n(conf),ConfBridge(1)
Device with Caller ID num 6000 is the marked user, once that device leave the conference all the other users will be kicked out
In our use case, the last device can be anyone who has joined the conference, if among last two who are already in the conference if one of them hangup then another device should also hangup @ambiorixg12
I dont understand clearly your question to be honest, anyway I gave you a functional code, you can test and modify based on your needs
Did you ever find a solution for this? We need the same functionality. I need the conference to end anytime there is only one person left in the conference, marked or not. What I am trying to avoid is having a single user in a conference leaving the call in play if that user doesn’t hang up for some reason.
@ambiorixg12 Do you know how can i do the same as you proposed through AMI interface?
I make the conference using Confbridge application in originate command, but I don’t know how can I set the variables for the user as you did in dialplan:
exten => 1,1,Answer()
exten => 1,n,GotoIf($[“${CALLERID(num)}”!=“6000”]?end)
exten => 1,n,Set(CONFBRIDGE(user,admin)=yes)
exten => 1,n,Set(CONFBRIDGE(user,marked)=yes)
exten => 1,n,Goto(conf)
exten => 1,n(end),Set(CONFBRIDGE(user,end_marked)=yes)
exten => 1,n(conf),ConfBridge(1)
You can configure bridge profiles in /etc/asterisk/confbridge.conf
file and then choose one in the invocation of the ConfBridge() application.
I had a similar issue. You could patch asterisk code if it’s possible.
Mark all users and modify:
static void leave_marked(struct confbridge_user *user)
Instead of end_marked, does the end_marked_any option meet your needs?