| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
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. | |
| 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. | |
| 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 = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .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.
| enum OPT_PICKUPCHAN_FLAGS | 
| 
 | static | 
Definition at line 498 of file app_directed_pickup.c.
| 
 | static | 
Definition at line 498 of file app_directed_pickup.c.
| struct ast_module * AST_MODULE_SELF_SYM | ( | void | ) | 
Definition at line 498 of file app_directed_pickup.c.
| 
 | static | 
Helper Function to walk through ALL channels checking NAME and STATE.
Definition at line 186 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 274 of file app_directed_pickup.c.
References ast_can_pickup(), ast_channel_lock, ast_channel_unlock, CMP_MATCH, CMP_STOP, ast_channel::data, pbx_builtin_getvar_helper(), and PICKUPMARK.
Referenced by pickup_by_mark().
| 
 | static | 
< Potential pickup target
Definition at line 143 of file app_directed_pickup.c.
References args, ast_can_pickup(), ast_channel_lock, ast_channel_name(), ast_channel_unlock, CMP_MATCH, and CMP_STOP.
Referenced by find_by_channel(), and find_by_part().
| 
 | static | 
Definition at line 379 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 164 of file app_directed_pickup.c.
References args, ast_can_pickup(), ast_channel_lock, ast_channel_uniqueid(), ast_channel_unlock, CMP_MATCH, and CMP_STOP.
Referenced by find_by_channel(), and find_by_part().
| 
 | static | 
Definition at line 488 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 226 of file app_directed_pickup.c.
References ast_channel_unlock, ast_channel_unref, ast_do_pickup(), find_by_channel(), and name.
Referenced by pickupchan_exec().
| 
 | static | 
< Potential pickup target
Definition at line 243 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 314 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 298 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 401 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 332 of file app_directed_pickup.c.
References ast_channel_context(), ast_log, ast_strdupa, ast_strlen_zero(), ast_channel::context, ast_channel::data, ast_channel::exten, LOG_NOTICE, pickup_by_exten(), pickup_by_group(), pickup_by_mark(), PICKUPMARK, and strsep().
Referenced by load_module().
| 
 | static | 
Definition at line 426 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, ast_channel::data, LOG_NOTICE, LOG_WARNING, NULL, OPT_PICKUPCHAN_PARTIAL, options, pickup_by_channel(), pickup_by_part(), pickupchan_opts, and strsep().
Referenced by load_module().
| 
 | static | 
Definition at line 478 of file app_directed_pickup.c.
References app, app2, and ast_unregister_application().
| 
 | static | 
Definition at line 498 of file app_directed_pickup.c.
| 
 | static | 
Definition at line 131 of file app_directed_pickup.c.
Referenced by load_module(), and unload_module().
| 
 | static | 
Definition at line 132 of file app_directed_pickup.c.
Referenced by load_module(), and unload_module().
| 
 | static | 
Definition at line 498 of file app_directed_pickup.c.
| 
 | static | 
Definition at line 423 of file app_directed_pickup.c.
Referenced by pickupchan_exec().