#include <asterisk/sched.h>
#include <asterisk/channel.h>
Include dependency graph for pbx.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | ast_switch |
Data structure associated with an asterisk switch. More... | |
struct | ast_pbx |
Defines | |
#define | AST_PBX_KEEP 0 |
#define | AST_PBX_REPLACE 1 |
#define | AST_MAX_APP 32 |
Max length of an application. | |
#define | AST_PBX_KEEPALIVE 10 /* Destroy the thread, but don't hang up the channel */ |
Special return values from applications to the PBX. | |
#define | AST_PBX_NO_HANGUP_PEER 11 |
#define | PRIORITY_HINT -1 |
Special Priority for an hint. | |
#define | AST_EXTENSION_NOT_INUSE 0 |
#define | AST_EXTENSION_INUSE 1 |
One or more devices INUSE. | |
#define | AST_EXTENSION_BUSY 2 |
All devices BUSY. | |
#define | AST_EXTENSION_UNAVAILABLE 3 |
All devices UNAVAILABLE/UNREGISTERED. | |
Typedefs | |
typedef int(* | ast_state_cb_type )(char *context, char *id, int state, void *data) |
Functions | |
int | ast_register_switch (struct ast_switch *sw) |
Register an alternative switch. | |
void | ast_unregister_switch (struct ast_switch *sw) |
Unregister an alternative switch. | |
ast_app * | pbx_findapp (char *app) |
Look up an application. | |
int | pbx_exec (struct ast_channel *c, struct ast_app *app, void *data, int newstack) |
executes an application | |
ast_context * | ast_context_create (struct ast_context **extcontexts, char *name, char *registrar) |
Register a new context. | |
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. | |
void | ast_context_destroy (struct ast_context *con, char *registrar) |
Destroy a context (matches the specified context (or ANY context if NULL). | |
ast_context * | ast_context_find (char *name) |
Find a context. | |
int | ast_pbx_start (struct ast_channel *c) |
Create a new thread and start the PBX (or whatever). | |
int | ast_pbx_run (struct ast_channel *c) |
Execute the PBX in the current thread. | |
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_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_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_unregister_application (char *app) |
Remove an application. | |
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,...) __attribute__((format(printf |
Tells Asterisk the State for Device is changed. | |
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_extension_match (char *pattern, char *extension) |
Determine if a given extension matches a given pattern (in NXX format). | |
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_exec_extension (struct ast_channel *c, char *context, char *exten, int priority, char *callerid) |
Execute an extension. | |
int | ast_context_add_include (char *context, char *include, char *registrar) |
Add an include. | |
int | ast_context_add_include2 (struct ast_context *con, char *include, char *registrar) |
Add an include. | |
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_verify_includes (struct ast_context *con) |
Verifies includes in an ast_contect structure. | |
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 *sw, char *data, char *registrar) |
Adds a switch (first param is a ast_context). | |
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_context_add_ignorepat (char *context, char *ignorepat, char *registrar) |
Add an ignorepat. | |
int | ast_context_add_ignorepat2 (struct ast_context *con, char *ignorepat, char *registrar) |
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_ignore_pattern (char *context, char *pattern) |
Checks to see if a number should be ignored. | |
int | ast_lock_contexts (void) |
Locks the contexts. | |
int | ast_unlock_contexts (void) |
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. | |
int | ast_async_goto (struct ast_channel *chan, char *context, char *exten, int priority) |
int | ast_async_goto_by_name (char *chan, char *context, char *exten, int priority) |
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) |
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 *include) |
char * | ast_get_ignorepat_name (struct ast_ignorepat *ip) |
char * | ast_get_switch_name (struct ast_sw *sw) |
char * | ast_get_switch_data (struct ast_sw *sw) |
int | ast_get_extension_priority (struct ast_exten *exten) |
char * | ast_get_extension_app (struct ast_exten *e) |
void * | ast_get_extension_app_data (struct ast_exten *e) |
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_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 *priority) |
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) |
ast_sw * | ast_walk_context_switches (struct ast_context *con, struct ast_sw *sw) |
char * | pbx_builtin_getvar_helper (struct ast_channel *chan, char *name) |
void | pbx_builtin_setvar_helper (struct ast_channel *chan, char *name, char *value) |
void | pbx_builtin_clear_globals (void) |
int | pbx_builtin_setvar (struct ast_channel *chan, void *data) |
void | pbx_substitute_variables_helper (struct ast_channel *c, const char *cp1, char *cp2, int count) |
int | ast_extension_patmatch (const char *pattern, const char *data) |
|
All devices BUSY.
|
|
One or more devices INUSE.
|
|
Extension states No device INUSE or BUSY |
|
All devices UNAVAILABLE/UNREGISTERED.
|
|
Max length of an application.
|
|
|
|
Special return values from applications to the PBX.
Definition at line 30 of file pbx.h. Referenced by ast_pbx_run(). |
|
|
|
|
|
Special Priority for an hint.
Definition at line 34 of file pbx.h. Referenced by ast_add_extension2(), and ast_context_remove_extension2(). |
|
|
|
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.
|
|
Tells Asterisk the State for Device is changed.
Referenced by ast_channel_free(), and ast_setstate(). |
|
Execute an extension.
|
|
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 4538 of file pbx.c. References AST_LIST_EMPTY, AST_LIST_FIRST, AST_LIST_REMOVE_HEAD, and ast_var_delete().
|
|
|
|
Referenced by __ast_request_and_dial(), ast_pbx_outgoing_app(), and ast_pbx_outgoing_exten(). |
|
Referenced by ast_pbx_run(), and pbx_builtin_setvar(). |
|
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.
|