Asterisk - The Open Source Telephony Project
18.5.0
|
ConfBridge config parser. More...
#include "asterisk.h"
#include "asterisk/logger.h"
#include "asterisk/config.h"
#include "asterisk/config_options.h"
#include "include/confbridge.h"
#include "asterisk/astobj2.h"
#include "asterisk/cli.h"
#include "asterisk/bridge_features.h"
#include "asterisk/stringfields.h"
#include "asterisk/pbx.h"
Go to the source code of this file.
Data Structures | |
struct | confbridge_cfg |
struct | dtmf_menu_hook_pvt |
struct | func_confbridge_data |
Functions | |
static int | add_action_to_menu_entry (struct conf_menu_entry *menu_entry, enum conf_menu_action_id id, char *databuf) |
static int | add_menu_entry (struct conf_menu *menu, const char *dtmf, const char *action_names) |
static int | announce_user_count_all_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static | AO2_GLOBAL_OBJ_STATIC (cfg_handle) |
static int | apply_menu_to_user (struct confbridge_user *user, struct conf_menu *menu) |
static int | bridge_cmp_cb (void *obj, void *arg, int flags) |
static int | bridge_hash_cb (const void *obj, const int flags) |
static void * | bridge_profile_alloc (const char *category) |
static void | bridge_profile_destructor (void *obj) |
static void * | bridge_profile_find (struct ao2_container *container, const char *category) |
static struct bridge_profile_sounds * | bridge_profile_sounds_alloc (void) |
static void | bridge_profile_sounds_destroy_cb (void *obj) |
static int | bridge_template_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static char * | complete_bridge_profile_name (const char *line, const char *word, int pos, int state) |
static char * | complete_menu_name (const char *line, const char *word, int pos, int state) |
static char * | complete_user_profile_name (const char *line, const char *word, int pos, int state) |
void | conf_bridge_profile_copy (struct bridge_profile *dst, struct bridge_profile *src) |
copies a bridge profile More... | |
void | conf_bridge_profile_destroy (struct bridge_profile *b_profile) |
Destroy a bridge profile found by 'conf_find_bridge_profile'. More... | |
void | conf_destroy_config (void) |
destroy the information loaded from the confbridge.conf file More... | |
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. More... | |
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. More... | |
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. More... | |
int | conf_load_config (void) |
load confbridge.conf file More... | |
void | conf_menu_entry_destroy (struct conf_menu_entry *menu_entry) |
Destroys and frees all the actions stored in a menu_entry structure. More... | |
static int | conf_menu_profile_copy (struct conf_menu *dst, struct conf_menu *src) |
int | conf_reload_config (void) |
reload confbridge.conf file More... | |
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. More... | |
static void | conf_user_profile_copy (struct user_profile *dst, struct user_profile *src) |
static void * | confbridge_cfg_alloc (void) |
static void | confbridge_cfg_destructor (void *obj) |
CONFIG_INFO_STANDARD (cfg_info, cfg_handle, confbridge_cfg_alloc,.files=ACO_FILES(&confbridge_conf),.pre_apply_config=verify_default_profiles,) | |
static int | copy_menu_entry (struct conf_menu_entry *dst, struct conf_menu_entry *src) |
static void | func_confbridge_data_destructor (struct func_confbridge_data *b_data) |
static void | func_confbridge_destroy_cb (void *data) |
int | func_confbridge_helper (struct ast_channel *chan, const char *cmd, char *data, const char *value) |
static char * | handle_cli_confbridge_show_bridge_profile (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_confbridge_show_bridge_profiles (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_confbridge_show_menu (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_confbridge_show_menus (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_confbridge_show_user_profile (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_confbridge_show_user_profiles (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static void * | menu_alloc (const char *category) |
static int | menu_cmp_cb (void *obj, void *arg, int flags) |
static void | menu_destructor (void *obj) |
static void * | menu_find (struct ao2_container *container, const char *category) |
static int | menu_hash_cb (const void *obj, const int flags) |
static int | menu_hook_callback (struct ast_bridge_channel *bridge_channel, void *hook_pvt) |
static void | menu_hook_destroy (void *hook_pvt) |
static int | menu_option_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | menu_template_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | mix_interval_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | remb_behavior_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | set_sound (const char *sound_name, const char *sound_file, struct bridge_profile *b_profile) |
static int | sound_option_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | user_cmp_cb (void *obj, void *arg, int flags) |
static int | user_hash_cb (const void *obj, const int flags) |
static void * | user_profile_alloc (const char *category) |
static void | user_profile_destructor (void *obj) |
static void * | user_profile_find (struct ao2_container *container, const char *category) |
static int | user_template_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | verify_default_profiles (void) |
static int | video_mode_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
Variables | |
static struct aco_type | bridge_type |
static struct aco_type * | bridge_types [] = ACO_TYPES(&bridge_type) |
static struct ast_cli_entry | cli_confbridge_parser [] |
static struct aco_file | confbridge_conf |
static const struct ast_datastore_info | confbridge_datastore |
static struct aco_type | general_type |
static struct aco_type | menu_type |
static struct aco_type * | menu_types [] = ACO_TYPES(&menu_type) |
static struct aco_type | user_type |
static struct aco_type * | user_types [] = ACO_TYPES(&user_type) |
ConfBridge config parser.
Definition in file conf_config_parser.c.
|
static |
Definition at line 1255 of file conf_config_parser.c.
References conf_menu_entry::actions, args, AST_APP_ARG, ast_calloc, ast_copy_string(), AST_DECLARE_APP_ARGS, ast_free, AST_LIST_INSERT_TAIL, AST_STANDARD_APP_ARGS, ast_strlen_zero, context, conf_menu_action::data, conf_menu_action::dialplan_args, exten, conf_menu_action::id, id, MENU_ACTION_ADMIN_KICK_LAST, MENU_ACTION_ADMIN_TOGGLE_LOCK, MENU_ACTION_ADMIN_TOGGLE_MUTE_PARTICIPANTS, MENU_ACTION_DECREASE_LISTENING, MENU_ACTION_DECREASE_TALKING, MENU_ACTION_DIALPLAN_EXEC, MENU_ACTION_INCREASE_LISTENING, MENU_ACTION_INCREASE_TALKING, MENU_ACTION_LEAVE, MENU_ACTION_NOOP, MENU_ACTION_PARTICIPANT_COUNT, MENU_ACTION_PLAYBACK, MENU_ACTION_PLAYBACK_AND_CONTINUE, MENU_ACTION_RELEASE_SINGLE_VIDEO_SRC, MENU_ACTION_RESET_LISTENING, MENU_ACTION_RESET_TALKING, MENU_ACTION_SET_SINGLE_VIDEO_SRC, MENU_ACTION_TOGGLE_BINAURAL, MENU_ACTION_TOGGLE_MUTE, conf_menu_action::playback_file, and priority.
Referenced by add_menu_entry().
|
static |
Definition at line 1327 of file conf_config_parser.c.
References conf_menu_entry::actions, add_action_to_menu_entry(), ast_calloc, ast_copy_string(), ast_free, AST_LIST_INSERT_TAIL, AST_LIST_REMOVE_CURRENT, AST_LIST_REMOVE_HEAD, AST_LIST_TRAVERSE_SAFE_BEGIN, AST_LIST_TRAVERSE_SAFE_END, ast_strdupa, ast_strip(), ast_strlen_zero, buf, conf_menu_entry::dtmf, conf_menu::entries, MENU_ACTION_ADMIN_KICK_LAST, MENU_ACTION_ADMIN_TOGGLE_LOCK, MENU_ACTION_ADMIN_TOGGLE_MUTE_PARTICIPANTS, MENU_ACTION_DECREASE_LISTENING, MENU_ACTION_DECREASE_TALKING, MENU_ACTION_DIALPLAN_EXEC, MENU_ACTION_INCREASE_LISTENING, MENU_ACTION_INCREASE_TALKING, MENU_ACTION_LEAVE, MENU_ACTION_NOOP, MENU_ACTION_PARTICIPANT_COUNT, MENU_ACTION_PLAYBACK, MENU_ACTION_PLAYBACK_AND_CONTINUE, MENU_ACTION_RELEASE_SINGLE_VIDEO_SRC, MENU_ACTION_RESET_LISTENING, MENU_ACTION_RESET_TALKING, MENU_ACTION_SET_SINGLE_VIDEO_SRC, MENU_ACTION_TOGGLE_BINAURAL, MENU_ACTION_TOGGLE_MUTE, NULL, PATH_MAX, strsep(), and tmp().
Referenced by menu_option_handler().
|
static |
Definition at line 2082 of file conf_config_parser.c.
References user_profile::announce_user_count_all_after, ast_false(), ast_true(), user_profile::flags, ast_variable::name, USER_OPT_ANNOUNCEUSERCOUNTALL, and ast_variable::value.
Referenced by conf_load_config().
|
static |
|
static |
Definition at line 2627 of file conf_config_parser.c.
References ao2_bump, ast_bridge_dtmf_hook(), ast_calloc, AST_LIST_TRAVERSE, copy_menu_entry(), conf_menu_entry::dtmf, conf_menu::entries, confbridge_user::features, dtmf_menu_hook_pvt::menu, dtmf_menu_hook_pvt::menu_entry, menu_hook_callback(), menu_hook_destroy(), confbridge_user::menu_name, conf_menu::name, SCOPED_AO2LOCK, user, and dtmf_menu_hook_pvt::user.
Referenced by conf_set_menu_to_user().
|
static |
bridge profile container functions
Definition at line 847 of file conf_config_parser.c.
References CMP_MATCH, bridge_profile::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by confbridge_cfg_alloc().
|
static |
Definition at line 869 of file conf_config_parser.c.
References ast_assert, ast_str_case_hash(), name, bridge_profile::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by confbridge_cfg_alloc().
|
static |
Definition at line 716 of file conf_config_parser.c.
References ao2_alloc, ao2_ref, ast_copy_string(), bridge_profile_destructor(), bridge_profile_sounds_alloc(), bridge_profile::name, NULL, and bridge_profile::sounds.
Referenced by verify_default_profiles().
|
static |
Definition at line 710 of file conf_config_parser.c.
References ao2_cleanup, and bridge_profile::sounds.
Referenced by bridge_profile_alloc().
|
static |
|
static |
Definition at line 1002 of file conf_config_parser.c.
References ao2_alloc, ao2_ref, ast_string_field_init, bridge_profile_sounds_destroy_cb(), NULL, and sounds.
Referenced by bridge_profile_alloc(), bridge_template_handler(), and func_confbridge_helper().
|
static |
Bridge Profile Sounds functions
Definition at line 996 of file conf_config_parser.c.
References ast_string_field_free_memory, and sounds.
Referenced by bridge_profile_sounds_alloc().
|
static |
Definition at line 2213 of file conf_config_parser.c.
References ao2_ref, ast_string_field_set, bridge_profile_sounds::begin, bridge_profile_sounds_alloc(), conf_find_bridge_profile(), bridge_profile_sounds::errormenu, bridge_profile_sounds::getpin, bridge_profile_sounds::hasjoin, bridge_profile_sounds::hasleft, bridge_profile_sounds::invalidpin, bridge_profile_sounds::join, bridge_profile_sounds::kicked, bridge_profile_sounds::leaderhasleft, leave, bridge_profile_sounds::leave, bridge_profile_sounds::locked, bridge_profile_sounds::lockednow, muted, bridge_profile_sounds::muted, NULL, bridge_profile_sounds::onlyone, bridge_profile_sounds::onlyperson, bridge_profile_sounds::otherinparty, bridge_profile_sounds::participantsmuted, bridge_profile_sounds::participantsunmuted, bridge_profile_sounds::placeintoconf, sounds, bridge_profile::sounds, bridge_profile_sounds::thereare, bridge_profile_sounds::unlockednow, bridge_profile_sounds::unmuted, ast_variable::value, and bridge_profile_sounds::waitforleader.
Referenced by conf_load_config().
|
static |
Definition at line 1626 of file conf_config_parser.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_strdup, cfg_handle, bridge_profile::name, NULL, and RAII_VAR.
Referenced by handle_cli_confbridge_show_bridge_profile().
|
static |
Definition at line 1858 of file conf_config_parser.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_strdup, cfg_handle, conf_menu::name, NULL, and RAII_VAR.
Referenced by handle_cli_confbridge_show_menu().
|
static |
Definition at line 1463 of file conf_config_parser.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_strdup, cfg_handle, user_profile::name, NULL, and RAII_VAR.
Referenced by handle_cli_confbridge_show_user_profile().
void conf_bridge_profile_copy | ( | struct bridge_profile * | dst, |
struct bridge_profile * | src | ||
) |
copies a bridge profile
Definition at line 2523 of file conf_config_parser.c.
References ao2_ref, and bridge_profile::sounds.
Referenced by conf_find_bridge_profile(), and join_conference_bridge().
void conf_bridge_profile_destroy | ( | struct bridge_profile * | b_profile | ) |
Destroy a bridge profile found by 'conf_find_bridge_profile'.
Definition at line 2531 of file conf_config_parser.c.
References ao2_ref, NULL, and bridge_profile::sounds.
Referenced by confbridge_exec(), destroy_conference_bridge(), func_confbridge_data_destructor(), func_confbridge_helper(), and handle_cli_confbridge_show_bridge_profile().
void conf_destroy_config | ( | void | ) |
destroy the information loaded from the confbridge.conf file
Definition at line 2694 of file conf_config_parser.c.
References aco_info_destroy(), ao2_global_obj_release, ARRAY_LEN, ast_cli_unregister_multiple(), and cfg_handle.
Referenced by conf_load_config(), and unload_module().
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.
chan | channel the bridge profile is requested for |
bridge_profile_name | name of the profile requested (optional) |
result | data contained by the bridge profile will be copied to this struct pointer |
If bridge_profile_name is not provided, this function will check for the presence of a bridge profile set by the CONFBRIDGE function on a channel datastore. If that doesn't exist, the default_bridge profile is used.
bridge | profile on success |
NULL | on failure |
Definition at line 2539 of file conf_config_parser.c.
References ao2_cleanup, ao2_find, ao2_global_obj_ref, ao2_lock, ao2_ref, ao2_unlock, ast_channel_datastore_find(), ast_channel_lock, ast_channel_unlock, ast_strlen_zero, func_confbridge_data::b_profile, func_confbridge_data::b_usable, cfg_handle, conf_bridge_profile_copy(), ast_datastore::data, DEFAULT_BRIDGE_PROFILE, NULL, OBJ_KEY, RAII_VAR, and result.
Referenced by bridge_template_handler(), confbridge_exec(), and handle_cli_confbridge_show_bridge_profile().
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.
1 | success, entry is found and stored in result |
0 | failure, no entry found for given DTMF sequence |
Definition at line 2610 of file conf_config_parser.c.
References ao2_lock, ao2_unlock, AST_LIST_TRAVERSE, copy_menu_entry(), conf_menu_entry::dtmf, conf_menu::entries, and NULL.
Referenced by action_playback_and_continue().
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.
chan | channel the user profile is requested for |
user_profile_name | name of the profile requested (optional) |
result | data contained by the user profile will be copied to this struct pointer |
If user_profile_name is not provided, this function will check for the presence of a user profile set by the CONFBRIDGE function on a channel datastore. If that doesn't exist, the default_user profile is used.
user | profile on success |
NULL | on failure |
Definition at line 2486 of file conf_config_parser.c.
References ao2_cleanup, ao2_find, ao2_global_obj_ref, ao2_lock, ao2_ref, ao2_unlock, ast_channel_datastore_find(), ast_channel_lock, ast_channel_unlock, ast_strlen_zero, cfg_handle, conf_user_profile_copy(), ast_datastore::data, DEFAULT_USER_PROFILE, NULL, OBJ_KEY, RAII_VAR, result, func_confbridge_data::u_profile, and func_confbridge_data::u_usable.
Referenced by conf_send_event_to_participants(), confbridge_exec(), handle_cli_confbridge_show_user_profile(), and user_template_handler().
int conf_load_config | ( | void | ) |
load confbridge.conf file
Definition at line 2384 of file conf_config_parser.c.
References __stringify, ACO_EXACT, aco_info_init(), aco_option_register, aco_option_register_custom, ACO_PREFIX, aco_process_config(), ACO_PROCESS_ERROR, ACO_REGEX, announce_user_count_all_handler(), ARRAY_LEN, ast_cli_register_multiple, BRIDGE_OPT_BINAURAL_ACTIVE, BRIDGE_OPT_ENABLE_EVENTS, BRIDGE_OPT_RECORD_CONFERENCE, BRIDGE_OPT_RECORD_FILE_APPEND, BRIDGE_OPT_RECORD_FILE_TIMESTAMP, bridge_template_handler(), CHARFLDSET, conf_destroy_config(), DEFAULT_SILENCE_THRESHOLD, DEFAULT_TALKING_THRESHOLD, error(), FLDSET, language, menu_option_handler(), menu_template_handler(), mix_interval_handler(), NULL, OPT_BOOLFLAG_T, OPT_CHAR_ARRAY_T, OPT_NOOP_T, OPT_UINT_T, PARSE_DEFAULT, regcontext, remb_behavior_handler(), sound_option_handler(), timeout, USER_OPT_ADMIN, USER_OPT_ANNOUNCE_JOIN_LEAVE, USER_OPT_ANNOUNCE_JOIN_LEAVE_REVIEW, USER_OPT_ANNOUNCEUSERCOUNT, USER_OPT_ANSWER_CHANNEL, USER_OPT_DENOISE, USER_OPT_DROP_SILENCE, USER_OPT_DTMF_PASS, USER_OPT_ECHO_EVENTS, USER_OPT_ENDMARKED, USER_OPT_JITTERBUFFER, USER_OPT_MARKEDUSER, USER_OPT_MUSICONHOLD, USER_OPT_NOONLYPERSON, USER_OPT_QUIET, USER_OPT_SEND_EVENTS, USER_OPT_STARTMUTED, USER_OPT_TALKER_DETECT, USER_OPT_TEXT_MESSAGING, USER_OPT_WAITMARKED, user_template_handler(), and video_mode_handler().
Referenced by load_module().
void conf_menu_entry_destroy | ( | struct conf_menu_entry * | menu_entry | ) |
Destroys and frees all the actions stored in a menu_entry structure.
Definition at line 2602 of file conf_config_parser.c.
References conf_menu_entry::actions, ast_free, AST_LIST_REMOVE_HEAD, and NULL.
Referenced by action_playback_and_continue(), conf_menu_profile_copy(), and menu_destructor().
Definition at line 2280 of file conf_config_parser.c.
References ast_calloc, ast_free, AST_LIST_INSERT_TAIL, AST_LIST_TRAVERSE, conf_menu_entry_destroy(), copy_menu_entry(), and conf_menu::entries.
Referenced by menu_template_handler().
int conf_reload_config | ( | void | ) |
reload confbridge.conf file
Definition at line 2472 of file conf_config_parser.c.
References aco_process_config(), and ACO_PROCESS_ERROR.
Referenced by reload().
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.
chan | channel the menu profile is requested for |
user | user profile the menu is being applied to |
menu_profile_name | name of the profile requested (optional) |
If menu_profile_name is not provided, this function will check for the presence of a menu profile set by the CONFBRIDGE function on a channel datastore. If that doesn't exist, the default_menu profile is used.
0 | on success |
-1 | on failure |
Definition at line 2656 of file conf_config_parser.c.
References ao2_bump, ao2_cleanup, ao2_find, ao2_global_obj_ref, apply_menu_to_user(), ast_channel_datastore_find(), ast_channel_lock, ast_channel_unlock, ast_strlen_zero, cfg_handle, ast_datastore::data, DEFAULT_MENU_PROFILE, func_confbridge_data::m_usable, func_confbridge_data::menu, NULL, OBJ_KEY, and RAII_VAR.
Referenced by confbridge_exec().
|
static |
Definition at line 2481 of file conf_config_parser.c.
Referenced by conf_find_user_profile().
|
static |
Definition at line 2050 of file conf_config_parser.c.
References ao2_alloc, AO2_ALLOC_OPT_LOCK_MUTEX, ao2_container_alloc_hash, ao2_ref, bridge_cmp_cb(), bridge_hash_cb(), confbridge_cfg::bridge_profiles, confbridge_cfg_destructor(), error(), menu_cmp_cb(), menu_hash_cb(), confbridge_cfg::menus, NULL, user_cmp_cb(), user_hash_cb(), and confbridge_cfg::user_profiles.
|
static |
Definition at line 2042 of file conf_config_parser.c.
References ao2_cleanup, confbridge_cfg::bridge_profiles, confbridge_cfg::menus, and confbridge_cfg::user_profiles.
Referenced by confbridge_cfg_alloc().
CONFIG_INFO_STANDARD | ( | cfg_info | , |
cfg_handle | , | ||
confbridge_cfg_alloc | , | ||
. | files = ACO_FILES(&confbridge_conf) , |
||
. | pre_apply_config = verify_default_profiles |
||
) |
|
static |
Definition at line 2260 of file conf_config_parser.c.
References conf_menu_entry::actions, ast_calloc, ast_copy_string(), AST_LIST_HEAD_INIT_NOLOCK, AST_LIST_INSERT_TAIL, AST_LIST_NEXT, AST_LIST_TRAVERSE, conf_menu_entry::dtmf, and NULL.
Referenced by apply_menu_to_user(), conf_find_menu_entry_by_sequence(), and conf_menu_profile_copy().
|
static |
Definition at line 1097 of file conf_config_parser.c.
References ao2_cleanup, ast_free, func_confbridge_data::b_profile, conf_bridge_profile_destroy(), and func_confbridge_data::menu.
Referenced by func_confbridge_destroy_cb().
|
static |
Definition at line 1104 of file conf_config_parser.c.
References func_confbridge_data_destructor().
int func_confbridge_helper | ( | struct ast_channel * | chan, |
const char * | cmd, | ||
char * | data, | ||
const char * | value | ||
) |
Definition at line 1115 of file conf_config_parser.c.
References aco_process_var(), ao2_cleanup, args, AST_APP_ARG, ast_calloc, ast_channel_datastore_add(), ast_channel_datastore_find(), ast_channel_datastore_remove(), ast_channel_lock, ast_channel_unlock, ast_datastore_alloc, ast_datastore_free(), AST_DECLARE_APP_ARGS, ast_log, AST_STANDARD_APP_ARGS, ast_strdupa, ast_strlen_zero, func_confbridge_data::b_profile, func_confbridge_data::b_usable, bridge_profile_sounds_alloc(), conf_bridge_profile_destroy(), ast_datastore::data, DEFAULT_BRIDGE_PROFILE, DEFAULT_MENU_PROFILE, DEFAULT_USER_PROFILE, ast_variable::file, LOG_WARNING, func_confbridge_data::m_usable, func_confbridge_data::menu, menu_alloc(), ast_variable::name, NULL, parse(), bridge_profile::sounds, type, func_confbridge_data::u_profile, func_confbridge_data::u_usable, user_profile_destructor(), value, and ast_variable::value.
|
static |
Definition at line 1686 of file conf_config_parser.c.
References ast_cli_args::argc, ast_cli_args::argv, ast_assert, ast_cli(), ast_copy_string(), ast_strlen_zero, BRIDGE_OPT_ENABLE_EVENTS, BRIDGE_OPT_RECORD_CONFERENCE, BRIDGE_OPT_RECORD_FILE_APPEND, BRIDGE_OPT_RECORD_FILE_TIMESTAMP, BRIDGE_OPT_REMB_BEHAVIOR_AVERAGE, BRIDGE_OPT_REMB_BEHAVIOR_AVERAGE_ALL, BRIDGE_OPT_REMB_BEHAVIOR_HIGHEST, BRIDGE_OPT_REMB_BEHAVIOR_HIGHEST_ALL, BRIDGE_OPT_REMB_BEHAVIOR_LOWEST, BRIDGE_OPT_REMB_BEHAVIOR_LOWEST_ALL, BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED, BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER, BRIDGE_OPT_VIDEO_SRC_LAST_MARKED, BRIDGE_OPT_VIDEO_SRC_SFU, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, complete_bridge_profile_name(), conf_bridge_profile_destroy(), conf_find_bridge_profile(), conf_get_sound(), CONF_SOUND_BEGIN, CONF_SOUND_BINAURAL_OFF, CONF_SOUND_BINAURAL_ON, CONF_SOUND_ERROR_MENU, CONF_SOUND_GET_PIN, CONF_SOUND_HAS_JOINED, CONF_SOUND_HAS_LEFT, CONF_SOUND_INVALID_PIN, CONF_SOUND_JOIN, CONF_SOUND_KICKED, CONF_SOUND_LEADER_HAS_LEFT, CONF_SOUND_LEAVE, CONF_SOUND_LOCKED, CONF_SOUND_LOCKED_NOW, CONF_SOUND_MUTED, CONF_SOUND_ONLY_ONE, CONF_SOUND_ONLY_PERSON, CONF_SOUND_OTHER_IN_PARTY, CONF_SOUND_PARTICIPANTS_MUTED, CONF_SOUND_PARTICIPANTS_UNMUTED, CONF_SOUND_PLACE_IN_CONF, CONF_SOUND_THERE_ARE, CONF_SOUND_UNLOCKED_NOW, CONF_SOUND_UNMUTED, CONF_SOUND_WAIT_FOR_LEADER, ast_cli_args::fd, bridge_profile::flags, bridge_profile::internal_sample_rate, bridge_profile::language, ast_cli_args::line, bridge_profile::max_members, bridge_profile::maximum_sample_rate, bridge_profile::mix_interval, ast_cli_args::n, bridge_profile::name, NULL, ast_cli_args::pos, bridge_profile::rec_command, bridge_profile::rec_file, bridge_profile::rec_options, bridge_profile::regcontext, bridge_profile::remb_send_interval, bridge_profile::sounds, tmp(), ast_cli_entry::usage, bridge_profile::video_update_discard, and ast_cli_args::word.
|
static |
Definition at line 1653 of file conf_config_parser.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_lock, ao2_ref, ao2_unlock, ast_cli(), cfg_handle, CLI_GENERATE, CLI_INIT, CLI_SUCCESS, ast_cli_entry::command, ast_cli_args::fd, bridge_profile::name, NULL, RAII_VAR, and ast_cli_entry::usage.
|
static |
Definition at line 1918 of file conf_config_parser.c.
References conf_menu_entry::actions, ao2_cleanup, ao2_global_obj_ref, ao2_lock, ao2_unlock, ast_cli_args::argc, ast_cli_args::argv, ast_cli(), AST_LIST_TRAVERSE, cfg_handle, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, complete_menu_name(), conf_menu_action::data, conf_menu_action::dialplan_args, conf_menu_entry::dtmf, ast_cli_args::fd, conf_menu_action::id, ast_cli_args::line, MENU_ACTION_ADMIN_KICK_LAST, MENU_ACTION_ADMIN_TOGGLE_LOCK, MENU_ACTION_ADMIN_TOGGLE_MUTE_PARTICIPANTS, MENU_ACTION_DECREASE_LISTENING, MENU_ACTION_DECREASE_TALKING, MENU_ACTION_DIALPLAN_EXEC, MENU_ACTION_INCREASE_LISTENING, MENU_ACTION_INCREASE_TALKING, MENU_ACTION_LEAVE, MENU_ACTION_NOOP, MENU_ACTION_PARTICIPANT_COUNT, MENU_ACTION_PLAYBACK, MENU_ACTION_PLAYBACK_AND_CONTINUE, MENU_ACTION_RELEASE_SINGLE_VIDEO_SRC, MENU_ACTION_RESET_LISTENING, MENU_ACTION_RESET_TALKING, MENU_ACTION_SET_SINGLE_VIDEO_SRC, MENU_ACTION_TOGGLE_BINAURAL, MENU_ACTION_TOGGLE_MUTE, menu_find(), ast_cli_args::n, NULL, conf_menu_action::playback_file, ast_cli_args::pos, RAII_VAR, ast_cli_entry::usage, and ast_cli_args::word.
|
static |
Definition at line 1885 of file conf_config_parser.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_lock, ao2_ref, ao2_unlock, ast_cli(), cfg_handle, CLI_GENERATE, CLI_INIT, CLI_SUCCESS, ast_cli_entry::command, ast_cli_args::fd, conf_menu::name, NULL, RAII_VAR, and ast_cli_entry::usage.
|
static |
Definition at line 1522 of file conf_config_parser.c.
References user_profile::announcement, ast_cli_args::argc, ast_cli_args::argv, ast_cli(), ast_strlen_zero, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, complete_user_profile_name(), conf_find_user_profile(), ast_cli_args::fd, user_profile::flags, ast_cli_args::line, user_profile::moh_class, ast_cli_args::n, user_profile::name, NULL, user_profile::pin, ast_cli_args::pos, user_profile::silence_threshold, user_profile::talking_threshold, ast_cli_entry::usage, USER_OPT_ADMIN, USER_OPT_ANNOUNCE_JOIN_LEAVE, USER_OPT_ANNOUNCE_JOIN_LEAVE_REVIEW, USER_OPT_ANNOUNCEUSERCOUNT, USER_OPT_ANNOUNCEUSERCOUNTALL, USER_OPT_ANSWER_CHANNEL, USER_OPT_DENOISE, USER_OPT_DROP_SILENCE, USER_OPT_DTMF_PASS, USER_OPT_ECHO_EVENTS, USER_OPT_ENDMARKED, USER_OPT_JITTERBUFFER, USER_OPT_MARKEDUSER, USER_OPT_MUSICONHOLD, USER_OPT_QUIET, USER_OPT_SEND_EVENTS, USER_OPT_STARTMUTED, USER_OPT_TALKER_DETECT, USER_OPT_TEXT_MESSAGING, USER_OPT_WAITMARKED, and ast_cli_args::word.
|
static |
Definition at line 1490 of file conf_config_parser.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_lock, ao2_ref, ao2_unlock, ast_cli(), cfg_handle, CLI_GENERATE, CLI_INIT, CLI_SUCCESS, ast_cli_entry::command, ast_cli_args::fd, user_profile::name, NULL, RAII_VAR, and ast_cli_entry::usage.
|
static |
Definition at line 792 of file conf_config_parser.c.
References ao2_alloc, ast_copy_string(), menu_destructor(), conf_menu::name, and NULL.
Referenced by func_confbridge_helper(), and verify_default_profiles().
|
static |
menu container functions
Definition at line 893 of file conf_config_parser.c.
References CMP_MATCH, conf_menu::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by confbridge_cfg_alloc().
|
static |
Definition at line 938 of file conf_config_parser.c.
References ast_free, AST_LIST_REMOVE_HEAD, conf_menu_entry_destroy(), conf_menu::entries, and NULL.
Referenced by menu_alloc().
|
static |
Definition at line 802 of file conf_config_parser.c.
References ao2_find, and OBJ_KEY.
Referenced by handle_cli_confbridge_show_menu().
|
static |
Definition at line 915 of file conf_config_parser.c.
References ast_assert, ast_str_case_hash(), name, conf_menu::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by confbridge_cfg_alloc().
|
static |
Definition at line 2595 of file conf_config_parser.c.
References conf_handle_dtmf(), dtmf_menu_hook_pvt::menu, dtmf_menu_hook_pvt::menu_entry, and dtmf_menu_hook_pvt::user.
Referenced by apply_menu_to_user().
|
static |
Definition at line 2582 of file conf_config_parser.c.
References conf_menu_entry::actions, ao2_cleanup, ast_free, AST_LIST_REMOVE_HEAD, dtmf_menu_hook_pvt::menu, dtmf_menu_hook_pvt::menu_entry, and NULL.
Referenced by apply_menu_to_user().
|
static |
Definition at line 2330 of file conf_config_parser.c.
References add_menu_entry(), ast_variable::name, and ast_variable::value.
Referenced by conf_load_config().
|
static |
Definition at line 2303 of file conf_config_parser.c.
References ao2_cleanup, ao2_find, ao2_global_obj_ref, cfg_handle, conf_menu_profile_copy(), NULL, OBJ_KEY, RAII_VAR, and ast_variable::value.
Referenced by conf_load_config().
|
static |
Definition at line 2101 of file conf_config_parser.c.
References bridge_profile::mix_interval, ast_variable::name, and ast_variable::value.
Referenced by conf_load_config().
|
static |
Definition at line 2169 of file conf_config_parser.c.
References ast_clear_flag, ast_set_flag, BRIDGE_OPT_REMB_BEHAVIOR_AVERAGE, BRIDGE_OPT_REMB_BEHAVIOR_AVERAGE_ALL, BRIDGE_OPT_REMB_BEHAVIOR_FORCE, BRIDGE_OPT_REMB_BEHAVIOR_HIGHEST, BRIDGE_OPT_REMB_BEHAVIOR_HIGHEST_ALL, BRIDGE_OPT_REMB_BEHAVIOR_LOWEST, BRIDGE_OPT_REMB_BEHAVIOR_LOWEST_ALL, ast_variable::name, and ast_variable::value.
Referenced by conf_load_config().
|
static |
Definition at line 1017 of file conf_config_parser.c.
References ast_log, ast_string_field_set, ast_strlen_zero, bridge_profile_sounds::begin, bridge_profile_sounds::binauraloff, bridge_profile_sounds::binauralon, bridge_profile_sounds::errormenu, bridge_profile_sounds::getpin, bridge_profile_sounds::hasjoin, bridge_profile_sounds::hasleft, bridge_profile_sounds::invalidpin, bridge_profile_sounds::join, bridge_profile_sounds::kicked, bridge_profile_sounds::leaderhasleft, leave, bridge_profile_sounds::locked, bridge_profile_sounds::lockednow, LOG_WARNING, muted, bridge_profile_sounds::onlyone, bridge_profile_sounds::onlyperson, bridge_profile_sounds::otherinparty, bridge_profile_sounds::participantsmuted, bridge_profile_sounds::participantsunmuted, bridge_profile_sounds::placeintoconf, sounds, bridge_profile::sounds, bridge_profile_sounds::thereare, bridge_profile_sounds::unlockednow, bridge_profile_sounds::unmuted, and bridge_profile_sounds::waitforleader.
Referenced by sound_option_handler().
|
static |
Definition at line 2324 of file conf_config_parser.c.
References ast_variable::name, set_sound(), and ast_variable::value.
Referenced by conf_load_config().
|
static |
User profile container functions
Definition at line 950 of file conf_config_parser.c.
References CMP_MATCH, user_profile::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by confbridge_cfg_alloc().
|
static |
Definition at line 972 of file conf_config_parser.c.
References ast_assert, ast_str_case_hash(), name, user_profile::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by confbridge_cfg_alloc().
|
static |
Definition at line 758 of file conf_config_parser.c.
References ao2_alloc, ast_copy_string(), user_profile::name, NULL, and user_profile_destructor().
Referenced by verify_default_profiles().
|
static |
Definition at line 753 of file conf_config_parser.c.
Referenced by func_confbridge_helper(), and user_profile_alloc().
|
static |
|
static |
Definition at line 2206 of file conf_config_parser.c.
References conf_find_user_profile(), NULL, and ast_variable::value.
Referenced by conf_load_config().
|
static |
Definition at line 2336 of file conf_config_parser.c.
References aco_pending_config(), aco_set_defaults(), ao2_cleanup, ao2_find, ao2_link, ast_log, AST_LOG_NOTICE, bridge_profile_alloc(), confbridge_cfg::bridge_profiles, DEFAULT_BRIDGE_PROFILE, DEFAULT_MENU_PROFILE, DEFAULT_USER_PROFILE, menu_alloc(), confbridge_cfg::menus, NULL, OBJ_KEY, RAII_VAR, user_profile_alloc(), and confbridge_cfg::user_profiles.
|
static |
Definition at line 2122 of file conf_config_parser.c.
References ast_clear_flag, ast_set_flags_to, BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED, BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER, BRIDGE_OPT_VIDEO_SRC_LAST_MARKED, BRIDGE_OPT_VIDEO_SRC_SFU, ast_variable::name, and ast_variable::value.
Referenced by conf_load_config().
|
static |
Definition at line 739 of file conf_config_parser.c.
|
static |
Definition at line 820 of file conf_config_parser.c.
|
static |
Definition at line 2032 of file conf_config_parser.c.
|
static |
Definition at line 832 of file conf_config_parser.c.
|
static |
Definition at line 1110 of file conf_config_parser.c.
|
static |
Definition at line 825 of file conf_config_parser.c.
|
static |
Definition at line 807 of file conf_config_parser.c.
Definition at line 821 of file conf_config_parser.c.
|
static |
Definition at line 776 of file conf_config_parser.c.
Definition at line 822 of file conf_config_parser.c.