Asterisk - The Open Source Telephony Project
18.5.0
|
#include "asterisk.h"
#include "asterisk/features_config.h"
#include "asterisk/config_options.h"
#include "asterisk/datastore.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/app.h"
#include "asterisk/cli.h"
#include "features_config.h"
Go to the source code of this file.
Data Structures | |
struct | dummy_config |
struct | featuregroup |
Featuregroup representation. More... | |
struct | featuregroup_item |
Entry in the container of featuregroups. More... | |
struct | features_config |
struct | features_global_config |
Configuration from the "general" section of features.conf. More... | |
Functions | |
static struct features_config * | __features_config_alloc (int allocate_applicationmap) |
static int | add_item (void *obj, void *arg, int flags) |
AO2_GLOBAL_OBJ_STATIC (globals) | |
static struct ao2_container * | applicationmap_alloc (int replace_duplicates) |
static int | applicationmap_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static struct ast_applicationmap_item * | applicationmap_item_alloc (const char *name, const char *app, const char *app_data, const char *moh_class, const char *dtmf, unsigned int activate_on_self) |
static int | applicationmap_sort (const void *obj, const void *arg, int flags) |
static void | ast_applicationmap_item_destructor (void *obj) |
int | ast_get_builtin_feature (struct ast_channel *chan, const char *feature, char *buf, size_t len) |
Get the DTMF code for a builtin feature. More... | |
struct ao2_container * | ast_get_chan_applicationmap (struct ast_channel *chan) |
Get the applicationmap for a given channel. More... | |
struct ast_featuremap_config * | ast_get_chan_featuremap_config (struct ast_channel *chan) |
Get the featuremap configuration options for a channel. More... | |
char * | ast_get_chan_features_atxferabort (struct ast_channel *chan) |
Get the transfer configuration option atxferabort. More... | |
struct ast_features_general_config * | ast_get_chan_features_general_config (struct ast_channel *chan) |
Get the general configuration options for a channel. More... | |
struct ast_features_pickup_config * | ast_get_chan_features_pickup_config (struct ast_channel *chan) |
Get the pickup configuration options for a channel. More... | |
struct ast_features_xfer_config * | ast_get_chan_features_xfer_config (struct ast_channel *chan) |
Get the transfer configuration options for a channel. More... | |
char * | ast_get_chan_features_xferfailsound (struct ast_channel *chan) |
Get the transfer configuration option xferfailsound. More... | |
int | ast_get_feature (struct ast_channel *chan, const char *feature, char *buf, size_t len) |
Get the DTMF code for a call feature. More... | |
static int | check_featuregroup (void *obj, void *arg, void *data, int flags) |
static int | check_featuregroup_item (void *obj, void *arg, void *data, int flags) |
CONFIG_INFO_CORE ("features", cfg_info, globals, features_config_alloc,.files=ACO_FILES(&features_conf),.pre_apply_config=features_pre_apply_config,) | |
static void | feature_ds_destroy (void *data) |
static void * | feature_ds_duplicate (void *data) |
static int | feature_read (struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) |
static int | feature_write (struct ast_channel *chan, const char *cmd, char *data, const char *value) |
static void * | featuregroup_alloc (const char *cat) |
static int | featuregroup_cmp (void *obj, void *arg, int flags) |
static void | featuregroup_destructor (void *obj) |
static void * | featuregroup_find (struct ao2_container *group_container, const char *category) |
static int | featuregroup_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | featuregroup_hash (const void *obj, int flags) |
static void | featuregroup_item_destructor (void *obj) |
static void | featuremap_config_destructor (void *obj) |
static void | featuremap_copy (struct ast_featuremap_config *dest, const struct ast_featuremap_config *src) |
static int | featuremap_get (struct ast_featuremap_config *featuremap, const char *field, char *buf, size_t len) |
static int | featuremap_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | featuremap_read (struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) |
static int | featuremap_set (struct ast_featuremap_config *featuremap, const char *name, const char *value) |
static int | featuremap_write (struct ast_channel *chan, const char *cmd, char *data, const char *value) |
static void * | features_config_alloc (void) |
static void | features_config_destructor (void *obj) |
static struct features_config * | features_config_dup (const struct features_config *orig) |
static void | features_copy (struct features_config *dest, const struct features_config *src) |
static int | features_pre_apply_config (void) |
static void | general_copy (struct ast_features_general_config *dest, const struct ast_features_general_config *src) |
static void | general_destructor (void *obj) |
static int | general_get (struct ast_features_general_config *general, const char *field, char *buf, size_t len) |
static int | general_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | general_set (struct ast_features_general_config *general, const char *name, const char *value) |
static struct ast_datastore * | get_feature_chan_ds (struct ast_channel *chan) |
static struct features_config * | get_feature_ds (struct ast_channel *chan) |
static struct features_global_config * | global_config_alloc (void) |
static void | global_config_destructor (void *obj) |
static void | global_copy (struct features_global_config *dest, const struct features_global_config *src) |
static int | group_item_sort (const void *obj, const void *arg, int flags) |
static char * | handle_feature_show (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
CLI command to list configured features. More... | |
static int | internal_feature_read (struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) |
static int | internal_feature_write (struct ast_channel *chan, const char *cmd, char *data, const char *value) |
static int | internal_featuremap_read (struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) |
static int | internal_featuremap_write (struct ast_channel *chan, const char *cmd, char *data, const char *value) |
static int | load_config (void) |
int | load_features_config (void) |
static void | pickup_copy (struct ast_features_pickup_config *dest, const struct ast_features_pickup_config *src) |
static void | pickup_destructor (void *obj) |
static int | pickup_get (struct ast_features_pickup_config *pickup, const char *field, char *buf, size_t len) |
static int | pickup_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | pickup_set (struct ast_features_pickup_config *pickup, const char *name, const char *value) |
static int | print_applicationmap (void *obj, void *arg, int flags) |
static int | print_featuregroup (void *obj, void *arg, int flags) |
static int | print_featuregroups (void *obj, void *arg, int flags) |
int | reload_features_config (void) |
void | unload_features_config (void) |
static int | unsupported_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static void | xfer_copy (struct ast_features_xfer_config *dest, const struct ast_features_xfer_config *src) |
static void | xfer_destructor (void *obj) |
static int | xfer_get (struct ast_features_xfer_config *xfer, const char *field, char *buf, size_t len) |
static int | xfer_handler (const struct aco_option *opt, struct ast_variable *var, void *obj) |
static int | xfer_set (struct ast_features_xfer_config *xfer, const char *name, const char *value) |
Variables | |
static struct aco_type | applicationmap_option |
static struct aco_type * | applicationmap_options [] = ACO_TYPES(&applicationmap_option) |
static struct ast_cli_entry | cli_features_config [] |
static const struct ast_datastore_info | feature_ds_info |
static struct ast_custom_function | feature_function |
static struct aco_type | featuregroup_option |
static struct aco_type * | featuregroup_options [] = ACO_TYPES(&featuregroup_option) |
static struct ast_custom_function | featuremap_function |
static struct aco_type | featuremap_option |
static struct aco_type * | featuremap_options [] = ACO_TYPES(&featuremap_option) |
static struct aco_file | features_conf |
static struct aco_type | global_option |
static struct aco_type * | global_options [] = ACO_TYPES(&global_option) |
static int | parking_warning = 0 |
static struct aco_type | parkinglot_option |
static struct aco_type * | parkinglot_options [] = ACO_TYPES(&parkinglot_option) |
#define DEFAULT_ATXFER_ABORT "*1" |
Definition at line 379 of file features_config.c.
Referenced by load_config().
#define DEFAULT_ATXFER_CALLBACK_RETRIES 2 |
Definition at line 376 of file features_config.c.
Referenced by load_config().
#define DEFAULT_ATXFER_COMPLETE "*2" |
Definition at line 380 of file features_config.c.
Referenced by load_config().
#define DEFAULT_ATXFER_DROP_CALL 0 |
Definition at line 374 of file features_config.c.
Referenced by load_config().
#define DEFAULT_ATXFER_LOOP_DELAY 10 |
Definition at line 375 of file features_config.c.
Referenced by load_config().
#define DEFAULT_ATXFER_SWAP "*4" |
Definition at line 382 of file features_config.c.
Referenced by load_config().
#define DEFAULT_ATXFER_THREEWAY "*3" |
Definition at line 381 of file features_config.c.
Referenced by load_config().
#define DEFAULT_COURTESY_TONE "" |
Definition at line 368 of file features_config.c.
Referenced by load_config().
#define DEFAULT_FEATURE_DIGIT_TIMEOUT 1000 |
Default general options
Definition at line 367 of file features_config.c.
Referenced by load_config().
#define DEFAULT_FEATUREMAP_ATXFER "" |
Definition at line 396 of file features_config.c.
Referenced by handle_feature_show(), and load_config().
#define DEFAULT_FEATUREMAP_AUTOMIXMON "" |
Definition at line 398 of file features_config.c.
Referenced by handle_feature_show(), and load_config().
#define DEFAULT_FEATUREMAP_AUTOMON "" |
Definition at line 395 of file features_config.c.
Referenced by handle_feature_show(), and load_config().
#define DEFAULT_FEATUREMAP_BLINDXFER "#" |
Default featuremap options
Definition at line 393 of file features_config.c.
Referenced by handle_feature_show(), and load_config().
#define DEFAULT_FEATUREMAP_DISCONNECT "*" |
Definition at line 394 of file features_config.c.
Referenced by handle_feature_show(), and load_config().
#define DEFAULT_FEATUREMAP_PARKCALL "" |
Definition at line 397 of file features_config.c.
Referenced by handle_feature_show(), and load_config().
#define DEFAULT_NOANSWER_TIMEOUT_ATTENDED_TRANSFER 15 |
Definition at line 373 of file features_config.c.
Referenced by load_config().
#define DEFAULT_PICKUPEXTEN "*8" |
Default pickup options
Definition at line 388 of file features_config.c.
Referenced by handle_feature_show(), and load_config().
#define DEFAULT_PICKUPFAILSOUND "" |
Definition at line 390 of file features_config.c.
Referenced by load_config().
#define DEFAULT_PICKUPSOUND "" |
Definition at line 389 of file features_config.c.
Referenced by load_config().
#define DEFAULT_RECORDING_FAIL_SOUND "" |
Definition at line 369 of file features_config.c.
Referenced by load_config().
#define DEFAULT_TRANSFER_DIAL_ATTEMPTS 3 |
Definition at line 383 of file features_config.c.
Referenced by load_config().
#define DEFAULT_TRANSFER_DIGIT_TIMEOUT 3 |
#define DEFAULT_TRANSFER_INVALID_SOUND "privacy-incorrect" |
Definition at line 385 of file features_config.c.
Referenced by load_config().
#define DEFAULT_TRANSFER_RETRY_SOUND "pbx-invalid" |
Definition at line 384 of file features_config.c.
Referenced by load_config().
#define DEFAULT_XFERFAILSOUND "beeperr" |
Definition at line 378 of file features_config.c.
Referenced by load_config().
#define DEFAULT_XFERSOUND "beep" |
Definition at line 377 of file features_config.c.
Referenced by load_config().
#define HFS_FORMAT "%-25s %-7s %-7s\n" |
Definition at line 1903 of file features_config.c.
Referenced by handle_feature_show(), and print_applicationmap().
|
static |
Definition at line 732 of file features_config.c.
References ao2_alloc, AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_cleanup, ao2_container_alloc_hash, ao2_ref, applicationmap_alloc(), ast_string_field_init, featuregroup_cmp(), featuregroup_hash(), featuremap_config_destructor(), features_config_destructor(), global_config_alloc(), NULL, and RAII_VAR.
Referenced by features_config_alloc(), and features_config_dup().
|
static |
Definition at line 1296 of file features_config.c.
References ast_applicationmap_item::activate_on_self, ao2_cleanup, ao2_link, ao2_ref, ast_applicationmap_item::app, ast_applicationmap_item::app_data, applicationmap_item_alloc(), featuregroup_item::appmap_item, featuregroup_item::appmap_item_name, ast_strlen_zero, featuregroup_item::dtmf_override, ast_applicationmap_item::moh_class, NULL, and RAII_VAR.
Referenced by ast_get_chan_applicationmap().
AO2_GLOBAL_OBJ_STATIC | ( | globals | ) |
|
static |
Definition at line 712 of file features_config.c.
References AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_container_alloc_list, AO2_CONTAINER_ALLOC_OPT_DUPS_ALLOW, AO2_CONTAINER_ALLOC_OPT_DUPS_REPLACE, applicationmap_sort(), and NULL.
Referenced by __features_config_alloc(), and ast_get_chan_applicationmap().
|
static |
Definition at line 1382 of file features_config.c.
References ao2_cleanup, ao2_link, app, applicationmap_item_alloc(), args, AST_APP_ARG, ast_debug, AST_DECLARE_APP_ARGS, ast_log, AST_STANDARD_APP_ARGS, ast_strdupa, ast_strip_quoted(), ast_strlen_zero, item, LOG_WARNING, ast_variable::name, NULL, paren, parse(), RAII_VAR, and ast_variable::value.
Referenced by load_config().
|
static |
Definition at line 1274 of file features_config.c.
References ast_applicationmap_item::activate_on_self, ao2_alloc, ast_applicationmap_item_destructor(), ast_copy_string(), ast_string_field_init, ast_string_field_set, ast_applicationmap_item::dtmf, item, and NULL.
Referenced by add_item(), and applicationmap_handler().
|
static |
Definition at line 416 of file features_config.c.
References ast_applicationmap_item::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by applicationmap_alloc().
|
static |
Definition at line 409 of file features_config.c.
References ast_string_field_free_memory, and item.
Referenced by applicationmap_item_alloc().
int ast_get_builtin_feature | ( | struct ast_channel * | chan, |
const char * | feature, | ||
char * | buf, | ||
size_t | len | ||
) |
Get the DTMF code for a builtin feature.
If no channel is provided, then the global setting for the option is returned.
chan | The channel to get the option from | |
feature | The short name of the feature (as it appears in features.conf) | |
[out] | buf | The buffer to write the DTMF value into |
size | The size of the buffer in bytes |
0 | Success |
non-zero | Unrecognized builtin feature name |
Definition at line 1233 of file features_config.c.
References ao2_cleanup, ao2_global_obj_ref, featuremap_get(), get_feature_ds(), globals, NULL, and RAII_VAR.
Referenced by action_atxfer(), ast_get_feature(), attended_transfer_exec(), builtin_feature_get_exten(), detect_disconnect(), and internal_featuremap_read().
struct ao2_container* ast_get_chan_applicationmap | ( | struct ast_channel * | chan | ) |
Get the applicationmap for a given channel.
This uses the value of the DYNAMIC_FEATURES channel variable to build a custom applicationmap for this channel. The returned container has applicationmap_items inside.
chan | The channel for which applicationmap is being retrieved. |
NULL | An error occurred or the channel has no dynamic features. |
non-NULL | A container of applicationmap_items pertaining to the channel. |
Definition at line 1325 of file features_config.c.
References add_item(), ao2_callback, ao2_cleanup, ao2_container_count(), ao2_find, ao2_global_obj_ref, ao2_link, ao2_ref, applicationmap_alloc(), ast_assert, ast_channel_name(), ast_log, ast_strdupa, ast_strlen_zero, globals, item, LOG_WARNING, name, NULL, OBJ_KEY, pbx_builtin_getvar_helper(), RAII_VAR, S_OR, and strsep().
Referenced by ast_get_feature(), set_config_flags(), and setup_bridge_features_dynamic().
struct ast_featuremap_config* ast_get_chan_featuremap_config | ( | struct ast_channel * | chan | ) |
Get the featuremap configuration options for a channel.
If no channel is provided, then the global featuremap configuration is returned.
chan | The channel to get configuration options for |
NULL | Failed to get configuration |
non-NULL | The pickup features configuration |
Definition at line 1213 of file features_config.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_ref, ast_assert, get_feature_ds(), globals, NULL, and RAII_VAR.
Referenced by testsuite_notify_feature_success().
char* ast_get_chan_features_atxferabort | ( | struct ast_channel * | chan | ) |
Get the transfer configuration option atxferabort.
If no channel is provided, then option is pulled from the global transfer configuration.
chan | The channel to get configuration options for |
NULL | Failed to get configuration |
non-NULL | The atxferabort |
Definition at line 1178 of file features_config.c.
References ao2_ref, ast_get_chan_features_xfer_config(), ast_strdup, ast_features_xfer_config::atxferabort, and NULL.
Referenced by action_cancel_atxfer().
struct ast_features_general_config* ast_get_chan_features_general_config | ( | struct ast_channel * | chan | ) |
Get the general configuration options for a channel.
If no channel is provided, then the global features configuration is returned.
chan | The channel to get configuration options for |
NULL | Failed to get configuration |
non-NULL | The general features configuration |
Definition at line 1123 of file features_config.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_ref, ast_assert, get_feature_ds(), globals, NULL, and RAII_VAR.
Referenced by bridge_channel_feature_digit_timeout(), feature_automixmonitor(), and feature_automonitor().
struct ast_features_pickup_config* ast_get_chan_features_pickup_config | ( | struct ast_channel * | chan | ) |
Get the pickup configuration options for a channel.
If no channel is provided, then the global pickup configuration is returned.
chan | The channel to get configuration options for |
NULL | Failed to get configuration |
non-NULL | The pickup features configuration |
Definition at line 1193 of file features_config.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_ref, ast_assert, get_feature_ds(), globals, NULL, and RAII_VAR.
Referenced by __analog_ss_thread(), analog_ss_thread(), ast_pickup_call(), call_pickup_incoming_request(), cb_events(), get_destination(), handle_call_outgoing(), handle_request_invite(), key_main_page(), and mgcp_ss().
struct ast_features_xfer_config* ast_get_chan_features_xfer_config | ( | struct ast_channel * | chan | ) |
Get the transfer configuration options for a channel.
If no channel is provided, then the global transfer configuration is returned.
chan | The channel to get configuration options for |
NULL | Failed to get configuration |
non-NULL | The transfer features configuration |
Definition at line 1143 of file features_config.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_ref, ast_assert, get_feature_ds(), globals, NULL, and RAII_VAR.
Referenced by action_bridge(), add_transferer_role(), ast_get_chan_features_atxferabort(), ast_get_chan_features_xferfailsound(), attended_transfer_properties_alloc(), bridge_exec(), grab_transfer(), and testsuite_notify_feature_success().
char* ast_get_chan_features_xferfailsound | ( | struct ast_channel * | chan | ) |
Get the transfer configuration option xferfailsound.
If no channel is provided, then option is pulled from the global transfer configuration.
chan | The channel to get configuration options for |
NULL | Failed to get configuration |
non-NULL | The xferfailsound |
Definition at line 1163 of file features_config.c.
References ao2_ref, ast_get_chan_features_xfer_config(), ast_strdup, NULL, and ast_features_xfer_config::xferfailsound.
Referenced by play_failsound(), and stream_failsound().
int ast_get_feature | ( | struct ast_channel * | chan, |
const char * | feature, | ||
char * | buf, | ||
size_t | len | ||
) |
Get the DTMF code for a call feature.
If no channel is provided, then the global setting for the option is returned.
This function is like ast_get_builtin_feature except that it will also check the applicationmap in addition to the builtin features.
chan | The channel to get the option from | |
feature | The short name of the feature | |
[out] | buf | The buffer to write the DTMF value into |
size | The size of the buffer in bytes |
0 | Success |
non-zero | Unrecognized feature name |
Definition at line 1250 of file features_config.c.
References ao2_cleanup, ao2_find, ast_copy_string(), ast_get_builtin_feature(), ast_get_chan_applicationmap(), item, NULL, OBJ_KEY, and RAII_VAR.
Referenced by handle_incoming_request(), and handle_request_info().
|
static |
Definition at line 1567 of file features_config.c.
References ACO_FILES, ao2_callback_data, ast_log, check_featuregroup_item(), CMP_STOP, CONFIG_INFO_CORE(), features_config_alloc(), features_pre_apply_config(), globals, featuregroup::items, LOG_WARNING, and featuregroup::name.
Referenced by features_pre_apply_config().
|
static |
Definition at line 1549 of file features_config.c.
References ao2_find, featuregroup_item::appmap_item, featuregroup_item::appmap_item_name, CMP_STOP, and OBJ_KEY.
Referenced by check_featuregroup().
CONFIG_INFO_CORE | ( | "features" | , |
cfg_info | , | ||
globals | , | ||
features_config_alloc | , | ||
. | files = ACO_FILES(&features_conf) , |
||
. | pre_apply_config = features_pre_apply_config |
||
) |
Referenced by check_featuregroup().
|
static |
Definition at line 1046 of file features_config.c.
References ao2_cleanup.
|
static |
Definition at line 1052 of file features_config.c.
References features_config_dup().
|
static |
Definition at line 1702 of file features_config.c.
References ast_log, internal_feature_read(), and LOG_WARNING.
|
static |
Definition at line 1713 of file features_config.c.
References ast_log, internal_feature_write(), and LOG_WARNING.
|
static |
Definition at line 542 of file features_config.c.
References ao2_alloc, AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_cleanup, ao2_container_alloc_list, AO2_CONTAINER_ALLOC_OPT_DUPS_REPLACE, ast_strdup, featuregroup_destructor(), group_item_sort(), featuregroup::items, featuregroup::name, and NULL.
|
static |
Definition at line 508 of file features_config.c.
References CMP_MATCH, CMP_STOP, featuregroup::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by __features_config_alloc().
|
static |
Definition at line 534 of file features_config.c.
References ao2_cleanup, ast_free, featuregroup::items, and featuregroup::name.
Referenced by featuregroup_alloc().
|
static |
|
static |
Definition at line 1478 of file features_config.c.
References ao2_alloc, ao2_cleanup, ao2_link, ast_string_field_init, ast_string_field_set, featuregroup_item_destructor(), item, featuregroup::items, ast_variable::name, NULL, RAII_VAR, and ast_variable::value.
Referenced by load_config().
|
static |
Definition at line 489 of file features_config.c.
References ast_assert, ast_str_case_hash(), featuregroup::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by __features_config_alloc().
|
static |
Definition at line 450 of file features_config.c.
References ao2_cleanup, featuregroup_item::appmap_item, ast_string_field_free_memory, and item.
Referenced by featuregroup_handler().
|
static |
Definition at line 647 of file features_config.c.
References ast_string_field_free_memory.
Referenced by __features_config_alloc().
|
static |
Definition at line 808 of file features_config.c.
References ast_string_fields_copy.
Referenced by features_copy().
|
static |
Definition at line 1021 of file features_config.c.
References ast_copy_string(), ast_featuremap_config::atxfer, ast_featuremap_config::automixmon, ast_featuremap_config::automon, ast_featuremap_config::blindxfer, ast_featuremap_config::disconnect, and ast_featuremap_config::parkcall.
Referenced by ast_get_builtin_feature().
|
static |
Definition at line 1541 of file features_config.c.
References featuremap_set(), ast_variable::name, and ast_variable::value.
Referenced by load_config().
|
static |
Definition at line 1724 of file features_config.c.
References ast_log, internal_featuremap_read(), and LOG_WARNING.
|
static |
Definition at line 996 of file features_config.c.
References ast_string_field_set.
Referenced by featuremap_handler(), and internal_featuremap_write().
|
static |
Definition at line 1735 of file features_config.c.
References ast_log, internal_featuremap_write(), and LOG_WARNING.
|
static |
Definition at line 774 of file features_config.c.
References __features_config_alloc().
Referenced by check_featuregroup(), and load_config().
|
static |
Definition at line 636 of file features_config.c.
References ao2_cleanup, features_config::applicationmap, features_config::featuregroups, features_config::featuremap, features_config::global, and features_config::parkinglots.
Referenced by __features_config_alloc().
|
static |
Definition at line 824 of file features_config.c.
References __features_config_alloc(), features_copy(), and NULL.
Referenced by feature_ds_duplicate(), and get_feature_ds().
|
static |
Definition at line 813 of file features_config.c.
References features_config::featuremap, featuremap_copy(), features_config::global, and global_copy().
Referenced by features_config_dup().
|
static |
Definition at line 1589 of file features_config.c.
References aco_pending_config(), ao2_callback_data, features_config::applicationmap, ast_assert, check_featuregroup(), features_config::featuregroups, and NULL.
Referenced by check_featuregroup().
|
static |
Definition at line 779 of file features_config.c.
References ast_string_fields_copy, and ast_features_general_config::featuredigittimeout.
Referenced by global_copy().
|
static |
Definition at line 663 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 857 of file features_config.c.
References ast_copy_string(), ast_features_general_config::courtesytone, ast_features_general_config::featuredigittimeout, and ast_features_general_config::recordingfailsound.
Referenced by internal_feature_read().
|
static |
Definition at line 1501 of file features_config.c.
References features_global_config::general, general_set(), global, ast_variable::name, and ast_variable::value.
Referenced by load_config().
|
static |
Definition at line 838 of file features_config.c.
References ast_parse_arg(), ast_string_field_set, ast_features_general_config::featuredigittimeout, and PARSE_INT32.
Referenced by general_handler(), and internal_feature_write().
|
static |
Definition at line 1109 of file features_config.c.
References ao2_cleanup, ast_channel_datastore_find(), get_feature_ds(), and NULL.
Referenced by internal_feature_read(), and internal_feature_write().
|
static |
Definition at line 1073 of file features_config.c.
References ao2_cleanup, ao2_global_obj_ref, ao2_ref, ast_channel_datastore_add(), ast_channel_datastore_find(), ast_datastore_alloc, ast_datastore::data, features_config_dup(), globals, NULL, and RAII_VAR.
Referenced by ast_get_builtin_feature(), ast_get_chan_featuremap_config(), ast_get_chan_features_general_config(), ast_get_chan_features_pickup_config(), ast_get_chan_features_xfer_config(), get_feature_chan_ds(), internal_feature_read(), internal_feature_write(), and internal_featuremap_write().
|
static |
Definition at line 684 of file features_config.c.
References ao2_alloc, ao2_cleanup, ao2_ref, ast_string_field_init, general_destructor(), global_config_destructor(), NULL, pickup_destructor(), RAII_VAR, and xfer_destructor().
Referenced by __features_config_alloc().
|
static |
Definition at line 654 of file features_config.c.
References ao2_cleanup, features_global_config::general, features_global_config::pickup, and features_global_config::xfer.
Referenced by global_config_alloc().
|
static |
Definition at line 801 of file features_config.c.
References features_global_config::general, general_copy(), features_global_config::pickup, pickup_copy(), features_global_config::xfer, and xfer_copy().
Referenced by features_copy().
|
static |
Definition at line 458 of file features_config.c.
References featuregroup_item::appmap_item_name, CMP_STOP, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by featuregroup_alloc().
|
static |
CLI command to list configured features.
e | |
cmd | |
a |
CLI_SUCCESS | on success. |
NULL | when tab completion is used. |
Definition at line 1923 of file features_config.c.
References ao2_callback, ao2_cleanup, ao2_container_count(), ao2_global_obj_ref, ast_cli(), CLI_GENERATE, CLI_INIT, CLI_SUCCESS, ast_cli_entry::command, DEFAULT_FEATUREMAP_ATXFER, DEFAULT_FEATUREMAP_AUTOMIXMON, DEFAULT_FEATUREMAP_AUTOMON, DEFAULT_FEATUREMAP_BLINDXFER, DEFAULT_FEATUREMAP_DISCONNECT, DEFAULT_FEATUREMAP_PARKCALL, DEFAULT_PICKUPEXTEN, ast_cli_args::fd, globals, HFS_FORMAT, NULL, print_applicationmap(), print_featuregroups(), RAII_VAR, and ast_cli_entry::usage.
|
static |
Definition at line 1606 of file features_config.c.
References ao2_cleanup, ast_log, general_get(), get_feature_chan_ds(), get_feature_ds(), ast_datastore::inheritance, lock, LOG_WARNING, NULL, pickup_get(), RAII_VAR, SCOPED_CHANNELLOCK, and xfer_get().
Referenced by feature_read().
|
static |
Definition at line 1637 of file features_config.c.
References ao2_cleanup, ast_log, ast_true(), DATASTORE_INHERIT_FOREVER, general_set(), get_feature_chan_ds(), get_feature_ds(), ast_datastore::inheritance, lock, LOG_WARNING, NULL, pickup_set(), RAII_VAR, SCOPED_CHANNELLOCK, and xfer_set().
Referenced by feature_write().
|
static |
Definition at line 1667 of file features_config.c.
References ast_get_builtin_feature(), ast_log, lock, LOG_WARNING, and SCOPED_CHANNELLOCK.
Referenced by featuremap_read().
|
static |
Definition at line 1682 of file features_config.c.
References ao2_cleanup, ast_log, featuremap_set(), get_feature_ds(), lock, LOG_WARNING, NULL, RAII_VAR, and SCOPED_CHANNELLOCK.
Referenced by featuremap_write().
|
static |
Definition at line 1758 of file features_config.c.
References __stringify, ACO_EXACT, aco_info_init(), aco_option_register_custom, aco_option_register_custom_nodoc, ACO_PREFIX, aco_process_config(), ACO_PROCESS_ERROR, aco_set_defaults(), ao2_cleanup, ao2_global_obj_replace_unref, applicationmap_handler(), ast_log, DEFAULT_ATXFER_ABORT, DEFAULT_ATXFER_CALLBACK_RETRIES, DEFAULT_ATXFER_COMPLETE, DEFAULT_ATXFER_DROP_CALL, DEFAULT_ATXFER_LOOP_DELAY, DEFAULT_ATXFER_SWAP, DEFAULT_ATXFER_THREEWAY, DEFAULT_COURTESY_TONE, DEFAULT_FEATURE_DIGIT_TIMEOUT, DEFAULT_FEATUREMAP_ATXFER, DEFAULT_FEATUREMAP_AUTOMIXMON, DEFAULT_FEATUREMAP_AUTOMON, DEFAULT_FEATUREMAP_BLINDXFER, DEFAULT_FEATUREMAP_DISCONNECT, DEFAULT_FEATUREMAP_PARKCALL, DEFAULT_NOANSWER_TIMEOUT_ATTENDED_TRANSFER, DEFAULT_PICKUPEXTEN, DEFAULT_PICKUPFAILSOUND, DEFAULT_PICKUPSOUND, DEFAULT_RECORDING_FAIL_SOUND, DEFAULT_TRANSFER_DIAL_ATTEMPTS, DEFAULT_TRANSFER_DIGIT_TIMEOUT, DEFAULT_TRANSFER_INVALID_SOUND, DEFAULT_TRANSFER_RETRY_SOUND, DEFAULT_XFERFAILSOUND, DEFAULT_XFERSOUND, featuregroup_handler(), featuremap_handler(), features_config_alloc(), general_handler(), globals, LOG_ERROR, LOG_NOTICE, pickup_handler(), RAII_VAR, unsupported_handler(), and xfer_handler().
Referenced by load_features_config().
int load_features_config | ( | void | ) |
Definition at line 1996 of file features_config.c.
References __ast_custom_function_register(), ARRAY_LEN, ast_cli_register_multiple, load_config(), and NULL.
Referenced by load_module().
|
static |
Definition at line 796 of file features_config.c.
References ast_string_fields_copy.
Referenced by global_copy().
|
static |
Definition at line 677 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 977 of file features_config.c.
References ast_copy_string(), ast_features_pickup_config::pickupexten, ast_features_pickup_config::pickupfailsound, and ast_features_pickup_config::pickupsound.
Referenced by internal_feature_read().
|
static |
Definition at line 1519 of file features_config.c.
References global, ast_variable::name, features_global_config::pickup, pickup_set(), and ast_variable::value.
Referenced by load_config().
|
static |
Definition at line 958 of file features_config.c.
References ast_string_field_set.
Referenced by internal_feature_write(), and pickup_handler().
|
static |
Definition at line 1905 of file features_config.c.
References a, ast_cli(), ast_applicationmap_item::dtmf, ast_cli_args::fd, HFS_FORMAT, item, and ast_applicationmap_item::name.
Referenced by handle_feature_show().
|
static |
Definition at line 1881 of file features_config.c.
References a, featuregroup_item::appmap_item, featuregroup_item::appmap_item_name, ast_cli(), ast_applicationmap_item::dtmf, featuregroup_item::dtmf_override, ast_cli_args::fd, item, and S_OR.
Referenced by print_featuregroups().
|
static |
Definition at line 1892 of file features_config.c.
References a, ao2_callback, ast_cli(), ast_cli_args::fd, featuregroup::items, featuregroup::name, and print_featuregroup().
Referenced by handle_feature_show().
int reload_features_config | ( | void | ) |
Definition at line 1985 of file features_config.c.
References aco_process_config(), ACO_PROCESS_ERROR, and parking_warning.
Referenced by load_module().
void unload_features_config | ( | void | ) |
Definition at line 1976 of file features_config.c.
References aco_info_destroy(), ao2_global_obj_release, ARRAY_LEN, ast_cli_unregister_multiple(), ast_custom_function_unregister(), and globals.
Referenced by unload_module().
|
static |
Definition at line 1529 of file features_config.c.
References ast_log, LOG_WARNING, ast_variable::name, and parking_warning.
Referenced by load_config().
|
static |
Definition at line 785 of file features_config.c.
References ast_string_fields_copy, ast_features_xfer_config::atxfercallbackretries, ast_features_xfer_config::atxferdropcall, ast_features_xfer_config::atxferloopdelay, ast_features_xfer_config::atxfernoanswertimeout, ast_features_xfer_config::transferdialattempts, and ast_features_xfer_config::transferdigittimeout.
Referenced by global_copy().
|
static |
Definition at line 670 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 917 of file features_config.c.
References ast_copy_string(), ast_features_xfer_config::atxferabort, ast_features_xfer_config::atxfercallbackretries, ast_features_xfer_config::atxfercomplete, ast_features_xfer_config::atxferdropcall, ast_features_xfer_config::atxferloopdelay, ast_features_xfer_config::atxfernoanswertimeout, ast_features_xfer_config::atxferswap, ast_features_xfer_config::atxferthreeway, ast_features_xfer_config::transferdialattempts, ast_features_xfer_config::transferdigittimeout, ast_features_xfer_config::transferinvalidsound, ast_features_xfer_config::transferretrysound, ast_features_xfer_config::xferfailsound, and ast_features_xfer_config::xfersound.
Referenced by internal_feature_read().
|
static |
Definition at line 1510 of file features_config.c.
References global, ast_variable::name, ast_variable::value, features_global_config::xfer, and xfer_set().
Referenced by load_config().
|
static |
Definition at line 876 of file features_config.c.
References ast_parse_arg(), ast_string_field_set, ast_true(), ast_features_xfer_config::atxfercallbackretries, ast_features_xfer_config::atxferdropcall, ast_features_xfer_config::atxferloopdelay, ast_features_xfer_config::atxfernoanswertimeout, PARSE_INT32, ast_features_xfer_config::transferdialattempts, and ast_features_xfer_config::transferdigittimeout.
Referenced by internal_feature_write(), and xfer_handler().
|
static |
Definition at line 596 of file features_config.c.
|
static |
Definition at line 625 of file features_config.c.
|
static |
Definition at line 1972 of file features_config.c.
|
static |
Definition at line 1059 of file features_config.c.
|
static |
Definition at line 1746 of file features_config.c.
|
static |
Definition at line 604 of file features_config.c.
|
static |
Definition at line 626 of file features_config.c.
|
static |
Definition at line 1752 of file features_config.c.
|
static |
Definition at line 588 of file features_config.c.
|
static |
Definition at line 624 of file features_config.c.
|
static |
Definition at line 629 of file features_config.c.
|
static |
Definition at line 580 of file features_config.c.
|
static |
Definition at line 623 of file features_config.c.
|
static |
Definition at line 1528 of file features_config.c.
Referenced by reload_features_config(), and unsupported_handler().
|
static |
Definition at line 614 of file features_config.c.
|
static |
Definition at line 627 of file features_config.c.