47 .
name =
"MULTI_MARKED",
73 if (
user->conference->activeusers == 1) {
119 switch (
user->conference->activeusers) {
122 switch (
user->conference->waitingusers) {
132 switch (
user->conference->markedusers) {
139 switch (
user->conference->waitingusers) {
150 switch (
user->conference->markedusers) {
195 int waitmarked_moved = 0;
200 user->conference->waitingusers--;
202 user->conference->activeusers++;
212 if (
user->conference->markedusers == 1
215 && waitmarked_moved) {
void conf_moh_stop(struct confbridge_user *user)
Stop MOH for the conference user.
void conf_add_user_active(struct confbridge_conference *conference, struct confbridge_user *user)
Add a conference bridge user as an unmarked active user of the conference.
const char * conf_get_sound(enum conf_sounds sound, struct bridge_profile_sounds *custom_sounds)
Looks to see if sound file is stored in bridge profile sounds, if not default sound is provided.
void conf_add_user_marked(struct confbridge_conference *conference, struct confbridge_user *user)
Add a conference bridge user as a marked active user of the conference.
int async_play_sound_file(struct confbridge_conference *conference, const char *filename, struct ast_channel *initiator)
Play sound file into conference bridge asynchronously.
int play_sound_file(struct confbridge_conference *conference, const char *filename)
Play sound file into conference bridge.
void conf_remove_user_marked(struct confbridge_conference *conference, struct confbridge_user *user)
Remove a conference bridge user from the marked active conference users in the conference.
void conf_update_user_mute(struct confbridge_user *user)
Update the actual mute status of the user and set it on the bridge.
int conf_add_post_join_action(struct confbridge_user *user, int(*func)(struct confbridge_user *user))
Queue a function to run with the given conference bridge user as an argument once the state transitio...
void conf_moh_start(struct confbridge_user *user)
Start MOH for the conference user.
void conf_remove_user_active(struct confbridge_conference *conference, struct confbridge_user *user)
Remove a conference bridge user from the unmarked active conference users in the conference.
Asterisk main include file. File version handling, generic pbx functions.
int ast_bridge_remove(struct ast_bridge *bridge, struct ast_channel *chan)
Remove a channel from a bridge.
int ast_autoservice_stop(struct ast_channel *chan)
Stop servicing a channel for us...
int ast_autoservice_start(struct ast_channel *chan)
Automatically service a channel for us...
void conf_change_state(struct confbridge_user *user, struct confbridge_state *newstate)
Execute conference state transition because of a user action.
Confbridge state handling.
struct confbridge_state * CONF_STATE_EMPTY
Conference state with no active or waiting users.
struct confbridge_state * CONF_STATE_INACTIVE
Conference state with only waiting users.
struct confbridge_state * CONF_STATE_MULTI
Conference state with multiple active users, but no marked users.
static void leave_active(struct confbridge_user *user)
static void leave_marked(struct confbridge_user *user)
static void transition_to_marked(struct confbridge_user *user)
static int post_join_play_begin(struct confbridge_user *user)
struct confbridge_state * CONF_STATE_MULTI_MARKED
Conference state with multiple active users and at least one marked user.
static struct confbridge_state STATE_MULTI_MARKED
static void join_active(struct confbridge_user *user)
static void join_marked(struct confbridge_user *user)
struct confbridge_state * CONF_STATE_SINGLE
Conference state with only a single unmarked active user.
struct confbridge_state * CONF_STATE_SINGLE_MARKED
Conference state with only a single marked active user.
@ CONF_SOUND_LEADER_HAS_LEFT
A set of macros to manage forward-linked lists.
#define AST_LIST_TRAVERSE(head, var, field)
Loops over (traverses) the entries in a list.
#define AST_LIST_INSERT_TAIL(head, elm, field)
Appends a list entry to the tail of a list.
#define AST_LIST_TRAVERSE_SAFE_END
Closes a safe loop traversal block.
#define AST_LIST_TRAVERSE_SAFE_BEGIN(head, var, field)
Loops safely over (traverses) the entries in a list.
#define AST_LIST_REMOVE_CURRENT(field)
Removes the current entry from a list during a traversal.
Core PBX routines and definitions.
int pbx_builtin_setvar_helper(struct ast_channel *chan, const char *name, const char *value)
Add a variable to the channel variable stack, removing the most recently set value for the same name.
struct ast_bridge * bridge
unsigned int waitingusers
struct confbridge_conference::@95 waiting_list
A conference state object to hold the various state callback functions.
The structure that represents a conference bridge user.
struct confbridge_conference * conference
struct confbridge_user::@98 list
struct ast_channel * chan
struct user_profile u_profile
structure to hold users read from users.conf
#define ast_test_flag(p, flag)