|
enum | mixmonitor_args {
OPT_ARG_READVOLUME = 0,
OPT_ARG_WRITEVOLUME,
OPT_ARG_VOLUME,
OPT_ARG_WRITENAME,
OPT_ARG_READNAME,
OPT_ARG_UID,
OPT_ARG_VMRECIPIENTS,
OPT_ARG_BEEP_INTERVAL,
OPT_ARG_DEPRECATED_RWSYNC,
OPT_ARG_NO_RWSYNC,
OPT_ARG_ARRAY_SIZE
} |
|
enum | mixmonitor_flags {
MUXFLAG_APPEND = (1 << 1),
MUXFLAG_BRIDGED = (1 << 2),
MUXFLAG_VOLUME = (1 << 3),
MUXFLAG_READVOLUME = (1 << 4),
MUXFLAG_WRITEVOLUME = (1 << 5),
MUXFLAG_READ = (1 << 6),
MUXFLAG_WRITE = (1 << 7),
MUXFLAG_COMBINED = (1 << 8),
MUXFLAG_UID = (1 << 9),
MUXFLAG_VMRECIPIENTS = (1 << 10),
MUXFLAG_BEEP = (1 << 11),
MUXFLAG_BEEP_START = (1 << 12),
MUXFLAG_BEEP_STOP = (1 << 13),
MUXFLAG_DEPRECATED_RWSYNC = (1 << 14),
MUXFLAG_NO_RWSYNC = (1 << 15),
MUXFLAG_AUTO_DELETE = (1 << 16),
MUXFLAG_REAL_CALLERID = (1 << 17)
} |
|
|
static void | __reg_module (void) |
|
static void | __unreg_module (void) |
|
static void | add_vm_recipients_from_string (struct mixmonitor *mixmonitor, const char *vm_recipients) |
|
struct ast_module * | AST_MODULE_SELF_SYM (void) |
|
static int | clear_mixmonitor_methods (void) |
|
static void | clear_mixmonitor_recipient_list (struct mixmonitor *mixmonitor) |
|
static void | copy_to_voicemail (struct mixmonitor *mixmonitor, const char *ext, const char *filename) |
|
static void | destroy_monitor_audiohook (struct mixmonitor *mixmonitor) |
|
static char * | filename_parse (char *filename, char *buffer, size_t len) |
|
static int | func_mixmonitor_read (struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) |
|
static char * | handle_cli_mixmonitor (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
|
static int | launch_monitor_thread (struct ast_channel *chan, const char *filename, unsigned int flags, int readvol, int writevol, const char *post_process, const char *filename_write, char *filename_read, const char *uid_channel_var, const char *recipients, const char *beep_id) |
|
static int | load_module (void) |
|
static int | manager_mixmonitor (struct mansession *s, const struct message *m) |
|
static int | manager_mute_mixmonitor (struct mansession *s, const struct message *m) |
| Mute / unmute a MixMonitor channel.
|
|
static int | manager_stop_mixmonitor (struct mansession *s, const struct message *m) |
|
static int | mixmonitor_autochan_is_bridged (struct ast_autochan *autochan) |
|
static void | mixmonitor_ds_close_fs (struct mixmonitor_ds *mixmonitor_ds) |
|
static void | mixmonitor_ds_destroy (void *data) |
|
static void | mixmonitor_ds_remove_and_free (struct ast_channel *chan, const char *datastore_id) |
|
static int | mixmonitor_exec (struct ast_channel *chan, const char *data) |
|
static void | mixmonitor_free (struct mixmonitor *mixmonitor) |
|
static void | mixmonitor_save_prep (struct mixmonitor *mixmonitor, char *filename, struct ast_filestream **fs, unsigned int *oflags, int *errflag, char **ext) |
|
static void * | mixmonitor_thread (void *obj) |
|
static int | mute_mixmonitor_instance (struct ast_channel *chan, const char *data, enum ast_audiohook_flags flag, int clearmute) |
| Mute / unmute an individual MixMonitor by id.
|
|
static int | set_mixmonitor_methods (void) |
|
static int | setup_mixmonitor_ds (struct mixmonitor *mixmonitor, struct ast_channel *chan, char **datastore_id, const char *beep_id) |
|
static int | start_mixmonitor_callback (struct ast_channel *chan, const char *filename, const char *options) |
|
static int | startmon (struct ast_channel *chan, struct ast_audiohook *audiohook) |
|
static int | stop_mixmonitor_callback (struct ast_channel *chan, const char *mixmonitor_id) |
|
static int | stop_mixmonitor_exec (struct ast_channel *chan, const char *data) |
|
static int | stop_mixmonitor_full (struct ast_channel *chan, const char *data) |
|
static int | unload_module (void) |
|
|
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Mixed Audio Monitoring Application" , .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 = "da6642af068ee5e6490c5b1d2cc1d238" , .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .optional_modules = "func_periodic_hook", } |
|
static const char *const | app = "MixMonitor" |
|
static const struct ast_module_info * | ast_module_info = &__mod_info |
|
static struct ast_cli_entry | cli_mixmonitor [] |
|
static const struct ast_datastore_info | mixmonitor_ds_info |
|
static struct ast_custom_function | mixmonitor_function |
|
static const struct ast_app_option | mixmonitor_opts [128] = { [ 'a' ] = { .flag = MUXFLAG_APPEND }, [ 'b' ] = { .flag = MUXFLAG_BRIDGED }, [ 'B' ] = { .flag = MUXFLAG_BEEP , .arg_index = OPT_ARG_BEEP_INTERVAL + 1 }, [ 'c' ] = { .flag = MUXFLAG_REAL_CALLERID }, [ 'd' ] = { .flag = MUXFLAG_AUTO_DELETE }, [ 'p' ] = { .flag = MUXFLAG_BEEP_START }, [ 'P' ] = { .flag = MUXFLAG_BEEP_STOP }, [ 'v' ] = { .flag = MUXFLAG_READVOLUME , .arg_index = OPT_ARG_READVOLUME + 1 }, [ 'V' ] = { .flag = MUXFLAG_WRITEVOLUME , .arg_index = OPT_ARG_WRITEVOLUME + 1 }, [ 'W' ] = { .flag = MUXFLAG_VOLUME , .arg_index = OPT_ARG_VOLUME + 1 }, [ 'r' ] = { .flag = MUXFLAG_READ , .arg_index = OPT_ARG_READNAME + 1 }, [ 't' ] = { .flag = MUXFLAG_WRITE , .arg_index = OPT_ARG_WRITENAME + 1 }, [ 'i' ] = { .flag = MUXFLAG_UID , .arg_index = OPT_ARG_UID + 1 }, [ 'm' ] = { .flag = MUXFLAG_VMRECIPIENTS , .arg_index = OPT_ARG_VMRECIPIENTS + 1 }, [ 'S' ] = { .flag = MUXFLAG_DEPRECATED_RWSYNC , .arg_index = OPT_ARG_DEPRECATED_RWSYNC + 1 }, [ 'n' ] = { .flag = MUXFLAG_NO_RWSYNC , .arg_index = OPT_ARG_NO_RWSYNC + 1 }, } |
|
static const char *const | mixmonitor_spy_type = "MixMonitor" |
|
static const char *const | stop_app = "StopMixMonitor" |
|
MixMonitor() - Record a call and mix the audio during the recording.
- Author
- Mark Spencer marks.nosp@m.ter@.nosp@m.digiu.nosp@m.m.co.nosp@m.m
-
Kevin P. Fleming kpfle.nosp@m.ming.nosp@m.@digi.nosp@m.um.c.nosp@m.om
- Note
- Based on app_muxmon.c provided by Anthony Minessale II anthm.nosp@m.ct@y.nosp@m.ahoo..nosp@m.com
Definition in file app_mixmonitor.c.