Dial plan macro Implementation. More...
#include "asterisk.h"
#include "asterisk/file.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/config.h"
#include "asterisk/utils.h"
#include "asterisk/lock.h"
#include "asterisk/app.h"
Go to the source code of this file.
Macros | |
#define | MACRO_EXIT_RESULT 1024 |
#define | MAX_ARGS 80 |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static int | _macro_exec (struct ast_channel *chan, const char *data, int exclusive) |
static struct ast_exten * | find_matching_priority (struct ast_context *c, const char *exten, int priority, const char *callerid) |
static int | load_module (void) |
static int | macro_exec (struct ast_channel *chan, const char *data) |
static int | macro_exit_exec (struct ast_channel *chan, const char *data) |
static void | macro_fixup (void *data, struct ast_channel *old_chan, struct ast_channel *new_chan) |
static int | macroexclusive_exec (struct ast_channel *chan, const char *data) |
static int | macroif_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 = "Extension Macros" , .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 = "ac1f6a56484a8820659555499174e588" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, } |
static char * | app = "Macro" |
static struct ast_module_info * | ast_module_info = &__mod_info |
static char * | exclusive_app = "MacroExclusive" |
static char * | exit_app = "MacroExit" |
static char * | if_app = "MacroIf" |
static struct ast_datastore_info | macro_ds_info |
Dial plan macro Implementation.
Definition in file app_macro.c.
#define MACRO_EXIT_RESULT 1024 |
Definition at line 158 of file app_macro.c.
Referenced by _macro_exec(), and macro_exit_exec().
#define MAX_ARGS 80 |
Definition at line 155 of file app_macro.c.
Referenced by _macro_exec().
|
static |
Definition at line 647 of file app_macro.c.
|
static |
Definition at line 647 of file app_macro.c.
|
static |
Definition at line 225 of file app_macro.c.
References app2, ast_autoservice_start(), ast_autoservice_stop(), ast_channel_datastore_add(), ast_channel_datastore_find(), ast_channel_lock, ast_channel_unlock, ast_check_hangup(), ast_context_find(), ast_context_lockmacro(), ast_context_unlockmacro(), ast_copy_string(), ast_datastore_alloc(), ast_debug, ast_exists_extension(), AST_FLAG_IN_AUTOLOOP, ast_free, ast_get_context_name(), ast_get_extension_app(), ast_get_extension_app_data(), ast_log(), AST_MAX_CONTEXT, ast_rdlock_context(), ast_rdlock_contexts(), ast_set2_flag, ast_set_flag, ast_spawn_extension(), ast_str_buffer(), ast_str_create(), ast_str_substitute_variables(), ast_strdup, ast_strdupa, ast_strlen_zero(), ast_test_flag, ast_unlock_context(), ast_unlock_contexts(), ast_verb, ast_walk_contexts(), ast_channel::caller, cond, ast_channel::context, DATASTORE_INHERIT_FOREVER, ast_channel::exten, find_matching_priority(), ast_party_caller::id, ast_datastore::inheritance, LOG_ERROR, LOG_WARNING, MACRO_EXIT_RESULT, ast_channel::macrocontext, ast_channel::macroexten, ast_channel::macropriority, MAX_ARGS, ast_channel::name, ast_party_id::number, pbx_builtin_getvar_helper(), pbx_builtin_setvar_helper(), pbx_checkcondition(), ast_channel::priority, S_COR, ast_party_number::str, strsep(), and ast_party_number::valid.
Referenced by macro_exec(), and macroexclusive_exec().
|
static |
Definition at line 190 of file app_macro.c.
References ast_extension_match(), ast_get_context_name(), ast_get_extension_cidmatch(), ast_get_extension_matchcid(), ast_get_extension_name(), ast_get_extension_priority(), ast_get_include_name(), ast_walk_context_extensions(), ast_walk_context_includes(), ast_walk_contexts(), and ast_walk_extension_priorities().
Referenced by _macro_exec().
|
static |
Definition at line 635 of file app_macro.c.
References ast_register_application_xml, macro_exec(), macro_exit_exec(), macroexclusive_exec(), and macroif_exec().
|
static |
Definition at line 584 of file app_macro.c.
References _macro_exec().
Referenced by load_module(), and macroif_exec().
|
static |
Definition at line 618 of file app_macro.c.
References MACRO_EXIT_RESULT.
Referenced by load_module().
|
static |
Definition at line 172 of file app_macro.c.
References pbx_builtin_getvar_helper(), and pbx_builtin_setvar_helper().
|
static |
Definition at line 589 of file app_macro.c.
References _macro_exec().
Referenced by load_module().
|
static |
Definition at line 594 of file app_macro.c.
References ast_log(), ast_strdupa, LOG_WARNING, macro_exec(), and pbx_checkcondition().
Referenced by load_module().
|
static |
Definition at line 623 of file app_macro.c.
References ast_unregister_application().
|
static |
Definition at line 647 of file app_macro.c.
|
static |
Definition at line 160 of file app_macro.c.
|
static |
Definition at line 647 of file app_macro.c.
|
static |
Definition at line 162 of file app_macro.c.
|
static |
Definition at line 163 of file app_macro.c.
|
static |
Definition at line 161 of file app_macro.c.
|
static |
Definition at line 167 of file app_macro.c.