35 #define MAX_CONF_NAME AST_MAX_EXTENSION 39 #define MAX_PROFILE_NAME 128 41 #define DEFAULT_USER_PROFILE "default_user" 42 #define DEFAULT_BRIDGE_PROFILE "default_bridge" 43 #define DEFAULT_MENU_PROFILE "default_menu" 46 #define DEFAULT_TALKING_THRESHOLD 160 49 #define DEFAULT_SILENCE_THRESHOLD 2500 229 char rec_options[128];
230 char rec_command[128];
struct stasis_message_type * confbridge_start_record_type(void)
get the confbridge start_record stasis message type
const char * confbridge_event_type_to_string(struct stasis_message_type *event_type)
Get the string representation of a confbridge stasis message type.
const struct user_profile * conf_find_user_profile(struct ast_channel *chan, const char *user_profile_name, struct user_profile *result)
find a user profile given a user profile's name and store that profile in result structure.
Main Channel structure associated with a channel.
Asterisk main include file. File version handling, generic pbx functions.
struct stasis_message_type * confbridge_join_type(void)
get the confbridge join stasis message type
int manager_confbridge_init(void)
register stasis message routers to handle manager events for confbridge messages
struct ast_channel * chan
int play_sound_file(struct confbridge_conference *conference, const char *filename)
Play sound file into conference bridge.
Message representing attended transfer.
int conf_reload_config(void)
reload confbridge.conf file
static unsigned char leave[]
int async_play_sound_file(struct confbridge_conference *conference, const char *filename, struct ast_channel *initiator)
Play sound file into conference bridge asynchronously.
Structure that contains features information.
struct confbridge_conference * conference
void conf_handle_second_active(struct confbridge_conference *conference)
Handle when a conference moves to having more than one active participant.
int conf_handle_only_person(struct confbridge_user *user)
Handle actions whenever an user joins an empty conference.
int conf_find_menu_entry_by_sequence(const char *dtmf_sequence, struct conf_menu *menu, struct conf_menu_entry *result)
Finds a menu_entry in a menu structure matched by DTMF sequence.
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...
struct bridge_profile_sounds * sounds
unsigned int suspended_moh
int conf_load_config(void)
load confbridge.conf file
#define AST_DECLARE_STRING_FIELDS(field_list)
Declare the fields needed in a structure.
void conf_mute_only_active(struct confbridge_conference *conference)
Attempt to mute/play MOH to the only user in the conference if they require it.
unsigned int silence_threshold
struct confbridge_user::@94 list
int conf_announce_channel_push(struct ast_channel *ast)
Push the announcer channel into the conference.
struct ast_channel * record_chan
struct stasis_message_type * confbridge_start_type(void)
get the confbridge start stasis message type
struct ast_str * orig_rec_file
void confbridge_handle_atxfer(struct ast_attended_transfer_message *msg)
Create join/leave events for attended transfers.
unsigned int announce_user_count_all_after
struct ast_taskprocessor * playback_queue
void conf_moh_start(struct confbridge_user *user)
Start MOH for the conference user.
unsigned int waitingusers
struct stasis_message_type * confbridge_leave_type(void)
get the confbridge leave stasis message type
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_destroy_config(void)
destroy the information loaded from the confbridge.conf file
General Asterisk PBX channel definitions.
void async_play_sound_ready(struct ast_channel *chan)
Indicate the initiator of an async sound file is ready for it to play.
void conf_bridge_profile_destroy(struct bridge_profile *b_profile)
Destroy a bridge profile found by 'conf_find_bridge_profile'.
void conf_handle_first_join(struct confbridge_conference *conference)
Callback to execute any time we transition from zero to one active users.
struct ao2_container * conference_bridges
Container to hold all conference bridges in progress.
#define AST_MAX_EXTENSION
void conf_ended(struct confbridge_conference *conference)
Callback to be called when the conference has become empty.
#define AST_STRING_FIELD(name)
Declare a string field.
void conf_remove_user_waiting(struct confbridge_conference *conference, struct confbridge_user *user)
Remove a conference bridge user from the waiting conference users in the conference.
A set of macros to manage forward-linked lists.
static char language[MAX_LANGUAGE]
#define MAXIMUM_DTMF_FEATURE_STRING
Maximum length of a DTMF feature string.
void conf_send_event_to_participants(struct confbridge_conference *conference, struct ast_channel *chan, struct stasis_message *msg)
Send events to bridge participants.
AST_LIST_HEAD_NOLOCK(contactliststruct, contact)
void manager_confbridge_shutdown(void)
unregister stasis message routers to handle manager events for confbridge messages ...
unsigned int maximum_sample_rate
Structure to describe a channel "technology", ie a channel driver See for examples: ...
unsigned int internal_sample_rate
void conf_menu_entry_destroy(struct conf_menu_entry *menu_entry)
Destroys and frees all the actions stored in a menu_entry structure.
struct stasis_message_type * confbridge_stop_record_type(void)
get the confbridge stop_record stasis message type
struct confbridge_state * state
int conf_handle_inactive_waitmarked(struct confbridge_user *user)
Handle actions every time a waitmarked user joins w/o a marked user present.
Structure that contains information about a bridge.
unsigned int video_update_discard
The descriptor of a dynamic string XXX storage will be optimized later if needed We use the ts field ...
void conf_bridge_profile_copy(struct bridge_profile *dst, struct bridge_profile *src)
copies a bridge profile
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.
struct ast_channel_tech * conf_record_get_tech(void)
Get ConfBridge record channel technology struct.
int func_confbridge_helper(struct ast_channel *chan, const char *cmd, char *data, const char *value)
static struct active_list active_list
int conf_handle_dtmf(struct ast_bridge_channel *bridge_channel, struct confbridge_user *user, struct conf_menu_entry *menu_entry, struct conf_menu *menu)
Once a DTMF sequence matches a sequence in the user's DTMF menu, this function will get called to per...
#define AST_LIST_ENTRY(type)
Declare a forward link structure inside a list entry.
unsigned int talking_threshold
void conf_moh_stop(struct confbridge_user *user)
Stop 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.
The structure that represents a conference bridge.
void conf_add_user_waiting(struct confbridge_conference *conference, struct confbridge_user *user)
Add a conference bridge user as an waiting user of the conference.
structure to hold users read from users.conf
const struct bridge_profile * conf_find_bridge_profile(struct ast_channel *chan, const char *bridge_profile_name, struct bridge_profile *result)
Find a bridge profile given a bridge profile's name and store that profile in result structure...
Confbridge state handling.
A conference state object to hold the various state callback functions.
Support for logging to various files, console and syslog Configuration in file logger.conf.
struct stasis_message_type * confbridge_end_type(void)
get the confbridge end stasis message type
Structure that contains information regarding a channel in a bridge.
A ast_taskprocessor structure is a singleton by name.
struct stasis_message_type * confbridge_welcome_type(void)
get the confbridge welcome stasis message type
unsigned int remb_estimated_bitrate
struct ast_channel * playback_chan
static char regcontext[AST_MAX_CONTEXT]
struct stasis_message_type * confbridge_talking_type(void)
get the confbridge talking stasis message type
struct stasis_message_type * confbridge_unmute_type(void)
get the confbridge unmute stasis message type
void conf_update_user_mute(struct confbridge_user *user)
Update the actual mute status of the user and set it on the bridge.
The structure that represents a conference bridge user.
struct ast_str * record_filename
struct stasis_message_type * confbridge_mute_type(void)
get the confbridge mute stasis message type
static struct actions actions
struct ast_channel_tech * conf_announce_get_tech(void)
Get ConfBridge announce channel technology struct.
int conf_set_menu_to_user(struct ast_channel *chan, struct confbridge_user *user, const char *menu_profile_name)
find a menu profile given a menu profile's name and apply the menu in DTMF hooks. ...
unsigned int remb_send_interval
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.
unsigned int mix_interval
Structure specific to bridge technologies capable of performing talking optimizations.
Application convenience functions, designed to give consistent look and feel to Asterisk apps...
struct confbridge_conference * conf_find_bridge(const char *conference_name)
Find a confbridge by name.
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...
struct ast_bridge * bridge