Asterisk - The Open Source Telephony Project
18.5.0
|
Built in bridging features. More...
#include "asterisk.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/bridge.h"
#include "asterisk/bridge_technology.h"
#include "asterisk/frame.h"
#include "asterisk/file.h"
#include "asterisk/app.h"
#include "asterisk/astobj2.h"
#include "asterisk/pbx.h"
#include "asterisk/parking.h"
#include "asterisk/features_config.h"
#include "asterisk/monitor.h"
#include "asterisk/mixmonitor.h"
#include "asterisk/audiohook.h"
#include "asterisk/causes.h"
Go to the source code of this file.
Enumerations | |
enum | set_touch_variables_res { SET_TOUCH_SUCCESS, SET_TOUCH_UNSET, SET_TOUCH_ALLOC_FAILURE } |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static int | feature_automixmonitor (struct ast_bridge_channel *bridge_channel, void *hook_pvt) |
static int | feature_automonitor (struct ast_bridge_channel *bridge_channel, void *hook_pvt) |
static int | feature_hangup (struct ast_bridge_channel *bridge_channel, void *hook_pvt) |
Internal built in feature for hangup. More... | |
static int | load_module (void) |
static void | set_touch_variable (enum set_touch_variables_res *res, struct ast_channel *chan, const char *var_name, char **touch) |
static enum set_touch_variables_res | set_touch_variables (struct ast_channel *chan, int is_mixmonitor, char **touch_format, char **touch_monitor, char **touch_monitor_prefix) |
static void | start_automixmonitor (struct ast_bridge_channel *bridge_channel, struct ast_channel *peer_chan, struct ast_features_general_config *features_cfg, const char *start_message) |
static void | start_automonitor (struct ast_bridge_channel *bridge_channel, struct ast_channel *peer_chan, struct ast_features_general_config *features_cfg, const char *start_message) |
static void | stop_automixmonitor (struct ast_bridge_channel *bridge_channel, struct ast_channel *peer_chan, struct ast_features_general_config *features_cfg, const char *stop_message) |
static void | stop_automonitor (struct ast_bridge_channel *bridge_channel, struct ast_channel *peer_chan, struct ast_features_general_config *features_cfg, const char *stop_message) |
static int | unload_module (void) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Built in bridging features" , .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 = "30ef0c93b36035ec78c9cfd712d36d9b" , .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, .optional_modules = "res_monitor", } |
static const struct ast_module_info * | ast_module_info = &__mod_info |
Built in bridging features.
Definition in file bridge_builtin_features.c.
Enumerator | |
---|---|
SET_TOUCH_SUCCESS | |
SET_TOUCH_UNSET | |
SET_TOUCH_ALLOC_FAILURE |
Definition at line 57 of file bridge_builtin_features.c.
|
static |
Definition at line 529 of file bridge_builtin_features.c.
|
static |
Definition at line 529 of file bridge_builtin_features.c.
struct ast_module* AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 529 of file bridge_builtin_features.c.
|
static |
Definition at line 408 of file bridge_builtin_features.c.
References ao2_cleanup, AST_AUDIOHOOK_TYPE_SPY, ast_bridge_channel_lock_bridge(), ast_bridge_channel_queue_playfile(), ast_bridge_peer_nolock(), ast_bridge_unlock, ast_channel_audiohook_count_by_source(), ast_channel_cleanup, ast_channel_lock, ast_channel_name(), ast_channel_unlock, ast_get_chan_features_general_config(), ast_strdupa, ast_strlen_zero, ast_verb, AUTO_MONITOR_START, AUTO_MONITOR_STOP, AUTO_MONITOR_TOGGLE, ast_bridge_channel::bridge, ast_bridge_channel::chan, mixmonitor_spy_type, NULL, options, pbx_builtin_getvar_helper(), RAII_VAR, S_OR, start_automixmonitor(), ast_bridge_features_automixmonitor::start_stop, and stop_automixmonitor().
Referenced by load_module().
|
static |
Definition at line 220 of file bridge_builtin_features.c.
References ao2_cleanup, ast_bridge_channel_lock_bridge(), ast_bridge_channel_queue_playfile(), ast_bridge_peer_nolock(), ast_bridge_unlock, ast_channel_cleanup, ast_channel_lock, ast_channel_monitor(), ast_channel_name(), ast_channel_unlock, ast_get_chan_features_general_config(), ast_strdupa, ast_strlen_zero, ast_verb, AUTO_MONITOR_START, AUTO_MONITOR_STOP, AUTO_MONITOR_TOGGLE, ast_bridge_channel::bridge, ast_bridge_channel::chan, NULL, options, pbx_builtin_getvar_helper(), RAII_VAR, S_OR, start_automonitor(), ast_bridge_features_automonitor::start_stop, and stop_automonitor().
Referenced by load_module().
|
static |
Internal built in feature for hangup.
Definition at line 491 of file bridge_builtin_features.c.
References ast_bridge_channel_leave_bridge(), AST_CAUSE_NORMAL_CLEARING, and BRIDGE_CHANNEL_STATE_END.
Referenced by load_module().
|
static |
Definition at line 512 of file bridge_builtin_features.c.
References AST_BRIDGE_BUILTIN_AUTOMIXMON, AST_BRIDGE_BUILTIN_AUTOMON, AST_BRIDGE_BUILTIN_HANGUP, ast_bridge_features_register(), AST_MODFLAG_DEFAULT, AST_MODULE_INFO(), AST_MODULE_LOAD_SUCCESS, ast_module_shutdown_ref, AST_MODULE_SUPPORT_CORE, ASTERISK_GPL_KEY, feature_automixmonitor(), feature_automonitor(), feature_hangup(), NULL, ast_module_info::self, and unload_module().
|
static |
Definition at line 63 of file bridge_builtin_features.c.
References ast_strdup, ast_strlen_zero, pbx_builtin_getvar_helper(), SET_TOUCH_ALLOC_FAILURE, and SET_TOUCH_SUCCESS.
Referenced by set_touch_variables().
|
static |
Definition at line 81 of file bridge_builtin_features.c.
References lock, SCOPED_CHANNELLOCK, SET_TOUCH_UNSET, and set_touch_variable().
Referenced by start_automixmonitor(), and start_automonitor().
|
static |
Definition at line 323 of file bridge_builtin_features.c.
References ast_alloca, ast_bridge_channel_queue_playfile(), ast_bridge_channel_write_playfile(), ast_channel_caller(), ast_channel_name(), ast_free, ast_start_mixmonitor(), ast_strdupa, ast_strlen_zero, ast_verb, ast_bridge_channel::chan, ast_features_general_config::courtesytone, ast_party_caller::id, len(), NULL, ast_party_id::number, pbx_builtin_setvar_helper(), RAII_VAR, ast_features_general_config::recordingfailsound, S_COR, S_OR, SET_TOUCH_ALLOC_FAILURE, SET_TOUCH_SUCCESS, SET_TOUCH_UNSET, set_touch_variables(), ast_party_number::str, and ast_party_number::valid.
Referenced by feature_automixmonitor().
|
static |
Definition at line 139 of file bridge_builtin_features.c.
References ast_alloca, ast_bridge_channel_queue_playfile(), ast_bridge_channel_write_playfile(), ast_channel_caller(), ast_channel_name(), ast_free, ast_monitor_setjoinfiles(), ast_monitor_start(), ast_strdupa, ast_strlen_zero, ast_verb, ast_bridge_channel::chan, ast_features_general_config::courtesytone, ast_party_caller::id, len(), NULL, ast_party_id::number, pbx_builtin_setvar_helper(), RAII_VAR, S_COR, S_OR, SET_TOUCH_ALLOC_FAILURE, SET_TOUCH_SUCCESS, SET_TOUCH_UNSET, set_touch_variables(), ast_party_number::str, ast_party_number::valid, X_REC_IN, and X_REC_OUT.
Referenced by feature_automonitor().
|
static |
Definition at line 300 of file bridge_builtin_features.c.
References ast_bridge_channel_queue_playfile(), ast_bridge_channel_write_playfile(), ast_channel_name(), ast_stop_mixmonitor(), ast_strlen_zero, ast_verb, ast_bridge_channel::chan, ast_features_general_config::courtesytone, NULL, and ast_features_general_config::recordingfailsound.
Referenced by feature_automixmonitor().
|
static |
Definition at line 106 of file bridge_builtin_features.c.
References ast_bridge_channel_queue_playfile(), ast_bridge_channel_write_playfile(), ast_channel_lock, ast_channel_monitor(), ast_channel_name(), ast_channel_unlock, ast_strlen_zero, ast_verb, ast_bridge_channel::chan, ast_features_general_config::courtesytone, NULL, ast_features_general_config::recordingfailsound, and stop.
Referenced by feature_automonitor().
|
static |
Definition at line 503 of file bridge_builtin_features.c.
References AST_BRIDGE_BUILTIN_AUTOMIXMON, AST_BRIDGE_BUILTIN_AUTOMON, AST_BRIDGE_BUILTIN_HANGUP, and ast_bridge_features_unregister().
Referenced by load_module().
|
static |
Definition at line 529 of file bridge_builtin_features.c.
|
static |
Definition at line 529 of file bridge_builtin_features.c.