Asterisk - The Open Source Telephony Project GIT-master-f36a736
|
Meet me conference bridge. More...
#include "asterisk.h"
#include <dahdi/user.h>
#include "asterisk/lock.h"
#include "asterisk/file.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/config.h"
#include "asterisk/app.h"
#include "asterisk/dsp.h"
#include "asterisk/musiconhold.h"
#include "asterisk/manager.h"
#include "asterisk/cli.h"
#include "asterisk/say.h"
#include "asterisk/utils.h"
#include "asterisk/translate.h"
#include "asterisk/ulaw.h"
#include "asterisk/astobj2.h"
#include "asterisk/devicestate.h"
#include "asterisk/dial.h"
#include "asterisk/causes.h"
#include "asterisk/paths.h"
#include "asterisk/test.h"
#include "asterisk/stasis.h"
#include "asterisk/stasis_channels.h"
#include "asterisk/stasis_message_router.h"
#include "asterisk/json.h"
#include "asterisk/format_compatibility.h"
#include "enter.h"
#include "leave.h"
Go to the source code of this file.
Data Structures | |
struct | announce_listitem |
struct | ast_conf_user |
The MeetMe User object. More... | |
struct | ast_conference |
The MeetMe Conference object. More... | |
struct | confs |
struct | volume |
Macros | |
#define | AST_FRAME_BITS 32 |
#define | CONF_SIZE 320 |
#define | CONFFLAG_DONT_DENOISE (1ULL << 35) |
#define | CONFFLAG_INTROMSG (1ULL << 32) |
#define | CONFFLAG_INTROUSER_VMREC (1ULL << 33) |
#define | CONFFLAG_KILL_LAST_MAN_STANDING (1ULL << 34) |
#define | CONFFLAG_NO_AUDIO_UNTIL_UP (1ULL << 31) |
#define | CONFIG_FILE_NAME "meetme.conf" |
#define | DATE_FORMAT "%Y-%m-%d %H:%M:%S" |
#define | DEFAULT_AUDIO_BUFFERS 32 |
#define | MAX_CONFNUM 80 |
#define | MAX_PIN 80 |
#define | MAX_SETTINGS (MAX_CONFNUM + MAX_PIN + MAX_PIN + 3) |
#define | MC_DATA_FORMAT "%-12.12s %4.4d %4.4s %02d:%02d:%02d %-8s %-6s\n" |
#define | MC_HEADER_FORMAT "%-14s %-14s %-10s %-8s %-8s %-6s\n" |
#define | MEETME_DELAYDETECTENDTALK 1000 |
#define | MEETME_DELAYDETECTTALK 300 |
#define | OPTIONS_LEN 100 |
#define | STR_CONCISE "concise" |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static int | acf_meetme_info (struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) |
static int | acf_meetme_info_eval (const char *keyword, const struct ast_conference *conf) |
static int | action_meetmelist (struct mansession *s, const struct message *m) |
static int | action_meetmelistrooms (struct mansession *s, const struct message *m) |
static int | action_meetmemute (struct mansession *s, const struct message *m) |
static int | action_meetmeunmute (struct mansession *s, const struct message *m) |
static int | admin_exec (struct ast_channel *chan, const char *data) |
The MeetMeAdmin application. More... | |
static void * | announce_thread (void *data) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static struct ast_conference * | build_conf (const char *confno, const char *pin, const char *pinadmin, int make, int dynamic, int refcount, const struct ast_channel *chan, struct ast_test *test) |
Find or create a conference. More... | |
static int | can_write (struct ast_channel *chan, struct ast_flags64 *confflags) |
static int | careful_write (int fd, unsigned char *data, int len, int block) |
static int | channel_admin_exec (struct ast_channel *chan, const char *data) |
The MeetMeChannelAdmin application MeetMeChannelAdmin(channel, command) More... | |
static char * | complete_confno (const char *word, int state) |
static char * | complete_meetmecmd_list (const char *line, const char *word, int pos, int state) |
static char * | complete_meetmecmd_lock (const char *word, int pos, int state) |
static char * | complete_meetmecmd_mute_kick (const char *line, const char *word, int pos, int state) |
static char * | complete_userno (struct ast_conference *cnf, const char *word, int state) |
static int | conf_exec (struct ast_channel *chan, const char *data) |
The meetme() application. More... | |
static void | conf_flush (int fd, struct ast_channel *chan) |
static int | conf_free (struct ast_conference *conf) |
Remove the conference from the list and free it. More... | |
static void | conf_play (struct ast_channel *chan, struct ast_conference *conf, enum entrance_sound sound) |
static void | conf_queue_dtmf (const struct ast_conference *conf, const struct ast_conf_user *sender, struct ast_frame *f) |
static int | conf_run (struct ast_channel *chan, struct ast_conference *conf, struct ast_flags64 *confflags, char *optargs[]) |
static void | conf_start_moh (struct ast_channel *chan, const char *musicclass) |
static int | count_exec (struct ast_channel *chan, const char *data) |
The MeetmeCount application. More... | |
static int | dispose_conf (struct ast_conference *conf) |
Decrement reference counts, as incremented by find_conf() More... | |
static void | filename_parse (char *filename, char *buffer) |
static struct ast_conference * | find_conf (struct ast_channel *chan, char *confno, int make, int dynamic, char *dynamic_pin, size_t pin_buf_len, int refcount, struct ast_flags64 *confflags) |
static struct ast_conference * | find_conf_realtime (struct ast_channel *chan, char *confno, int make, int dynamic, char *dynamic_pin, size_t pin_buf_len, int refcount, struct ast_flags64 *confflags, int *too_early, char **optargs) |
static struct ast_conf_user * | find_user (struct ast_conference *conf, const char *callerident) |
static const char * | get_announce_filename (enum announcetypes type) |
static const char * | istalking (int x) |
static int | load_config (int reload) |
static void | load_config_meetme (int reload) |
static int | load_module (void) |
Load the module. More... | |
static char * | meetme_cmd_helper (struct ast_cli_args *a) |
static char * | meetme_kick_cmd (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | meetme_lock_cmd (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static void | meetme_menu (enum menu_modes *menu_mode, int *dtmf, struct ast_conference *conf, struct ast_flags64 *confflags, struct ast_channel *chan, struct ast_conf_user *user, char *recordingtmp, int recordingtmp_size, struct ast_format_cap *cap_slin) |
static void | meetme_menu_admin (enum menu_modes *menu_mode, int *dtmf, struct ast_conference *conf, struct ast_flags64 *confflags, struct ast_channel *chan, struct ast_conf_user *user) |
static void | meetme_menu_admin_extended (enum menu_modes *menu_mode, int *dtmf, struct ast_conference *conf, struct ast_flags64 *confflags, struct ast_channel *chan, struct ast_conf_user *user, char *recordingtmp, int recordingtmp_size, struct ast_format_cap *cap_slin) |
static void | meetme_menu_normal (enum menu_modes *menu_mode, int *dtmf, struct ast_conference *conf, struct ast_flags64 *confflags, struct ast_channel *chan, struct ast_conf_user *user) |
static char * | meetme_mute_cmd (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static void | meetme_set_defaults (void) |
static char * | meetme_show_cmd (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static void | meetme_stasis_cb (void *data, struct stasis_subscription *sub, struct stasis_message *message) |
static void | meetme_stasis_cleanup (void) |
static void | meetme_stasis_generate_msg (struct ast_conference *meetme_conference, struct ast_channel *chan, struct ast_conf_user *user, struct stasis_message_type *message_type, struct ast_json *extras) |
static int | meetme_stasis_init (void) |
static int | meetmemute (struct mansession *s, const struct message *m, int mute) |
static enum ast_device_state | meetmestate (const char *data) |
Callback for devicestate providers. More... | |
static void * | recordthread (void *args) |
static int | reload (void) |
static void | reset_volumes (struct ast_conf_user *user) |
static int | rt_extend_conf (const char *confno) |
static void | send_talking_event (struct ast_channel *chan, struct ast_conference *conf, struct ast_conf_user *user, int talking) |
static int | set_listen_volume (struct ast_conf_user *user, int volume) |
static int | set_talk_volume (struct ast_conf_user *user, int volume) |
static void | set_user_talking (struct ast_channel *chan, struct ast_conference *conf, struct ast_conf_user *user, int talking, int monitor) |
STASIS_MESSAGE_TYPE_DEFN_LOCAL (meetme_end_type) | |
STASIS_MESSAGE_TYPE_DEFN_LOCAL (meetme_join_type) | |
STASIS_MESSAGE_TYPE_DEFN_LOCAL (meetme_leave_type) | |
STASIS_MESSAGE_TYPE_DEFN_LOCAL (meetme_mute_type) | |
STASIS_MESSAGE_TYPE_DEFN_LOCAL (meetme_talk_request_type) | |
STASIS_MESSAGE_TYPE_DEFN_LOCAL (meetme_talking_type) | |
static struct ast_json * | status_to_json (int on) |
static void | tweak_listen_volume (struct ast_conf_user *user, enum volume_action action) |
static void | tweak_talk_volume (struct ast_conf_user *user, enum volume_action action) |
static void | tweak_volume (struct volume *vol, enum volume_action action) |
static int | unload_module (void) |
static int | user_chan_cb (void *obj, void *args, int flags) |
static int | user_listen_voldown_cb (void *obj, void *unused, int flags) |
static int | user_listen_volup_cb (void *obj, void *unused, int flags) |
static int | user_max_cmp (void *obj, void *arg, int flags) |
static int | user_no_cmp (void *obj, void *arg, int flags) |
static int | user_reset_vol_cb (void *obj, void *unused, int flags) |
static int | user_set_hangup_cb (void *obj, void *check_admin_arg, int flags) |
static int | user_set_kickme_cb (void *obj, void *check_admin_arg, int flags) |
static int | user_set_muted_cb (void *obj, void *check_admin_arg, int flags) |
static int | user_set_unmuted_cb (void *obj, void *check_admin_arg, int flags) |
static int | user_talk_voldown_cb (void *obj, void *unused, int flags) |
static int | user_talk_volup_cb (void *obj, void *unused, int flags) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "MeetMe conference bridge" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_DEPRECATED, .load = load_module, .unload = unload_module, .reload = reload, .load_pri = AST_MODPRI_DEVSTATE_PROVIDER, .optional_modules = "func_speex", } |
static const char *const | app = "MeetMe" |
static const char *const | app2 = "MeetMeCount" |
static const char *const | app3 = "MeetMeAdmin" |
static const char *const | app4 = "MeetMeChannelAdmin" |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static int | audio_buffers |
The number of audio buffers to be allocated on pseudo channels when in a conference. More... | |
static struct ast_cli_entry | cli_meetme [] |
static unsigned int | conf_map [1024] = {0, } |
static struct confs | confs = { .first = NULL, .last = NULL, .lock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } , } |
static int | earlyalert |
static int | endalert |
static int | extendby |
static int | fuzzystart |
static const char | gain_map [] |
Map 'volume' levels from -5 through +5 into decibel (dB) settings for channel drivers. More... | |
static struct stasis_message_router * | meetme_event_message_router |
static struct ast_custom_function | meetme_info_acf |
static const struct ast_app_option | meetme_opts [128] = { [ 'A' ] = { .flag = CONFFLAG_MARKEDUSER }, [ 'a' ] = { .flag = CONFFLAG_ADMIN }, [ 'b' ] = { .flag = CONFFLAG_AGI }, [ 'c' ] = { .flag = CONFFLAG_ANNOUNCEUSERCOUNT }, [ 'C' ] = { .flag = CONFFLAG_KICK_CONTINUE }, [ 'D' ] = { .flag = CONFFLAG_DYNAMICPIN }, [ 'd' ] = { .flag = CONFFLAG_DYNAMIC }, [ 'E' ] = { .flag = CONFFLAG_EMPTYNOPIN }, [ 'e' ] = { .flag = CONFFLAG_EMPTY }, [ 'F' ] = { .flag = CONFFLAG_PASS_DTMF }, [ 'G' ] = { .flag = (1ULL << 32) , .arg_index = OPT_ARG_INTROMSG + 1 }, [ 'v' ] = { .flag = (1ULL << 33) , .arg_index = OPT_ARG_INTROUSER_VMREC + 1 }, [ 'i' ] = { .flag = CONFFLAG_INTROUSER }, [ 'I' ] = { .flag = CONFFLAG_INTROUSERNOREVIEW }, [ 'k' ] = { .flag = (1ULL << 34) }, [ 'M' ] = { .flag = CONFFLAG_MOH , .arg_index = OPT_ARG_MOH_CLASS + 1 }, [ 'm' ] = { .flag = CONFFLAG_STARTMUTED }, [ 'n' ] = { .flag = (1ULL << 35) }, [ 'o' ] = { .flag = CONFFLAG_OPTIMIZETALKER }, [ 'P' ] = { .flag = CONFFLAG_ALWAYSPROMPT }, [ 'p' ] = { .flag = CONFFLAG_KEYEXIT , .arg_index = OPT_ARG_EXITKEYS + 1 }, [ 'q' ] = { .flag = CONFFLAG_QUIET }, [ 'r' ] = { .flag = CONFFLAG_RECORDCONF }, [ 's' ] = { .flag = CONFFLAG_STARMENU }, [ 'T' ] = { .flag = CONFFLAG_MONITORTALKER }, [ 'l' ] = { .flag = CONFFLAG_MONITOR }, [ 't' ] = { .flag = CONFFLAG_TALKER }, [ 'w' ] = { .flag = CONFFLAG_WAITMARKED , .arg_index = OPT_ARG_WAITMARKED + 1 }, [ 'X' ] = { .flag = CONFFLAG_EXIT_CONTEXT }, [ 'x' ] = { .flag = CONFFLAG_MARKEDEXIT }, [ '1' ] = { .flag = CONFFLAG_NOONLYPERSON }, [ 'S' ] = { .flag = CONFFLAG_DURATION_STOP , .arg_index = OPT_ARG_DURATION_STOP + 1 }, [ 'L' ] = { .flag = CONFFLAG_DURATION_LIMIT , .arg_index = OPT_ARG_DURATION_LIMIT + 1 }, } |
static int | rt_log_members |
static int | rt_schedule |
Meet me conference bridge.
Definition in file app_meetme.c.
#define AST_FRAME_BITS 32 |
Definition at line 676 of file app_meetme.c.
#define CONF_SIZE 320 |
Definition at line 695 of file app_meetme.c.
#define CONFFLAG_DONT_DENOISE (1ULL << 35) |
If set, don't enable a denoiser for the channel
Definition at line 763 of file app_meetme.c.
#define CONFFLAG_INTROMSG (1ULL << 32) |
If set play an intro announcement at start of conference
Definition at line 758 of file app_meetme.c.
#define CONFFLAG_INTROUSER_VMREC (1ULL << 33) |
Definition at line 759 of file app_meetme.c.
#define CONFFLAG_KILL_LAST_MAN_STANDING (1ULL << 34) |
If there's only one person left in a conference when someone leaves, kill the conference
Definition at line 761 of file app_meetme.c.
#define CONFFLAG_NO_AUDIO_UNTIL_UP (1ULL << 31) |
Do not write any audio to this channel until the state is up.
Definition at line 757 of file app_meetme.c.
#define CONFIG_FILE_NAME "meetme.conf" |
Definition at line 655 of file app_meetme.c.
String format for scheduled conferences
Definition at line 662 of file app_meetme.c.
#define DEFAULT_AUDIO_BUFFERS 32 |
each buffer is 20ms, so this is 640ms total
Definition at line 659 of file app_meetme.c.
#define MAX_CONFNUM 80 |
Definition at line 827 of file app_meetme.c.
#define MAX_PIN 80 |
Definition at line 828 of file app_meetme.c.
#define MAX_SETTINGS (MAX_CONFNUM + MAX_PIN + MAX_PIN + 3) |
Definition at line 832 of file app_meetme.c.
#define MC_HEADER_FORMAT "%-14s %-14s %-10s %-8s %-8s %-6s\n" |
#define MEETME_DELAYDETECTENDTALK 1000 |
Definition at line 674 of file app_meetme.c.
#define MEETME_DELAYDETECTTALK 300 |
Definition at line 673 of file app_meetme.c.
#define OPTIONS_LEN 100 |
Definition at line 829 of file app_meetme.c.
#define STR_CONCISE "concise" |
Definition at line 656 of file app_meetme.c.
anonymous enum |
Definition at line 664 of file app_meetme.c.
anonymous enum |
Definition at line 697 of file app_meetme.c.
anonymous enum |
Enumerator | |
---|---|
OPT_ARG_WAITMARKED | |
OPT_ARG_EXITKEYS | |
OPT_ARG_DURATION_STOP | |
OPT_ARG_DURATION_LIMIT | |
OPT_ARG_MOH_CLASS | |
OPT_ARG_INTROMSG | |
OPT_ARG_INTROUSER_VMREC | |
OPT_ARG_ARRAY_SIZE |
Definition at line 765 of file app_meetme.c.
enum announcetypes |
Enumerator | |
---|---|
CONF_HASJOIN | |
CONF_HASLEFT |
Definition at line 834 of file app_meetme.c.
enum entrance_sound |
enum menu_modes |
Enumerator | |
---|---|
MENU_DISABLED | |
MENU_NORMAL | |
MENU_ADMIN | |
MENU_ADMIN_EXTENDED |
Definition at line 2310 of file app_meetme.c.
enum recording_state |
Enumerator | |
---|---|
MEETME_RECORD_OFF | |
MEETME_RECORD_STARTED | |
MEETME_RECORD_ACTIVE | |
MEETME_RECORD_TERMINATE |
Definition at line 688 of file app_meetme.c.
enum volume_action |
Enumerator | |
---|---|
VOL_UP | |
VOL_DOWN |
Definition at line 678 of file app_meetme.c.
|
static |
Definition at line 5566 of file app_meetme.c.
|
static |
Definition at line 5566 of file app_meetme.c.
|
static |
Definition at line 5432 of file app_meetme.c.
References acf_meetme_info_eval(), args, AST_APP_ARG, AST_DECLARE_APP_ARGS, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_log, AST_STANDARD_APP_ARGS, ast_strdupa, ast_strlen_zero(), buf, ast_conference::confno, len(), ast_conference::list, LOG_ERROR, LOG_NOTICE, and result.
|
static |
Definition at line 5414 of file app_meetme.c.
References NULL.
Referenced by acf_meetme_info().
|
static |
Definition at line 5081 of file app_meetme.c.
References ADMINFLAG_MUTED, ADMINFLAG_SELFMUTED, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_channel_caller(), ast_channel_connected(), ast_channel_name(), AST_LIST_EMPTY, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_strlen_zero(), ast_test_flag64, astman_append(), astman_get_header(), astman_send_error(), astman_send_list_complete_end(), astman_send_list_complete_start(), astman_send_listack(), CONFFLAG_ADMIN, CONFFLAG_MARKEDUSER, CONFFLAG_MONITOR, CONFFLAG_TALKER, ast_conference::confno, ast_party_caller::id, ast_party_connected_line::id, ast_party_id::name, ast_party_id::number, S_COR, ast_party_name::str, ast_party_number::str, total, user, ast_conference::usercontainer, ast_party_name::valid, and ast_party_number::valid.
Referenced by load_module().
|
static |
Definition at line 5153 of file app_meetme.c.
References AST_LIST_EMPTY, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_strlen_zero(), astman_append(), astman_get_header(), astman_send_error(), astman_send_list_complete_end(), astman_send_list_complete_start(), astman_send_listack(), ast_conference::confno, ast_conference::isdynamic, ast_conference::list, ast_conference::locked, ast_conference::markedusers, min, NULL, ast_conference::start, and ast_conference::users.
Referenced by load_module().
|
static |
Definition at line 5071 of file app_meetme.c.
References meetmemute().
Referenced by load_module().
|
static |
|
static |
The MeetMeAdmin application.
MeetMeAdmin(confno, command, caller)
Definition at line 4777 of file app_meetme.c.
References ADMINFLAG_KICKME, ADMINFLAG_MUTED, ADMINFLAG_SELFMUTED, ADMINFLAG_T_REQUEST, ao2_callback, ao2_cleanup, ao2_find, ao2_ref, args, AST_APP_ARG, ast_atomic_fetchadd_int(), AST_DECLARE_APP_ARGS, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_log, AST_STANDARD_APP_ARGS, ast_strdupa, ast_strlen_zero(), ast_test_flag64, ast_conf_user::chan, CONFFLAG_ADMIN, ast_conference::confno, dispose_conf(), find_user(), ast_conf_user::list, ast_conference::locked, LOG_NOTICE, LOG_WARNING, NULL, OBJ_NODATA, pbx_builtin_setvar_helper(), RAII_VAR, ast_conference::refcount, reset_volumes(), rt_extend_conf(), tweak_listen_volume(), tweak_talk_volume(), user_listen_voldown_cb(), user_listen_volup_cb(), user_max_cmp(), user_reset_vol_cb(), user_set_kickme_cb(), user_set_muted_cb(), user_set_unmuted_cb(), user_talk_voldown_cb(), user_talk_volup_cb(), ast_conference::usercontainer, VOL_DOWN, and VOL_UP.
Referenced by load_module(), and meetme_cmd_helper().
|
static |
Definition at line 2176 of file app_meetme.c.
References ao2_ref, ast_check_hangup(), ast_cond_wait, ast_copy_string(), ast_debug, ast_filedelete(), ast_fileexists(), AST_LIST_APPEND_LIST, AST_LIST_EMPTY, AST_LIST_HEAD_INIT_NOLOCK, AST_LIST_HEAD_NOLOCK, AST_LIST_REMOVE_HEAD, ast_mutex_lock, ast_mutex_unlock, ast_streamfile(), ast_waitstream(), CONF_HASLEFT, current, get_announce_filename(), NULL, and PATH_MAX.
Referenced by conf_run().
struct ast_module * AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 5566 of file app_meetme.c.
|
static |
Find or create a conference.
confno | The conference name/number |
pin | The regular user pin |
pinadmin | The admin pin |
make | Make the conf if it doesn't exist |
dynamic | Mark the newly created conference as dynamic |
refcount | How many references to mark on the conference |
chan | The asterisk channel |
test |
Definition at line 1428 of file app_meetme.c.
References ast_conference::announcethread, ast_conference::announcethreadlock, AO2_ALLOC_OPT_LOCK_MUTEX, ao2_cleanup, ao2_container_alloc_list, ao2_ref, ast_atomic_fetchadd_int(), ast_calloc, ast_channel_fd(), ast_channel_uniqueid(), ast_copy_string(), ast_format_cap_alloc, ast_format_cap_append, AST_FORMAT_CAP_FLAG_DEFAULT, ast_format_slin, ast_free, ast_hangup(), AST_LIST_INSERT_HEAD, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_log, ast_mutex_destroy, ast_mutex_init, AST_PTHREADT_NULL, ast_request(), ast_set_read_format(), ast_set_write_format(), ast_test_status_update, ast_verb, ast_conference::chan, conf_map, ast_conference::confno, ast_conference::dahdiconf, ast_conference::fd, ast_conference::isdynamic, ast_conference::listenlock, LOG_WARNING, ast_conference::maxusers, NULL, ast_conference::pin, ast_conference::pinadmin, ast_conference::playlock, ast_conference::recordthread, ast_conference::recordthreadlock, ast_conference::refcount, ast_conference::start, ast_conference::uniqueid, user_no_cmp(), and ast_conference::usercontainer.
Referenced by find_conf(), and find_conf_realtime().
|
static |
Definition at line 2233 of file app_meetme.c.
References AST_STATE_UP, ast_test_flag64, ast_conference::chan, and CONFFLAG_NO_AUDIO_UNTIL_UP.
Referenced by conf_run().
|
static |
Definition at line 1230 of file app_meetme.c.
References ast_log, errno, len(), and LOG_WARNING.
Referenced by conf_play(), and conf_run().
|
static |
The MeetMeChannelAdmin application MeetMeChannelAdmin(channel, command)
Definition at line 4950 of file app_meetme.c.
References ADMINFLAG_KICKME, ADMINFLAG_MUTED, ao2_callback, ao2_ref, args, AST_APP_ARG, AST_DECLARE_APP_ARGS, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_log, AST_STANDARD_APP_ARGS, ast_strdupa, ast_strlen_zero(), ast_conf_user::list, LOG_NOTICE, LOG_WARNING, NULL, and user_chan_cb().
Referenced by load_module().
|
static |
Definition at line 1547 of file app_meetme.c.
References AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_strdup, ast_conference::confno, len(), ast_conference::list, and NULL.
Referenced by complete_meetmecmd_list(), complete_meetmecmd_lock(), and complete_meetmecmd_mute_kick().
|
static |
Definition at line 1636 of file app_meetme.c.
References ast_strdup, ast_strdupa, complete_confno(), ast_conference::confno, len(), NULL, state, and STR_CONCISE.
Referenced by meetme_show_cmd().
|
static |
Definition at line 1628 of file app_meetme.c.
References complete_confno(), and NULL.
Referenced by meetme_lock_cmd().
|
static |
Definition at line 1588 of file app_meetme.c.
References AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_strdup, ast_strdupa, complete_confno(), complete_userno(), ast_conference::confno, len(), ast_conference::list, NULL, and state.
Referenced by meetme_kick_cmd(), and meetme_mute_cmd().
|
static |
Definition at line 1566 of file app_meetme.c.
References ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_strdup, len(), NULL, ast_conf_user::user_no, and ast_conference::usercontainer.
Referenced by complete_meetmecmd_mute_kick().
|
static |
The meetme() application.
Definition at line 4389 of file app_meetme.c.
References ast_conference::adminopts, args, ARRAY_LEN, ast_answer(), AST_APP_ARG, ast_app_getdata(), ast_app_parse_options64(), ast_category_browse(), ast_channel_language(), ast_channel_name(), ast_config_destroy(), ast_config_load, ast_copy_string(), AST_DECLARE_APP_ARGS, AST_DIGIT_ANY, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_load_realtime_multientry(), ast_log, ast_say_digits(), AST_STANDARD_APP_ARGS, AST_STATE_UP, ast_stopstream(), ast_strdupa, ast_streamfile(), ast_strlen_zero(), ast_test_flag64, ast_test_suite_event_notify, ast_variable_browse(), ast_variable_retrieve(), ast_verb, ast_waitstream(), conf_map, conf_run(), CONFFLAG_ADMIN, CONFFLAG_ALWAYSPROMPT, CONFFLAG_DYNAMIC, CONFFLAG_DYNAMICPIN, CONFFLAG_EMPTY, CONFFLAG_EMPTYNOPIN, CONFFLAG_QUIET, CONFIG_FILE_NAME, CONFIG_STATUS_FILEINVALID, ast_conference::confno, dispose_conf(), find_conf(), find_conf_realtime(), sip_to_pjsip::info(), ast_conference::isdynamic, LOG_ERROR, LOG_WARNING, MAX_CONFNUM, MAX_PIN, MAX_SETTINGS, meetme_opts, NULL, OPT_ARG_ARRAY_SIZE, options, ast_conference::pin, ast_conference::pinadmin, ast_conference::recordingfilename, ast_conference::recordingformat, rt_schedule, SENTINEL, strsep(), ast_conference::useropts, ast_conference::users, and var.
Referenced by load_module().
|
static |
Definition at line 1944 of file app_meetme.c.
References ast_frfree, ast_log, ast_read(), ast_waitfor(), and LOG_WARNING.
Referenced by conf_run().
|
static |
Remove the conference from the list and free it.
We assume that this was called while holding conflock.
Definition at line 1976 of file app_meetme.c.
References ao2_ref, ast_cond_signal, ast_filedelete(), AST_FRAME_BITS, ast_free, ast_frfree, ast_hangup(), AST_LIST_LOCK, AST_LIST_REMOVE, AST_LIST_REMOVE_HEAD, AST_LIST_UNLOCK, ast_mutex_destroy, ast_mutex_lock, ast_mutex_unlock, AST_PTHREADT_NULL, ast_softhangup(), AST_SOFTHANGUP_EXPLICIT, ast_translator_free_path(), item, MEETME_RECORD_ACTIVE, MEETME_RECORD_OFF, MEETME_RECORD_TERMINATE, meetme_stasis_generate_msg(), and NULL.
Referenced by dispose_conf().
|
static |
Definition at line 1348 of file app_meetme.c.
References ast_autoservice_start(), ast_autoservice_stop(), ast_channel_name(), ast_check_hangup(), AST_LIST_LOCK, AST_LIST_UNLOCK, ast_test_suite_event_notify, careful_write(), ENTER, enter, LEAVE, leave, len(), and NULL.
Referenced by conf_run().
|
static |
Definition at line 2045 of file app_meetme.c.
References ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_channel_name(), ast_log, ast_write(), LOG_WARNING, and user.
Referenced by conf_run().
|
static |
Definition at line 2740 of file app_meetme.c.
References ADMINFLAG_HANGUP, ADMINFLAG_KICKME, ADMINFLAG_MUTED, ADMINFLAG_SELFMUTED, ADMINFLAG_T_REQUEST, announce_thread(), ao2_alloc, ao2_callback, ao2_cleanup, ao2_link, ao2_lock, ao2_ref, ao2_unlink, ao2_unlock, ast_channel_audiohooks(), ast_channel_context(), ast_channel_fd(), ast_channel_language(), ast_channel_lock, ast_channel_name(), ast_channel_rawwriteformat(), ast_channel_setoption(), ast_channel_tech(), ast_channel_uniqueid(), ast_channel_unlock, ast_check_hangup(), ast_clear_flag64, ast_cond_signal, ast_config_AST_SPOOL_DIR, AST_CONTROL_BUSY, AST_CONTROL_CONGESTION, ast_copy_string(), ast_debug, AST_DEVICE_INUSE, AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, ast_devstate_changed(), AST_DEVSTATE_NOT_CACHABLE, AST_DIGIT_ANY, ast_dsp_free(), ast_dsp_get_threshold_from_settings(), ast_dsp_new(), ast_dsp_silence(), ast_exists_extension(), ast_filedelete(), ast_fileexists(), ast_format_cap_alloc, ast_format_cap_append, AST_FORMAT_CAP_FLAG_DEFAULT, ast_format_cmp(), AST_FORMAT_CMP_EQUAL, ast_format_compatibility_format2bitfield(), ast_format_slin, ast_frame_adjust_volume(), AST_FRAME_BITS, AST_FRAME_CONTROL, AST_FRAME_DTMF, AST_FRAME_DTMF_BEGIN, AST_FRAME_DTMF_END, AST_FRAME_NULL, AST_FRAME_VOICE, ast_frfree, AST_FRIENDLY_OFFSET, ast_func_write(), ast_goto_if_exists(), ast_hangup(), ast_indicate(), ast_json_unref(), AST_LIST_HEAD_INIT_NOLOCK, AST_LIST_INSERT_TAIL, AST_LIST_LOCK, AST_LIST_NEXT, AST_LIST_UNLOCK, ast_load_realtime(), ast_localtime(), ast_log, AST_MAX_CONTEXT, AST_MAX_EXTENSION, ast_mkdir(), ast_mktime(), ast_moh_stop(), ast_mutex_init, ast_mutex_lock, ast_mutex_unlock, ast_null_frame, AST_OPTION_TONE_VERIFY, ast_play_and_record(), ast_pthread_create_background, ast_pthread_create_detached_background, AST_PTHREADT_NULL, ast_read(), ast_read_noaudio(), ast_realtime_require_field(), ast_record_review(), ast_request(), ast_safe_sleep(), ast_samp2tv(), ast_say_digits(), ast_say_number(), ast_set_read_format(), ast_set_write_format(), ast_stopstream(), ast_strdup, ast_strdupa, ast_streamfile(), ast_strftime(), ast_strlen_zero(), ast_strptime(), ast_test_flag64, ast_test_suite_event_notify, ast_translate(), ast_translator_build_path(), ast_tvadd(), ast_tvdiff_ms(), ast_tvnow(), ast_tvsub(), ast_tvzero(), ast_update_realtime(), ast_variables_destroy(), ast_verb, ast_verbose(), ast_waitfor_nandfds(), ast_waitstream(), ast_write(), audio_buffers, buf, c, can_write(), careful_write(), conf_flush(), CONF_HASJOIN, CONF_HASLEFT, conf_play(), conf_queue_dtmf(), CONF_SIZE, conf_start_moh(), CONFFLAG_ADMIN, CONFFLAG_AGI, CONFFLAG_ANNOUNCEUSERCOUNT, CONFFLAG_DONT_DENOISE, CONFFLAG_DURATION_LIMIT, CONFFLAG_DURATION_STOP, CONFFLAG_EXIT_CONTEXT, CONFFLAG_INTROMSG, CONFFLAG_INTROUSER, CONFFLAG_INTROUSER_VMREC, CONFFLAG_INTROUSERNOREVIEW, CONFFLAG_KEYEXIT, CONFFLAG_KICK_CONTINUE, CONFFLAG_KILL_LAST_MAN_STANDING, CONFFLAG_MARKEDEXIT, CONFFLAG_MARKEDUSER, CONFFLAG_MOH, CONFFLAG_MONITOR, CONFFLAG_MONITORTALKER, CONFFLAG_NO_AUDIO_UNTIL_UP, CONFFLAG_NOONLYPERSON, CONFFLAG_OPTIMIZETALKER, CONFFLAG_PASS_DTMF, CONFFLAG_QUIET, CONFFLAG_RECORDCONF, CONFFLAG_STARMENU, CONFFLAG_STARTMUTED, CONFFLAG_TALKER, CONFFLAG_WAITMARKED, voicemailpwcheck::context, ast_frame::data, ast_frame::datalen, DATE_FORMAT, ENTER, errno, exitcontext, ast_frame_subclass::format, ast_frame::frametype, ast_frame_subclass::integer, item, LEAVE, LOG_WARNING, voicemailpwcheck::mailbox, MEETME_DELAYDETECTENDTALK, MEETME_DELAYDETECTTALK, meetme_menu(), meetme_stasis_generate_msg(), MENU_ADMIN, MENU_DISABLED, MENU_NORMAL, NULL, OBJ_NODATA, ast_frame::offset, OPT_ARG_DURATION_LIMIT, OPT_ARG_DURATION_STOP, OPT_ARG_EXITKEYS, OPT_ARG_INTROMSG, OPT_ARG_INTROUSER_VMREC, OPT_ARG_MOH_CLASS, OPT_ARG_WAITMARKED, PATH_MAX, pbx_builtin_getvar_helper(), pbx_builtin_setvar_helper(), pbx_exec(), pbx_findapp(), ast_frame::ptr, RAII_VAR, recordthread(), reset_volumes(), RQ_UINTEGER1, RQ_UINTEGER2, RQ_UINTEGER3, RQ_UINTEGER4, rt_log_members, rt_schedule, ast_frame::samples, set_talk_volume(), set_user_talking(), status_to_json(), strsep(), ast_frame::subclass, THRESHOLD_SILENCE, tmp(), type, user_max_cmp(), user_set_hangup_cb(), and var.
Referenced by conf_exec().
|
static |
Definition at line 2146 of file app_meetme.c.
References ast_channel_lock, ast_channel_musicclass(), ast_channel_unlock, ast_moh_start(), ast_strdupa, and NULL.
Referenced by conf_run().
|
static |
The MeetmeCount application.
Definition at line 4344 of file app_meetme.c.
References args, ast_answer(), AST_APP_ARG, ast_channel_language(), AST_DECLARE_APP_ARGS, ast_log, ast_say_number(), AST_STANDARD_APP_ARGS, AST_STATE_UP, ast_strdupa, ast_strlen_zero(), ast_conference::chan, ast_conference::confno, dispose_conf(), find_conf(), LOG_WARNING, NULL, and pbx_builtin_setvar_helper().
Referenced by load_module().
|
static |
Decrement reference counts, as incremented by find_conf()
Definition at line 2065 of file app_meetme.c.
References ast_atomic_dec_and_test(), AST_LIST_LOCK, AST_LIST_UNLOCK, conf_free(), and conf_map.
Referenced by admin_exec(), conf_exec(), and count_exec().
|
static |
Definition at line 5222 of file app_meetme.c.
References ast_config_AST_SPOOL_DIR, ast_copy_string(), ast_log, ast_mkdir(), ast_strlen_zero(), LOG_WARNING, and PATH_MAX.
Referenced by recordthread().
|
static |
Definition at line 4240 of file app_meetme.c.
References args, AST_APP_ARG, ast_app_getdata(), ast_clear_flag64, ast_config_destroy(), ast_config_load, ast_copy_string(), ast_debug, AST_DECLARE_APP_ARGS, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_log, AST_STANDARD_APP_ARGS, ast_test_flag64, ast_variable_browse(), build_conf(), ast_conference::chan, CONFFLAG_INTROUSER, CONFFLAG_INTROUSER_VMREC, CONFFLAG_INTROUSERNOREVIEW, CONFFLAG_QUIET, CONFFLAG_RECORDCONF, CONFIG_FILE_NAME, CONFIG_STATUS_FILEINVALID, ast_conference::confno, ast_conference::list, LOG_ERROR, LOG_WARNING, MAX_SETTINGS, NULL, ast_conference::pin, ast_conference::pinadmin, ast_conference::refcount, S_OR, and var.
Referenced by conf_exec(), and count_exec().
|
static |
Definition at line 4053 of file app_meetme.c.
References ast_conference::adminopts, ast_app_parse_options64(), ast_channel_language(), ast_channel_lock, ast_channel_uniqueid(), ast_channel_unlock, ast_clear_flag64, ast_copy_flags64, ast_copy_string(), ast_debug, ast_free, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_load_realtime(), ast_localtime(), ast_log, AST_MAX_EXTENSION, ast_mktime(), ast_strdup, ast_strdupa, ast_streamfile(), ast_strftime(), ast_strlen_zero(), ast_strptime(), ast_test_flag64, ast_tvnow(), ast_variables_destroy(), ast_verb, ast_waitstream(), ast_conference::bookid, build_conf(), ast_conference::chan, CONFFLAG_INTROUSER, CONFFLAG_INTROUSER_VMREC, CONFFLAG_INTROUSERNOREVIEW, CONFFLAG_QUIET, CONFFLAG_RECORDCONF, ast_conference::confno, DATE_FORMAT, earlyalert, endalert, ast_conference::endalert, ast_conference::endtime, ast_flags64::flags, fuzzystart, ast_conference::list, LOG_WARNING, ast_conference::maxusers, meetme_opts, NULL, OPTIONS_LEN, pbx_builtin_getvar_helper(), ast_conference::pin, ast_conference::pinadmin, ast_conference::recordingfilename, ast_conference::recordingformat, ast_conference::refcount, rt_schedule, ast_conference::useropts, and var.
Referenced by conf_exec().
|
static |
Definition at line 4714 of file app_meetme.c.
References ao2_find, NULL, and user.
Referenced by admin_exec().
|
static |
Definition at line 2162 of file app_meetme.c.
References CONF_HASJOIN, CONF_HASLEFT, and type.
Referenced by announce_thread().
|
static |
Definition at line 1220 of file app_meetme.c.
Referenced by meetme_show_cmd().
|
static |
Definition at line 5487 of file app_meetme.c.
References load_config_meetme(), and reload().
Referenced by load_module(), and reload().
|
static |
Definition at line 5348 of file app_meetme.c.
References ast_config_destroy(), ast_config_load, ast_log, ast_true(), ast_variable_retrieve(), audio_buffers, CONFIG_FILE_NAME, CONFIG_STATUS_FILEINVALID, DEFAULT_AUDIO_BUFFERS, earlyalert, endalert, extendby, fuzzystart, LOG_ERROR, LOG_NOTICE, LOG_WARNING, meetme_set_defaults(), reload(), rt_log_members, and rt_schedule.
Referenced by load_config().
|
static |
Load the module.
Module loading including tests for configuration or dependencies. This function can return AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_DECLINE, or AST_MODULE_LOAD_SUCCESS. If a dependency or environment variable fails tests return AST_MODULE_LOAD_FAILURE. If the module can not load the configuration file or other non-critical problem return AST_MODULE_LOAD_DECLINE. On success return AST_MODULE_LOAD_SUCCESS.
Definition at line 5527 of file app_meetme.c.
References action_meetmelist(), action_meetmelistrooms(), action_meetmemute(), action_meetmeunmute(), admin_exec(), app, app2, app3, app4, ARRAY_LEN, ast_cli_register_multiple, ast_custom_function_register, ast_devstate_prov_add(), ast_manager_register_xml, ast_realtime_require_field(), ast_register_application_xml, channel_admin_exec(), cli_meetme, conf_exec(), count_exec(), EVENT_FLAG_CALL, EVENT_FLAG_REPORTING, load_config(), meetme_info_acf, meetme_stasis_init(), meetmestate(), NULL, RQ_UINTEGER1, and RQ_UINTEGER2.
|
static |
Definition at line 1817 of file app_meetme.c.
References a, admin_exec(), ast_debug, ast_free, ast_str_append(), ast_str_buffer(), ast_str_create, ast_str_set(), CLI_FAILURE, CLI_SHOWUSAGE, CLI_SUCCESS, MAX_CONFNUM, NULL, and strcasestr().
Referenced by meetme_kick_cmd(), meetme_lock_cmd(), and meetme_mute_cmd().
|
static |
Definition at line 1897 of file app_meetme.c.
References a, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, ast_cli_entry::command, complete_meetmecmd_mute_kick(), meetme_cmd_helper(), NULL, and ast_cli_entry::usage.
|
static |
Definition at line 1877 of file app_meetme.c.
References a, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, ast_cli_entry::command, complete_meetmecmd_lock(), meetme_cmd_helper(), NULL, and ast_cli_entry::usage.
|
static |
Definition at line 2716 of file app_meetme.c.
References meetme_menu_admin(), meetme_menu_admin_extended(), meetme_menu_normal(), MENU_ADMIN, MENU_ADMIN_EXTENDED, MENU_DISABLED, and MENU_NORMAL.
Referenced by conf_run().
|
static |
Definition at line 2407 of file app_meetme.c.
References ADMINFLAG_KICKME, ADMINFLAG_MUTED, ADMINFLAG_SELFMUTED, ast_conf_user::adminflags, ao2_callback, ao2_find, ao2_ref, ast_channel_language(), ast_channel_name(), AST_DIGIT_ANY, ast_stopstream(), ast_streamfile(), ast_test_flag64, ast_waitstream(), ast_conf_user::chan, CONFFLAG_ADMIN, CONFFLAG_MONITOR, MENU_ADMIN_EXTENDED, MENU_DISABLED, NULL, OBJ_NODATA, rt_extend_conf(), rt_schedule, tweak_listen_volume(), tweak_talk_volume(), user_max_cmp(), ast_conf_user::userflags, VOL_DOWN, and VOL_UP.
Referenced by meetme_menu().
|
static |
Definition at line 2528 of file app_meetme.c.
References ao2_callback, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_channel_fd(), ast_channel_language(), ast_channel_lock, ast_channel_uniqueid(), ast_channel_unlock, AST_DIGIT_ANY, ast_fileexists(), ast_format_slin, ast_hangup(), ast_log, ast_mutex_lock, ast_mutex_unlock, ast_pthread_create_detached_background, AST_PTHREADT_NULL, ast_request(), ast_say_number(), ast_set_flag64, ast_set_read_format(), ast_set_write_format(), ast_stopstream(), ast_strdup, ast_streamfile(), ast_test_flag64, ast_verb, ast_waitstream(), ast_conf_user::chan, CONFFLAG_RECORDCONF, LOG_WARNING, MEETME_RECORD_ACTIVE, MENU_DISABLED, ast_conf_user::namerecloc, NULL, OBJ_NODATA, pbx_builtin_getvar_helper(), recordthread(), user_set_kickme_cb(), user_set_muted_cb(), user_set_unmuted_cb(), and var.
Referenced by meetme_menu().
|
static |
Definition at line 2327 of file app_meetme.c.
References ADMINFLAG_MUTED, ADMINFLAG_SELFMUTED, ADMINFLAG_T_REQUEST, ast_channel_language(), ast_streamfile(), ast_test_flag64, ast_waitstream(), ast_conf_user::chan, CONFFLAG_MONITOR, MENU_DISABLED, rt_extend_conf(), rt_schedule, tweak_listen_volume(), tweak_talk_volume(), VOL_DOWN, and VOL_UP.
Referenced by meetme_menu().
|
static |
Definition at line 1917 of file app_meetme.c.
References a, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, ast_cli_entry::command, complete_meetmecmd_mute_kick(), meetme_cmd_helper(), NULL, and ast_cli_entry::usage.
|
static |
Definition at line 5332 of file app_meetme.c.
References audio_buffers, DEFAULT_AUDIO_BUFFERS, earlyalert, endalert, extendby, fuzzystart, rt_log_members, and rt_schedule.
Referenced by load_config_meetme().
|
static |
Definition at line 1675 of file app_meetme.c.
References a, ADMINFLAG_MUTED, ADMINFLAG_SELFMUTED, ADMINFLAG_T_REQUEST, ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ao2_ref, ast_channel_caller(), ast_channel_name(), ast_cli(), ast_free, AST_LIST_EMPTY, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_str_buffer(), ast_str_create, ast_str_set(), ast_test_flag64, CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, complete_meetmecmd_list(), CONFFLAG_ADMIN, CONFFLAG_MONITOR, ast_conference::confno, ast_party_caller::id, ast_conference::isdynamic, istalking(), ast_conference::locked, ast_conference::markedusers, MC_DATA_FORMAT, MC_HEADER_FORMAT, min, ast_party_id::name, NULL, ast_party_id::number, S_COR, ast_conference::start, ast_party_name::str, ast_party_number::str, STR_CONCISE, total, ast_cli_entry::usage, user, ast_conference::usercontainer, ast_conference::users, ast_party_name::valid, and ast_party_number::valid.
|
static |
Definition at line 1048 of file app_meetme.c.
References ast_assert, ast_free, ast_json_integer_get(), ast_json_object_get(), ast_json_string_get(), ast_manager_build_channel_state_string(), ast_str_append_event_header(), ast_str_buffer(), ast_str_create, ast_str_set(), ast_channel_blob::blob, EVENT_FLAG_CALL, manager_event, NULL, RAII_VAR, ast_channel_blob::snapshot, stasis_message_data(), stasis_message_type(), and status.
Referenced by meetme_stasis_init().
|
static |
Definition at line 964 of file app_meetme.c.
References meetme_event_message_router, NULL, stasis_message_router_unsubscribe(), and STASIS_MESSAGE_TYPE_CLEANUP.
Referenced by meetme_stasis_init(), and unload_module().
|
static |
Definition at line 1165 of file app_meetme.c.
References ao2_cleanup, ast_channel_blob_create(), ast_channel_lock, ast_channel_topic(), ast_channel_unlock, ast_json_integer_create(), ast_json_object_set(), ast_json_object_update(), ast_json_pack(), ast_json_unref(), ast_tvnow(), ast_conference::confno, NULL, RAII_VAR, and stasis_publish().
Referenced by conf_free(), conf_run(), and send_talking_event().
|
static |
Definition at line 979 of file app_meetme.c.
References ast_channel_topic_all(), meetme_event_message_router, meetme_stasis_cb(), meetme_stasis_cleanup(), NULL, stasis_message_router_add(), stasis_message_router_create, and STASIS_MESSAGE_TYPE_INIT.
Referenced by load_module().
|
static |
Definition at line 5011 of file app_meetme.c.
References ADMINFLAG_MUTED, ADMINFLAG_SELFMUTED, ADMINFLAG_T_REQUEST, ao2_find, ao2_ref, ast_channel_name(), ast_channel_uniqueid(), AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, ast_log, ast_strdupa, ast_strlen_zero(), astman_get_header(), astman_send_ack(), astman_send_error(), ast_conf_user::list, LOG_NOTICE, and user.
Referenced by action_meetmemute(), and action_meetmeunmute().
|
static |
Callback for devicestate providers.
Definition at line 5310 of file app_meetme.c.
References AST_DEVICE_INUSE, AST_DEVICE_INVALID, AST_DEVICE_NOT_INUSE, AST_LIST_LOCK, AST_LIST_TRAVERSE, AST_LIST_UNLOCK, and ast_conference::list.
Referenced by load_module().
|
static |
Definition at line 5241 of file app_meetme.c.
References args, ast_closestream(), AST_FILE_MODE, AST_FRAME_BITS, AST_FRAME_VOICE, ast_frdup, ast_frfree, AST_LIST_LOCK, AST_LIST_UNLOCK, ast_mutex_lock, ast_mutex_unlock, ast_read(), ast_stopstream(), ast_strlen_zero(), ast_waitfor(), ast_writefile(), ast_writestream(), ast_filestream::f, filename_parse(), ast_frame::flags, ast_filestream::flags, ast_conference::lchan, ast_conference::listenlock, MEETME_RECORD_ACTIVE, MEETME_RECORD_OFF, MEETME_RECORD_TERMINATE, NULL, ast_conference::origframe, PATH_MAX, ast_conference::recording, ast_conference::recordingfilename, ast_conference::recordingformat, and ast_conference::transframe.
Referenced by conf_run(), and meetme_menu_admin_extended().
|
static |
Definition at line 5553 of file app_meetme.c.
References ast_unload_realtime(), and load_config().
Referenced by load_config(), and load_config_meetme().
|
static |
Definition at line 1340 of file app_meetme.c.
References ast_channel_setoption(), AST_OPTION_RXGAIN, and AST_OPTION_TXGAIN.
Referenced by admin_exec(), conf_run(), and user_reset_vol_cb().
|
static |
Definition at line 2084 of file app_meetme.c.
References ast_copy_string(), ast_debug, ast_load_realtime(), ast_localtime(), ast_mktime(), ast_strftime(), ast_strptime(), ast_tvnow(), ast_update_realtime(), ast_variables_destroy(), DATE_FORMAT, extendby, NULL, and var.
Referenced by admin_exec(), meetme_menu_admin(), and meetme_menu_normal().
|
static |
Definition at line 2242 of file app_meetme.c.
References ast_json_unref(), ast_conference::chan, meetme_stasis_generate_msg(), RAII_VAR, and status_to_json().
Referenced by set_user_talking().
|
static |
Definition at line 1269 of file app_meetme.c.
References ast_channel_setoption(), AST_OPTION_TXGAIN, and gain_map.
Referenced by tweak_listen_volume().
|
static |
Definition at line 1257 of file app_meetme.c.
References ast_channel_setoption(), AST_OPTION_RXGAIN, and gain_map.
Referenced by conf_run(), and tweak_talk_volume().
|
static |
Definition at line 2248 of file app_meetme.c.
References ast_conference::chan, and send_talking_event().
Referenced by conf_run().
STASIS_MESSAGE_TYPE_DEFN_LOCAL | ( | meetme_end_type | ) |
STASIS_MESSAGE_TYPE_DEFN_LOCAL | ( | meetme_join_type | ) |
STASIS_MESSAGE_TYPE_DEFN_LOCAL | ( | meetme_leave_type | ) |
STASIS_MESSAGE_TYPE_DEFN_LOCAL | ( | meetme_mute_type | ) |
STASIS_MESSAGE_TYPE_DEFN_LOCAL | ( | meetme_talk_request_type | ) |
STASIS_MESSAGE_TYPE_DEFN_LOCAL | ( | meetme_talking_type | ) |
|
static |
Definition at line 1146 of file app_meetme.c.
References ast_json_pack().
Referenced by conf_run(), and send_talking_event().
|
static |
Definition at line 1328 of file app_meetme.c.
References set_listen_volume(), and tweak_volume().
Referenced by admin_exec(), meetme_menu_admin(), meetme_menu_normal(), user_listen_voldown_cb(), and user_listen_volup_cb().
|
static |
Definition at line 1316 of file app_meetme.c.
References set_talk_volume(), and tweak_volume().
Referenced by admin_exec(), meetme_menu_admin(), meetme_menu_normal(), user_talk_voldown_cb(), and user_talk_volup_cb().
|
static |
Definition at line 1281 of file app_meetme.c.
References volume::desired, VOL_DOWN, and VOL_UP.
Referenced by tweak_listen_volume(), and tweak_talk_volume().
|
static |
Definition at line 5493 of file app_meetme.c.
References app, app2, app3, app4, ARRAY_LEN, ast_cli_unregister_multiple(), ast_custom_function_unregister(), ast_devstate_prov_del(), ast_manager_unregister(), ast_unload_realtime(), ast_unregister_application(), cli_meetme, meetme_info_acf, and meetme_stasis_cleanup().
|
static |
Definition at line 4762 of file app_meetme.c.
References args, ast_channel_name(), CMP_MATCH, and CMP_STOP.
Referenced by channel_admin_exec().
|
static |
Definition at line 4734 of file app_meetme.c.
References tweak_listen_volume(), and VOL_DOWN.
Referenced by admin_exec().
|
static |
Definition at line 4727 of file app_meetme.c.
References tweak_listen_volume(), and VOL_UP.
Referenced by admin_exec().
|
static |
Definition at line 1401 of file app_meetme.c.
Referenced by admin_exec(), conf_run(), and meetme_menu_admin().
|
static |
Definition at line 1389 of file app_meetme.c.
References CMP_MATCH, CMP_STOP, and ast_conf_user::user_no.
Referenced by build_conf().
|
static |
Definition at line 4755 of file app_meetme.c.
References reset_volumes().
Referenced by admin_exec().
|
static |
Definition at line 2266 of file app_meetme.c.
References ADMINFLAG_HANGUP, ast_test_flag64, and CONFFLAG_ADMIN.
Referenced by conf_run().
|
static |
Definition at line 2277 of file app_meetme.c.
References ADMINFLAG_KICKME, ast_test_flag64, and CONFFLAG_ADMIN.
Referenced by admin_exec(), and meetme_menu_admin_extended().
|
static |
Definition at line 2299 of file app_meetme.c.
References ADMINFLAG_MUTED, ast_test_flag64, and CONFFLAG_ADMIN.
Referenced by admin_exec(), and meetme_menu_admin_extended().
|
static |
Definition at line 2288 of file app_meetme.c.
References ADMINFLAG_MUTED, ADMINFLAG_SELFMUTED, ADMINFLAG_T_REQUEST, ast_test_flag64, and CONFFLAG_ADMIN.
Referenced by admin_exec(), and meetme_menu_admin_extended().
|
static |
Definition at line 4748 of file app_meetme.c.
References tweak_talk_volume(), and VOL_DOWN.
Referenced by admin_exec().
|
static |
Definition at line 4741 of file app_meetme.c.
References tweak_talk_volume(), and VOL_UP.
Referenced by admin_exec().
|
static |
Definition at line 5566 of file app_meetme.c.
|
static |
Definition at line 812 of file app_meetme.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 813 of file app_meetme.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 814 of file app_meetme.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 815 of file app_meetme.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 5566 of file app_meetme.c.
|
static |
The number of audio buffers to be allocated on pseudo channels when in a conference.
Definition at line 928 of file app_meetme.c.
Referenced by conf_run(), load_config_meetme(), and meetme_set_defaults().
|
static |
Definition at line 1937 of file app_meetme.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 896 of file app_meetme.c.
Referenced by build_conf(), conf_exec(), and dispose_conf().
|
static |
|
static |
Definition at line 820 of file app_meetme.c.
Referenced by find_conf_realtime(), load_config_meetme(), and meetme_set_defaults().
|
static |
Definition at line 821 of file app_meetme.c.
Referenced by find_conf_realtime(), load_config_meetme(), and meetme_set_defaults().
|
static |
Definition at line 822 of file app_meetme.c.
Referenced by load_config_meetme(), meetme_set_defaults(), and rt_extend_conf().
|
static |
Definition at line 819 of file app_meetme.c.
Referenced by find_conf_realtime(), load_config_meetme(), and meetme_set_defaults().
|
static |
Map 'volume' levels from -5 through +5 into decibel (dB) settings for channel drivers.
Definition at line 937 of file app_meetme.c.
Referenced by set_listen_volume(), and set_talk_volume().
|
static |
Definition at line 952 of file app_meetme.c.
Referenced by meetme_stasis_cleanup(), and meetme_stasis_init().
|
static |
Definition at line 5482 of file app_meetme.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 810 of file app_meetme.c.
Referenced by conf_exec(), and find_conf_realtime().
|
static |
Log participant count to the RealTime backend
Definition at line 825 of file app_meetme.c.
Referenced by conf_run(), load_config_meetme(), and meetme_set_defaults().
|
static |
Definition at line 818 of file app_meetme.c.
Referenced by conf_exec(), conf_run(), find_conf_realtime(), load_config_meetme(), meetme_menu_admin(), meetme_menu_normal(), and meetme_set_defaults().