#include <asterisk/lock.h>#include <asterisk/cli.h>#include <asterisk/pbx.h>#include <asterisk/channel.h>#include <asterisk/options.h>#include <asterisk/logger.h>#include <asterisk/file.h>#include <asterisk/callerid.h>#include <asterisk/cdr.h>#include <asterisk/config.h>#include <asterisk/term.h>#include <asterisk/manager.h>#include <asterisk/ast_expr.h>#include <asterisk/channel_pvt.h>#include <asterisk/linkedlists.h>#include <asterisk/say.h>#include <asterisk/utils.h>#include <string.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#include <setjmp.h>#include <ctype.h>#include <errno.h>#include <time.h>#include <sys/time.h>#include "asterisk.h"Include dependency graph for pbx.c:

Go to the source code of this file.
Data Structures | |
| struct | ast_exten |
| struct | ast_include |
| struct | ast_sw |
| struct | ast_ignorepat |
| struct | ast_context |
| struct | ast_app |
| struct | ast_state_cb |
| struct | ast_hint |
| struct | pbx_builtin |
| struct | async_stat |
| struct | app_tmp |
Defines | |
| #define | AST_PBX_MAX_STACK 64 |
| #define | HELPER_EXISTS 0 |
| #define | HELPER_SPAWN 1 |
| #define | HELPER_EXEC 2 |
| #define | HELPER_CANMATCH 3 |
| #define | HELPER_MATCHMORE 4 |
| #define | EXTENSION_MATCH_CORE(data, pattern, match) |
| #define | STATUS_NO_CONTEXT 1 |
| #define | STATUS_NO_EXTENSION 2 |
| #define | STATUS_NO_PRIORITY 3 |
| #define | STATUS_SUCCESS 4 |
| #define | FIND_NEXT |
| #define | LOG |
Functions | |
| int | pbx_builtin_setvar (struct ast_channel *, void *) |
| void | pbx_builtin_setvar_helper (struct ast_channel *chan, char *name, char *value) |
| char * | pbx_builtin_getvar_helper (struct ast_channel *chan, char *name) |
| AST_MUTEX_DEFINE_STATIC (applock) | |
| AST_MUTEX_DEFINE_STATIC (conlock) | |
| AST_MUTEX_DEFINE_STATIC (switchlock) | |
| AST_MUTEX_DEFINE_STATIC (hintlock) | |
| int | pbx_exec (struct ast_channel *c, struct ast_app *app, void *data, int newstack) |
| executes an application | |
| ast_app * | pbx_findapp (char *app) |
| Look up an application. | |
| int | ast_extension_match (char *pattern, char *data) |
| Determine if a given extension matches a given pattern (in NXX format). | |
| ast_context * | ast_context_find (char *name) |
| Find a context. | |
| void | pbx_substitute_variables_helper (struct ast_channel *c, const char *cp1, char *cp2, int count) |
| int | ast_extension_state (struct ast_channel *c, char *context, char *exten) |
| Uses hint and devicestate callback to get the state of an extension. | |
| int | ast_device_state_changed (const char *fmt,...) |
| int | ast_extension_state_add (char *context, char *exten, ast_state_cb_type callback, void *data) |
| Registers a state change callback. | |
| int | ast_extension_state_del (int id, ast_state_cb_type callback) |
| Deletes a registered state change callback by ID. | |
| int | ast_get_hint (char *hint, int maxlen, struct ast_channel *c, char *context, char *exten) |
| If an extension exists, return non-zero. | |
| int | ast_exists_extension (struct ast_channel *c, char *context, char *exten, int priority, char *callerid) |
| If an extension exists, return non-zero. | |
| int | ast_canmatch_extension (struct ast_channel *c, char *context, char *exten, int priority, char *callerid) |
| Looks for a valid matching extension. | |
| int | ast_matchmore_extension (struct ast_channel *c, char *context, char *exten, int priority, char *callerid) |
| Looks to see if adding anything to this extension might match something. (exists ^ canmatch). | |
| int | ast_spawn_extension (struct ast_channel *c, char *context, char *exten, int priority, char *callerid) |
| Launch a new extension (i.e. new stack). | |
| int | ast_pbx_run (struct ast_channel *c) |
| Execute the PBX in the current thread. | |
| int | ast_pbx_start (struct ast_channel *c) |
| Create a new thread and start the PBX (or whatever). | |
| int | ast_context_remove_include (char *context, char *include, char *registrar) |
| Removes an include. | |
| int | ast_context_remove_include2 (struct ast_context *con, char *include, char *registrar) |
| Removes an include by an ast_context structure. | |
| int | ast_context_remove_switch (char *context, char *sw, char *data, char *registrar) |
| Remove a switch. | |
| int | ast_context_remove_switch2 (struct ast_context *con, char *sw, char *data, char *registrar) |
| int | ast_context_remove_extension (char *context, char *extension, int priority, char *registrar) |
| Simply remove extension from context. | |
| int | ast_context_remove_extension2 (struct ast_context *con, char *extension, int priority, char *registrar) |
| int | ast_register_application (char *app, int(*execute)(struct ast_channel *, void *), char *synopsis, char *description) |
| Add an application. The function 'execute' should return non-zero if the line needs to be hung up. | |
| int | ast_register_switch (struct ast_switch *sw) |
| Register an alternative switch. | |
| void | ast_unregister_switch (struct ast_switch *sw) |
| Unregister an alternative switch. | |
| int | ast_unregister_application (char *app) |
| Remove an application. | |
| ast_context * | ast_context_create (struct ast_context **extcontexts, char *name, char *registrar) |
| Register a new context. | |
| void | __ast_context_destroy (struct ast_context *con, char *registrar) |
| void | ast_merge_contexts_and_delete (struct ast_context **extcontexts, char *registrar) |
| Merge the temporary contexts into a global contexts list and delete from the global list the ones that are being added. | |
| int | ast_context_add_include (char *context, char *include, char *registrar) |
| Add an include. | |
| int | ast_context_add_include2 (struct ast_context *con, char *value, char *registrar) |
| Add an include. | |
| int | ast_context_add_switch (char *context, char *sw, char *data, char *registrar) |
| Add a switch. | |
| int | ast_context_add_switch2 (struct ast_context *con, char *value, char *data, char *registrar) |
| Adds a switch (first param is a ast_context). | |
| int | ast_context_remove_ignorepat (char *context, char *ignorepat, char *registrar) |
| int | ast_context_remove_ignorepat2 (struct ast_context *con, char *ignorepat, char *registrar) |
| int | ast_context_add_ignorepat (char *con, char *value, char *registrar) |
| Add an ignorepat. | |
| int | ast_context_add_ignorepat2 (struct ast_context *con, char *value, char *registrar) |
| int | ast_ignore_pattern (char *context, char *pattern) |
| Checks to see if a number should be ignored. | |
| int | ast_add_extension (char *context, int replace, char *extension, int priority, char *callerid, char *application, void *data, void(*datad)(void *), char *registrar) |
| int | ast_async_goto (struct ast_channel *chan, char *context, char *exten, int priority) |
| int | ast_async_goto_by_name (char *channame, char *context, char *exten, int priority) |
| int | ast_add_extension2 (struct ast_context *con, int replace, char *extension, int priority, char *callerid, char *application, void *data, void(*datad)(void *), char *registrar) |
| Add an extension to an extension context, this time with an ast_context *. CallerID is a pattern to match on callerid, or NULL to not care about callerid. | |
| int | ast_pbx_outgoing_exten (char *type, int format, void *data, int timeout, char *context, char *exten, int priority, int *reason, int sync, char *callerid, char *variable, char *account) |
| int | ast_pbx_outgoing_app (char *type, int format, void *data, int timeout, char *app, char *appdata, int *reason, int sync, char *callerid, char *variable, char *account) |
| void | ast_context_destroy (struct ast_context *con, char *registrar) |
| Destroy a context (matches the specified context (or ANY context if NULL). | |
| void | pbx_builtin_clear_globals (void) |
| int | load_pbx (void) |
| int | ast_lock_contexts () |
| Locks the contexts. | |
| int | ast_unlock_contexts () |
| Unlocks contexts. | |
| int | ast_lock_context (struct ast_context *con) |
| Locks a given context. | |
| int | ast_unlock_context (struct ast_context *con) |
| Unlocks the given context. | |
| char * | ast_get_context_name (struct ast_context *con) |
| char * | ast_get_extension_name (struct ast_exten *exten) |
| char * | ast_get_include_name (struct ast_include *inc) |
| char * | ast_get_ignorepat_name (struct ast_ignorepat *ip) |
| int | ast_get_extension_priority (struct ast_exten *exten) |
| char * | ast_get_context_registrar (struct ast_context *c) |
| char * | ast_get_extension_registrar (struct ast_exten *e) |
| char * | ast_get_include_registrar (struct ast_include *i) |
| char * | ast_get_ignorepat_registrar (struct ast_ignorepat *ip) |
| char * | ast_get_extension_app (struct ast_exten *e) |
| void * | ast_get_extension_app_data (struct ast_exten *e) |
| char * | ast_get_switch_name (struct ast_sw *sw) |
| char * | ast_get_switch_data (struct ast_sw *sw) |
| char * | ast_get_switch_registrar (struct ast_sw *sw) |
| ast_context * | ast_walk_contexts (struct ast_context *con) |
| ast_exten * | ast_walk_context_extensions (struct ast_context *con, struct ast_exten *exten) |
| ast_sw * | ast_walk_context_switches (struct ast_context *con, struct ast_sw *sw) |
| ast_exten * | ast_walk_extension_priorities (struct ast_exten *exten, struct ast_exten *priority) |
| ast_include * | ast_walk_context_includes (struct ast_context *con, struct ast_include *inc) |
| ast_ignorepat * | ast_walk_context_ignorepats (struct ast_context *con, struct ast_ignorepat *ip) |
| int | ast_context_verify_includes (struct ast_context *con) |
| Verifies includes in an ast_contect structure. | |
Variables | |
| ast_switch * | switches = NULL |
| ast_hint * | hints = NULL |
| ast_state_cb * | statecbs = NULL |
|
|
|
|
|
Definition at line 524 of file pbx.c. Referenced by ast_extension_match(). |
|
|
Value:
|
|
|
Definition at line 444 of file pbx.c. Referenced by ast_canmatch_extension(). |
|
|
|
|
|
Definition at line 441 of file pbx.c. Referenced by ast_exists_extension(). |
|
|
Definition at line 445 of file pbx.c. Referenced by ast_matchmore_extension(). |
|
|
Definition at line 442 of file pbx.c. Referenced by ast_spawn_extension(). |
|
|
Referenced by ast_add_extension2(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
Definition at line 4111 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, free, LOG_WARNING, ast_context::name, ast_exten::next, ast_context::next, and ast_exten::peer. Referenced by ast_context_destroy(), and ast_merge_contexts_and_delete().
|
|
||||||||||||||||||||||||||||||||||||||||
|
Definition at line 3506 of file pbx.c. References ast_add_extension2(), ast_get_context_name(), ast_lock_contexts(), ast_unlock_contexts(), and ast_walk_contexts().
|
|
||||||||||||||||||||||||||||||||||||||||
|
Add an extension to an extension context, this time with an ast_context *. CallerID is a pattern to match on callerid, or NULL to not care about callerid. For details about the arguements, check ast_add_extension() Definition at line 3637 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, free, ast_context::lock, LOG, LOG_ERROR, LOG_WARNING, malloc, ast_context::name, ast_exten::next, ast_exten::peer, PRIORITY_HINT, ast_context::registrar, and ast_context::root. Referenced by ast_add_extension().
|
|
||||||||||||||||||||
|
Definition at line 3532 of file pbx.c. References ast_channel::_state, ast_channel_alloc(), ast_channel_masquerade(), ast_do_masquerade(), ast_hangup(), ast_log(), ast_mutex_lock, ast_mutex_unlock, ast_pbx_start(), ast_setstate(), AST_SOFTHANGUP_ASYNCGOTO, ast_softhangup_nolock(), ast_channel::context, ast_channel::exten, ast_channel::lock, LOG_WARNING, ast_channel::name, ast_channel::pbx, ast_channel::priority, ast_channel::readformat, and ast_channel::writeformat. Referenced by ast_async_goto_by_name().
|
|
||||||||||||||||||||
|
Definition at line 3592 of file pbx.c. References ast_async_goto(), ast_channel_walk_locked(), ast_mutex_unlock, ast_channel::lock, and ast_channel::name.
|
|
||||||||||||||||||||||||
|
Looks for a valid matching extension.
Definition at line 1679 of file pbx.c. References HELPER_CANMATCH.
|
|
||||||||||||||||
|
Add an ignorepat.
Definition at line 3427 of file pbx.c. References ast_context_add_ignorepat2(), ast_get_context_name(), ast_lock_contexts(), ast_unlock_contexts(), and ast_walk_contexts().
|
|
||||||||||||||||
|
Definition at line 3451 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, ast_context::ignorepats, ast_context::lock, LOG_ERROR, and malloc. Referenced by ast_context_add_ignorepat().
|
|
||||||||||||||||
|
Add an include.
Definition at line 2891 of file pbx.c. References ast_context_add_include2(), ast_get_context_name(), ast_lock_contexts(), ast_unlock_contexts(), and ast_walk_contexts().
|
|
||||||||||||||||
|
Add an include.
Definition at line 3208 of file pbx.c. References ast_get_context_name(), ast_log(), ast_mutex_lock, ast_mutex_unlock, ast_verbose(), free, ast_context::includes, ast_context::lock, LOG_ERROR, malloc, option_verbose, and VERBOSE_PREFIX_3. Referenced by ast_context_add_include().
|
|
||||||||||||||||||||
|
Add a switch.
Definition at line 3274 of file pbx.c. References ast_context_add_switch2(), ast_get_context_name(), ast_lock_contexts(), ast_unlock_contexts(), and ast_walk_contexts().
|
|
||||||||||||||||||||
|
Adds a switch (first param is a ast_context). Definition at line 3309 of file pbx.c. References ast_context::alts, ast_get_context_name(), ast_log(), ast_mutex_lock, ast_mutex_unlock, ast_verbose(), free, ast_context::lock, LOG_ERROR, malloc, option_verbose, and VERBOSE_PREFIX_3. Referenced by ast_context_add_switch().
|
|
||||||||||||||||
|
Register a new context.
Definition at line 2814 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, ast_verbose(), LOG_DEBUG, LOG_ERROR, LOG_WARNING, malloc, option_debug, option_verbose, and VERBOSE_PREFIX_3.
|
|
||||||||||||
|
Destroy a context (matches the specified context (or ANY context if NULL).
Definition at line 4182 of file pbx.c. References __ast_context_destroy().
|
|
|
Find a context.
Definition at line 627 of file pbx.c. References ast_mutex_lock, ast_mutex_unlock, and ast_context::next. Referenced by ast_context_verify_includes(), and ast_ignore_pattern().
|
|
||||||||||||||||||||
|
Simply remove extension from context.
Definition at line 2089 of file pbx.c. References ast_context_remove_extension2(), ast_get_context_name(), ast_lock_contexts(), ast_unlock_contexts(), and ast_walk_contexts().
|
|
||||||||||||||||||||
|
Definition at line 2125 of file pbx.c. References ast_mutex_lock, ast_mutex_unlock, free, ast_context::lock, ast_exten::next, ast_exten::peer, PRIORITY_HINT, and ast_context::root. Referenced by ast_context_remove_extension().
|
|
||||||||||||||||
|
Definition at line 3368 of file pbx.c. References ast_context_remove_ignorepat2(), ast_get_context_name(), ast_lock_contexts(), ast_unlock_contexts(), and ast_walk_contexts().
|
|
||||||||||||||||
|
Definition at line 3392 of file pbx.c. References ast_mutex_lock, ast_mutex_unlock, free, ast_context::ignorepats, ast_context::lock, and ast_ignorepat::next. Referenced by ast_context_remove_ignorepat().
|
|
||||||||||||||||
|
Removes an include. See add_include Definition at line 1945 of file pbx.c. References ast_context_remove_include2(), ast_get_context_name(), ast_lock_contexts(), ast_unlock_contexts(), and ast_walk_contexts().
|
|
||||||||||||||||
|
Removes an include by an ast_context structure. See add_include2 Definition at line 1981 of file pbx.c. References ast_mutex_lock, ast_mutex_unlock, free, ast_context::includes, ast_context::lock, and ast_include::next. Referenced by ast_context_remove_include().
|
|
||||||||||||||||||||
|
Remove a switch. Removes a switch with the given parameters Returns 0 on success, -1 on failure Definition at line 2017 of file pbx.c. References ast_context_remove_switch2(), ast_get_context_name(), ast_lock_contexts(), ast_unlock_contexts(), and ast_walk_contexts().
|
|
||||||||||||||||||||
|
Definition at line 2053 of file pbx.c. References ast_context::alts, ast_mutex_lock, ast_mutex_unlock, free, ast_context::lock, and ast_sw::next. Referenced by ast_context_remove_switch().
|
|
|
Verifies includes in an ast_contect structure.
Definition at line 4831 of file pbx.c. References ast_context_find(), ast_get_context_name(), ast_log(), ast_walk_context_includes(), and LOG_WARNING.
|
|
||||||||||||
|
Definition at line 1355 of file pbx.c. References ast_get_extension_app(), AST_MAX_EXTENSION, ast_mutex_lock, ast_mutex_unlock, ast_state_cb::callback, hints, and statecbs.
|
|
||||||||||||||||||||||||
|
If an extension exists, return non-zero.
Definition at line 1674 of file pbx.c. References HELPER_EXISTS. Referenced by ast_pbx_outgoing_exten(), and ast_pbx_run().
|
|
||||||||||||
|
Determine if a given extension matches a given pattern (in NXX format).
Definition at line 594 of file pbx.c. References EXTENSION_MATCH_CORE. Referenced by ast_ignore_pattern().
|
|
||||||||||||||||
|
Uses hint and devicestate callback to get the state of an extension.
Definition at line 1344 of file pbx.c.
|
|
||||||||||||||||||||
|
Registers a state change callback.
Definition at line 1422 of file pbx.c. References ast_mutex_lock, ast_mutex_unlock, ast_state_cb::data, hints, malloc, ast_hint::next, and statecbs. Referenced by init_manager().
|
|
||||||||||||
|
Deletes a registered state change callback by ID.
Definition at line 1502 of file pbx.c. References ast_mutex_lock, ast_mutex_unlock, ast_hint::callbacks, free, hints, ast_state_cb::next, and statecbs.
|
|
|
Definition at line 4702 of file pbx.c. References ast_context::name. Referenced by ast_add_extension(), ast_context_add_ignorepat(), ast_context_add_include(), ast_context_add_include2(), ast_context_add_switch(), ast_context_add_switch2(), ast_context_remove_extension(), ast_context_remove_ignorepat(), ast_context_remove_include(), ast_context_remove_switch(), and ast_context_verify_includes().
|
|
|
Definition at line 4730 of file pbx.c. References ast_context::registrar.
|
|
|
Definition at line 4750 of file pbx.c. References ast_exten::app. Referenced by ast_device_state_changed(), and ast_get_hint().
|
|
|
Definition at line 4755 of file pbx.c. References ast_exten::data.
|
|
|
Definition at line 4707 of file pbx.c. References ast_exten::exten.
|
|
|
Definition at line 4722 of file pbx.c. References ast_exten::priority.
|
|
|
Definition at line 4735 of file pbx.c. References ast_exten::registrar.
|
|
||||||||||||||||||||||||
|
If an extension exists, return non-zero.
Definition at line 1663 of file pbx.c. References ast_get_extension_app().
|
|
|
Definition at line 4717 of file pbx.c. References ast_ignorepat::pattern.
|
|
|
Definition at line 4745 of file pbx.c. References ast_ignorepat::registrar.
|
|
|
Definition at line 4712 of file pbx.c. References ast_include::name.
|
|
|
Definition at line 4740 of file pbx.c. References ast_include::registrar.
|
|
|
Definition at line 4765 of file pbx.c. References ast_sw::data.
|
|
|
Definition at line 4760 of file pbx.c. References ast_sw::name.
|
|
|
Definition at line 4770 of file pbx.c. References ast_sw::registrar.
|
|
||||||||||||
|
Checks to see if a number should be ignored.
Definition at line 3485 of file pbx.c. References ast_context_find(), and ast_extension_match().
|
|
|
Locks a given context.
Definition at line 4689 of file pbx.c. References ast_mutex_lock, and ast_context::lock.
|
|
|
Locks the contexts. Locks the context list Returns 0 on success, -1 on error Definition at line 4676 of file pbx.c. References ast_mutex_lock. Referenced by ast_add_extension(), ast_context_add_ignorepat(), ast_context_add_include(), ast_context_add_switch(), ast_context_remove_extension(), ast_context_remove_ignorepat(), ast_context_remove_include(), and ast_context_remove_switch().
|
|
||||||||||||||||||||||||
|
Looks to see if adding anything to this extension might match something. (exists ^ canmatch).
Definition at line 1684 of file pbx.c. References HELPER_MATCHMORE. Referenced by ast_pbx_run().
|
|
||||||||||||
|
Merge the temporary contexts into a global contexts list and delete from the global list the ones that are being added.
Definition at line 2859 of file pbx.c. References __ast_context_destroy(), ast_log(), ast_mutex_lock, ast_mutex_unlock, and LOG_WARNING.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
Definition at line 4013 of file pbx.c. References ast_channel::_state, ast_hangup(), ast_log(), ast_request_and_dial(), AST_STATE_UP, ast_verbose(), free, LOG_ERROR, LOG_WARNING, malloc, ast_channel::name, option_verbose, pbx_builtin_setvar(), type, and VERBOSE_PREFIX_4.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definition at line 3897 of file pbx.c. References __ast_request_and_dial(), ast_channel::_state, ast_channel_alloc(), ast_exists_extension(), ast_hangup(), ast_log(), ast_pbx_run(), ast_pbx_start(), ast_request_and_dial(), AST_STATE_UP, ast_verbose(), ast_channel::context, ast_channel::exten, free, LOAD_OH, LOG_ERROR, LOG_WARNING, malloc, ast_channel::name, option_verbose, pbx_builtin_setvar(), ast_channel::priority, type, and VERBOSE_PREFIX_4.
|
|
|
Execute the PBX in the current thread.
Definition at line 1694 of file pbx.c. References ast_channel::_softhangup, ast_channel::amaflags, ast_cdr_alloc(), ast_cdr_init(), ast_cdr_start(), ast_cdr_update(), ast_exists_extension(), ast_hangup(), ast_log(), ast_matchmore_extension(), AST_PBX_KEEPALIVE, AST_SOFTHANGUP_ASYNCGOTO, AST_SOFTHANGUP_TIMEOUT, ast_spawn_extension(), ast_verbose(), ast_waitfordigit(), ast_channel::callerid, ast_channel::cdr, ast_channel::context, ast_pbx::dtimeout, EVENT_FLAG_CALL, ast_channel::exten, free, LOG_DEBUG, LOG_ERROR, LOG_WARNING, malloc, manager_event(), ast_channel::name, option_debug, option_verbose, ast_channel::pbx, pbx_builtin_setvar_helper(), ast_channel::priority, ast_pbx::rtimeout, ast_channel::uniqueid, VERBOSE_PREFIX_2, VERBOSE_PREFIX_3, and ast_channel::whentohangup. Referenced by ast_pbx_outgoing_exten().
|
|
|
Create a new thread and start the PBX (or whatever).
Definition at line 1921 of file pbx.c. References ast_log(), and LOG_WARNING. Referenced by ast_async_goto(), and ast_pbx_outgoing_exten().
|
|
||||||||||||||||||||
|
Add an application. The function 'execute' should return non-zero if the line needs to be hung up.
Definition at line 2229 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, ast_verbose(), COLOR_BRCYAN, description(), LOG_ERROR, LOG_WARNING, malloc, ast_app::next, option_verbose, term_color(), and VERBOSE_PREFIX_2. Referenced by load_pbx().
|
|
|
Register an alternative switch.
Definition at line 2280 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, LOG_ERROR, LOG_WARNING, ast_switch::name, ast_switch::next, and switches.
|
|
||||||||||||||||||||||||
|
Launch a new extension (i.e. new stack).
Definition at line 1689 of file pbx.c. References HELPER_SPAWN. Referenced by ast_pbx_run().
|
|
|
Unlocks the given context.
Definition at line 4694 of file pbx.c. References ast_mutex_unlock, and ast_context::lock.
|
|
|
Unlocks contexts. Returns 0 on success, -1 on failure Definition at line 4681 of file pbx.c. References ast_mutex_unlock. Referenced by ast_add_extension(), ast_context_add_ignorepat(), ast_context_add_include(), ast_context_add_switch(), ast_context_remove_extension(), ast_context_remove_ignorepat(), ast_context_remove_include(), and ast_context_remove_switch().
|
|
|
Remove an application.
Definition at line 2789 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, ast_verbose(), LOG_ERROR, ast_app::next, option_verbose, and VERBOSE_PREFIX_2.
|
|
|
Unregister an alternative switch.
Definition at line 2308 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, LOG_ERROR, ast_switch::next, and switches.
|
|
||||||||||||
|
Definition at line 4786 of file pbx.c. References ast_exten::next, and ast_context::root.
|
|
||||||||||||
|
Definition at line 4822 of file pbx.c. References ast_context::ignorepats, and ast_ignorepat::next.
|
|
||||||||||||
|
Definition at line 4813 of file pbx.c. References ast_context::includes, and ast_include::next. Referenced by ast_context_verify_includes().
|
|
||||||||||||
|
Definition at line 4795 of file pbx.c. References ast_context::alts, and ast_sw::next.
|
|
|
Definition at line 4778 of file pbx.c. References ast_context::next. Referenced by ast_add_extension(), ast_context_add_ignorepat(), ast_context_add_include(), ast_context_add_switch(), ast_context_remove_extension(), ast_context_remove_ignorepat(), ast_context_remove_include(), and ast_context_remove_switch().
|
|
||||||||||||
|
Definition at line 4804 of file pbx.c. References ast_exten::peer.
|
|
|
Definition at line 4649 of file pbx.c. References ast_cli_register(), AST_LIST_HEAD_INIT, ast_log(), ast_register_application(), ast_verbose(), description(), LOG_ERROR, option_verbose, and VERBOSE_PREFIX_1. Referenced by main().
|
|
|
Definition at line 4538 of file pbx.c. References AST_LIST_EMPTY, AST_LIST_FIRST, AST_LIST_REMOVE_HEAD, and ast_var_delete().
|
|
||||||||||||
|
Definition at line 4438 of file pbx.c. References AST_LIST_TRAVERSE, ast_var_name(), and ast_var_value().
|
|
||||||||||||
|
Definition at line 4491 of file pbx.c. References ast_log(), LOG_WARNING, and pbx_builtin_setvar_helper().
|
|
||||||||||||||||
|
Definition at line 4465 of file pbx.c. References AST_LIST_INSERT_HEAD, AST_LIST_REMOVE, AST_LIST_TRAVERSE, ast_var_assign(), ast_var_delete(), ast_var_name(), ast_verbose(), option_verbose, and VERBOSE_PREFIX_3.
|
|
||||||||||||||||||||
|
executes an application
Definition at line 381 of file pbx.c. References ast_channel::app, ast_channel::appl, ast_cdr_setapp(), AST_CHANNEL_MAX_STACK, ast_log(), ast_channel::cdr, ast_channel::data, ast_app::execute, ast_channel::jmp, LOG_WARNING, ast_app::name, and ast_channel::stack.
|
|
|
Look up an application.
Definition at line 447 of file pbx.c. References ast_log(), ast_mutex_lock, ast_mutex_unlock, LOG_WARNING, and ast_app::next.
|
|
||||||||||||||||||||
|
Definition at line 979 of file pbx.c. References ast_expr(), ast_log(), free, LOG_DEBUG, and LOG_NOTICE.
|
|
|
Definition at line 378 of file pbx.c. Referenced by ast_device_state_changed(), ast_extension_state_add(), and ast_extension_state_del(). |
|
|
Definition at line 379 of file pbx.c. Referenced by ast_device_state_changed(), ast_extension_state_add(), and ast_extension_state_del(). |
|
|
Definition at line 373 of file pbx.c. Referenced by ast_register_switch(), and ast_unregister_switch(). |
1.3.7