Asterisk - The Open Source Telephony Project
18.5.0
|
Directed Call Pickup Support. More...
#include "asterisk.h"
#include "asterisk/file.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/lock.h"
#include "asterisk/app.h"
#include "asterisk/pickup.h"
#include "asterisk/manager.h"
#include "asterisk/callerid.h"
Go to the source code of this file.
Data Structures | |
struct | pickup_by_name_args |
Macros | |
#define | PICKUPMARK "PICKUPMARK" |
Enumerations | |
enum | OPT_PICKUPCHAN_FLAGS { OPT_PICKUPCHAN_PARTIAL = (1 << 0) } |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static struct ast_channel * | find_by_channel (struct ast_channel *chan, const char *channame) |
Helper Function to walk through ALL channels checking NAME and STATE. More... | |
static int | find_by_mark (void *obj, void *arg, void *data, int flags) |
static int | find_by_name (void *obj, void *arg, void *data, int flags) |
static struct ast_channel * | find_by_part (struct ast_channel *chan, const char *part) |
static int | find_by_uniqueid (void *obj, void *arg, void *data, int flags) |
static int | load_module (void) |
static int | pickup_by_channel (struct ast_channel *chan, const char *name) |
Attempt to pick up named channel. More... | |
static int | pickup_by_exten (struct ast_channel *chan, const char *exten, const char *context) |
static int | pickup_by_group (struct ast_channel *chan) |
static int | pickup_by_mark (struct ast_channel *chan, const char *mark) |
static int | pickup_by_part (struct ast_channel *chan, const char *part) |
static int | pickup_exec (struct ast_channel *chan, const char *data) |
static int | pickupchan_exec (struct ast_channel *chan, const char *data) |
static int | unload_module (void) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Directed Call Pickup 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 = "30ef0c93b36035ec78c9cfd712d36d9b" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, .support_level = AST_MODULE_SUPPORT_CORE, } |
static const char | app [] = "Pickup" |
static const char | app2 [] = "PickupChan" |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static const struct ast_app_option | pickupchan_opts [128] = { [ 'p' ] = { .flag = OPT_PICKUPCHAN_PARTIAL }, } |
Directed Call Pickup Support.
Definition in file app_directed_pickup.c.
#define PICKUPMARK "PICKUPMARK" |
Definition at line 48 of file app_directed_pickup.c.
Referenced by find_by_mark(), and pickup_exec().
enum OPT_PICKUPCHAN_FLAGS |
Enumerator | |
---|---|
OPT_PICKUPCHAN_PARTIAL |
Definition at line 411 of file app_directed_pickup.c.
|
static |
Definition at line 492 of file app_directed_pickup.c.
|
static |
Definition at line 492 of file app_directed_pickup.c.
struct ast_module* AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 492 of file app_directed_pickup.c.
|
static |
Helper Function to walk through ALL channels checking NAME and STATE.
Definition at line 180 of file app_directed_pickup.c.
References ast_alloca, ast_channel_callback(), pickup_by_name_args::chan, find_by_name(), find_by_uniqueid(), pickup_by_name_args::len, pickup_by_name_args::name, and NULL.
Referenced by pickup_by_channel().
|
static |
< Potential pickup target
Definition at line 268 of file app_directed_pickup.c.
References ast_can_pickup(), ast_channel_lock, ast_channel_unlock, pickup_by_name_args::chan, CMP_MATCH, CMP_STOP, ast_channel::data, pbx_builtin_getvar_helper(), PICKUPMARK, and tmp().
Referenced by pickup_by_mark().
|
static |
< Potential pickup target
Definition at line 137 of file app_directed_pickup.c.
References args, ast_can_pickup(), ast_channel_lock, ast_channel_name(), ast_channel_unlock, pickup_by_name_args::chan, CMP_MATCH, CMP_STOP, pickup_by_name_args::len, and pickup_by_name_args::name.
Referenced by find_by_channel(), and find_by_part().
|
static |
Definition at line 373 of file app_directed_pickup.c.
References ast_channel_callback(), pickup_by_name_args::chan, find_by_name(), find_by_uniqueid(), pickup_by_name_args::len, pickup_by_name_args::name, and NULL.
Referenced by pickup_by_part().
|
static |
< Potential pickup target
Definition at line 158 of file app_directed_pickup.c.
References args, ast_can_pickup(), ast_channel_lock, ast_channel_uniqueid(), ast_channel_unlock, pickup_by_name_args::chan, CMP_MATCH, CMP_STOP, and pickup_by_name_args::name.
Referenced by find_by_channel(), and find_by_part().
|
static |
Definition at line 482 of file app_directed_pickup.c.
References app, app2, ast_register_application_xml, pickup_exec(), and pickupchan_exec().
|
static |
Attempt to pick up named channel.
< Potential pickup target
Definition at line 220 of file app_directed_pickup.c.
References ast_channel_unlock, ast_channel_unref, ast_do_pickup(), and find_by_channel().
Referenced by pickupchan_exec().
|
static |
< Potential pickup target
Definition at line 237 of file app_directed_pickup.c.
References ast_can_pickup(), ast_channel_iterator_by_exten_new(), ast_channel_iterator_destroy(), ast_channel_iterator_next(), ast_channel_lock, ast_channel_name(), ast_channel_unlock, ast_channel_unref, ast_do_pickup(), ast_log, LOG_NOTICE, and NULL.
Referenced by pickup_exec().
|
static |
< Potential pickup target
Definition at line 308 of file app_directed_pickup.c.
References ast_channel_name(), ast_channel_unlock, ast_channel_unref, ast_do_pickup(), ast_log, ast_pickup_find_by_group(), and LOG_NOTICE.
Referenced by pickup_exec().
|
static |
< Potential pickup target
Definition at line 292 of file app_directed_pickup.c.
References ast_channel_callback(), ast_channel_unlock, ast_channel_unref, ast_do_pickup(), and find_by_mark().
Referenced by pickup_exec().
|
static |
< Potential pickup target
Definition at line 395 of file app_directed_pickup.c.
References ast_channel_unlock, ast_channel_unref, ast_do_pickup(), and find_by_part().
Referenced by pickupchan_exec().
|
static |
Definition at line 326 of file app_directed_pickup.c.
References ast_channel_context(), ast_log, ast_strdupa, ast_strlen_zero, context, exten, LOG_NOTICE, parse(), pickup_by_exten(), pickup_by_group(), pickup_by_mark(), PICKUPMARK, and strsep().
Referenced by load_module().
|
static |
Definition at line 420 of file app_directed_pickup.c.
References args, AST_APP_ARG, ast_app_parse_options(), AST_DECLARE_APP_ARGS, ast_log, AST_STANDARD_APP_ARGS, ast_strdupa, ast_strlen_zero, ast_test_flag, LOG_NOTICE, LOG_WARNING, NULL, OPT_PICKUPCHAN_PARTIAL, options, parse(), pickup_by_channel(), pickup_by_part(), pickupchan_opts, and strsep().
Referenced by load_module().
|
static |
Definition at line 472 of file app_directed_pickup.c.
References app, app2, and ast_unregister_application().
|
static |
Definition at line 492 of file app_directed_pickup.c.
|
static |
Definition at line 125 of file app_directed_pickup.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 126 of file app_directed_pickup.c.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 492 of file app_directed_pickup.c.
|
static |
Definition at line 417 of file app_directed_pickup.c.
Referenced by pickupchan_exec().