| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
#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. | |
| struct ao2_container * | ast_get_chan_applicationmap (struct ast_channel *chan) | 
| Get the applicationmap for a given channel. | |
| struct ast_featuremap_config * | ast_get_chan_featuremap_config (struct ast_channel *chan) | 
| Get the featuremap configuration options for a channel. | |
| char * | ast_get_chan_features_atxferabort (struct ast_channel *chan) | 
| Get the transfer configuration option atxferabort. | |
| struct ast_features_general_config * | ast_get_chan_features_general_config (struct ast_channel *chan) | 
| Get the general configuration options for a channel. | |
| struct ast_features_pickup_config * | ast_get_chan_features_pickup_config (struct ast_channel *chan) | 
| Get the pickup configuration options for a channel. | |
| struct ast_features_xfer_config * | ast_get_chan_features_xfer_config (struct ast_channel *chan) | 
| Get the transfer configuration options for a channel. | |
| char * | ast_get_chan_features_xferfailsound (struct ast_channel *chan) | 
| Get the transfer configuration option xferfailsound. | |
| int | ast_get_feature (struct ast_channel *chan, const char *feature, char *buf, size_t len) | 
| Get the DTMF code for a call feature. | |
| 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. | |
| 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 452 of file features_config.c.
| #define DEFAULT_ATXFER_CALLBACK_RETRIES 2 | 
Definition at line 449 of file features_config.c.
| #define DEFAULT_ATXFER_COMPLETE "*2" | 
Definition at line 453 of file features_config.c.
| #define DEFAULT_ATXFER_DROP_CALL 0 | 
Definition at line 447 of file features_config.c.
| #define DEFAULT_ATXFER_LOOP_DELAY 10 | 
Definition at line 448 of file features_config.c.
| #define DEFAULT_ATXFER_SWAP "*4" | 
Definition at line 455 of file features_config.c.
| #define DEFAULT_ATXFER_THREEWAY "*3" | 
Definition at line 454 of file features_config.c.
| #define DEFAULT_COURTESY_TONE "" | 
Definition at line 441 of file features_config.c.
| #define DEFAULT_FEATURE_DIGIT_TIMEOUT 1000 | 
Default general options
Definition at line 440 of file features_config.c.
| #define DEFAULT_FEATUREMAP_ATXFER "" | 
Definition at line 470 of file features_config.c.
| #define DEFAULT_FEATUREMAP_AUTOMIXMON "" | 
Definition at line 472 of file features_config.c.
| #define DEFAULT_FEATUREMAP_AUTOMON "" | 
Definition at line 469 of file features_config.c.
| #define DEFAULT_FEATUREMAP_BLINDXFER "#" | 
Default featuremap options
Definition at line 467 of file features_config.c.
| #define DEFAULT_FEATUREMAP_DISCONNECT "*" | 
Definition at line 468 of file features_config.c.
| #define DEFAULT_FEATUREMAP_PARKCALL "" | 
Definition at line 471 of file features_config.c.
| #define DEFAULT_NOANSWER_TIMEOUT_ATTENDED_TRANSFER 15 | 
Definition at line 446 of file features_config.c.
| #define DEFAULT_PICKUPEXTEN "*8" | 
Default pickup options
Definition at line 462 of file features_config.c.
| #define DEFAULT_PICKUPFAILSOUND "" | 
Definition at line 464 of file features_config.c.
| #define DEFAULT_PICKUPSOUND "" | 
Definition at line 463 of file features_config.c.
| #define DEFAULT_RECORDING_FAIL_SOUND "" | 
Definition at line 442 of file features_config.c.
| #define DEFAULT_TRANSFER_ANNOUNCE_SOUND "pbx-transfer" | 
Definition at line 459 of file features_config.c.
| #define DEFAULT_TRANSFER_DIAL_ATTEMPTS 3 | 
Definition at line 456 of file features_config.c.
| #define DEFAULT_TRANSFER_DIGIT_TIMEOUT 3 | 
Default xfer options
Definition at line 445 of file features_config.c.
| #define DEFAULT_TRANSFER_INVALID_SOUND "privacy-incorrect" | 
Definition at line 458 of file features_config.c.
| #define DEFAULT_TRANSFER_RETRY_SOUND "pbx-invalid" | 
Definition at line 457 of file features_config.c.
| #define DEFAULT_XFERFAILSOUND "beeperr" | 
Definition at line 451 of file features_config.c.
| #define DEFAULT_XFERSOUND "beep" | 
Definition at line 450 of file features_config.c.
| #define HFS_FORMAT "%-25s %-7s %-7s\n" | 
Definition at line 1975 of file features_config.c.
| 
 | static | 
Definition at line 806 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 1368 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 786 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 1454 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, NULL, paren, RAII_VAR, and var.
Referenced by load_config().
| 
 | static | 
Definition at line 1346 of file features_config.c.
References ast_applicationmap_item::activate_on_self, ao2_alloc, app, ast_applicationmap_item_destructor(), ast_copy_string(), ast_string_field_init, ast_string_field_set, ast_applicationmap_item::dtmf, item, ast_applicationmap_item::moh_class, name, and NULL.
Referenced by add_item(), and applicationmap_handler().
| 
 | static | 
Definition at line 490 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 483 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 | 
| len | The size of the buffer in bytes | 
| 0 | Success | 
| non-zero | Unrecognized builtin feature name | 
Definition at line 1305 of file features_config.c.
References ao2_cleanup, ao2_global_obj_ref, buf, featuremap_get(), get_feature_ds(), globals, len(), 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 1397 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 1285 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 1250 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 1195 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(), and feature_automixmonitor().
| 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 1265 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(), get_destination(), handle_call_outgoing(), and key_main_page().
| 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 1215 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 1235 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 | 
| len | The size of the buffer in bytes | 
| 0 | Success | 
| non-zero | Unrecognized feature name | 
Definition at line 1322 of file features_config.c.
References ao2_cleanup, ao2_find, ast_copy_string(), ast_get_builtin_feature(), ast_get_chan_applicationmap(), buf, item, len(), NULL, OBJ_KEY, and RAII_VAR.
Referenced by handle_incoming_request().
| 
 | static | 
Definition at line 1639 of file features_config.c.
References ao2_callback_data, ast_log, check_featuregroup_item(), CMP_STOP, LOG_WARNING, and group::name.
Referenced by features_pre_apply_config().
| 
 | static | 
Definition at line 1621 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 | ||
| ) | 
| 
 | static | 
Definition at line 1118 of file features_config.c.
References ao2_cleanup.
| 
 | static | 
Definition at line 1124 of file features_config.c.
References features_config_dup().
| 
 | static | 
Definition at line 1774 of file features_config.c.
References ast_log, buf, ast_datastore::data, internal_feature_read(), len(), and LOG_WARNING.
| 
 | static | 
Definition at line 1785 of file features_config.c.
References ast_log, ast_datastore::data, internal_feature_write(), LOG_WARNING, and value.
| 
 | static | 
Definition at line 616 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(), group::name, and NULL.
| 
 | static | 
Definition at line 582 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 608 of file features_config.c.
References ao2_cleanup, ast_free, and group::name.
Referenced by featuregroup_alloc().
| 
 | static | 
Definition at line 603 of file features_config.c.
References ao2_find, group_container, and OBJ_KEY.
| 
 | static | 
Definition at line 1550 of file features_config.c.
References ao2_alloc, ao2_cleanup, ao2_link, ast_string_field_init, ast_string_field_set, featuregroup_item_destructor(), item, aco_type::name, NULL, RAII_VAR, and var.
Referenced by load_config().
| 
 | static | 
Definition at line 563 of file features_config.c.
References ast_assert, ast_str_case_hash(), group::name, OBJ_KEY, OBJ_PARTIAL_KEY, and OBJ_POINTER.
Referenced by __features_config_alloc().
| 
 | static | 
Definition at line 524 of file features_config.c.
References ao2_cleanup, ast_string_field_free_memory, and item.
Referenced by featuregroup_handler().
| 
 | static | 
Definition at line 721 of file features_config.c.
References ast_string_field_free_memory.
Referenced by __features_config_alloc().
| 
 | static | 
Definition at line 882 of file features_config.c.
References ast_string_fields_copy.
Referenced by features_copy().
| 
 | static | 
Definition at line 1095 of file features_config.c.
References ast_copy_string(), ast_featuremap_config::atxfer, ast_featuremap_config::automixmon, ast_featuremap_config::blindxfer, buf, ast_featuremap_config::disconnect, features_config::featuremap, len(), and ast_featuremap_config::parkcall.
Referenced by ast_get_builtin_feature().
| 
 | static | 
Definition at line 1613 of file features_config.c.
References featuremap_set(), and var.
Referenced by load_config().
| 
 | static | 
Definition at line 1796 of file features_config.c.
References ast_log, buf, ast_datastore::data, internal_featuremap_read(), len(), and LOG_WARNING.
| 
 | static | 
Definition at line 1072 of file features_config.c.
References ast_string_field_set, features_config::featuremap, name, and value.
Referenced by featuremap_handler(), and internal_featuremap_write().
| 
 | static | 
Definition at line 1807 of file features_config.c.
References ast_log, ast_datastore::data, internal_featuremap_write(), LOG_WARNING, and value.
| 
 | static | 
Definition at line 848 of file features_config.c.
References __features_config_alloc().
Referenced by load_config().
| 
 | static | 
Definition at line 710 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 898 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 887 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 1661 of file features_config.c.
References aco_pending_config(), ao2_callback_data, features_config::applicationmap, ast_assert, check_featuregroup(), features_config::featuregroups, and NULL.
| 
 | static | 
Definition at line 853 of file features_config.c.
References ast_string_fields_copy, and ast_features_general_config::featuredigittimeout.
Referenced by global_copy().
| 
 | static | 
Definition at line 737 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
| 
 | static | 
Definition at line 931 of file features_config.c.
References ast_copy_string(), buf, ast_features_general_config::courtesytone, ast_features_general_config::featuredigittimeout, len(), and ast_features_general_config::recordingfailsound.
Referenced by internal_feature_read().
| 
 | static | 
Definition at line 1573 of file features_config.c.
References general_set(), global, and var.
Referenced by load_config().
| 
 | static | 
Definition at line 912 of file features_config.c.
References ast_parse_arg(), ast_string_field_set, ast_features_general_config::featuredigittimeout, name, PARSE_INT32, and value.
Referenced by general_handler(), and internal_feature_write().
| 
 | static | 
Definition at line 1181 of file features_config.c.
References ao2_cleanup, ast_channel_datastore_find(), feature_ds_info, get_feature_ds(), and NULL.
Referenced by internal_feature_read(), and internal_feature_write().
| 
 | static | 
Definition at line 1145 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, feature_ds_info, 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 758 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 728 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 875 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 532 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 1995 of file features_config.c.
References a, 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_BLINDXFER, DEFAULT_FEATUREMAP_DISCONNECT, DEFAULT_FEATUREMAP_PARKCALL, DEFAULT_PICKUPEXTEN, globals, HFS_FORMAT, NULL, print_applicationmap(), print_featuregroups(), RAII_VAR, and ast_cli_entry::usage.
| 
 | static | 
Definition at line 1678 of file features_config.c.
References ao2_cleanup, ast_log, buf, ast_datastore::data, general_get(), get_feature_chan_ds(), get_feature_ds(), ast_datastore::inheritance, len(), lock, LOG_WARNING, NULL, pickup_get(), RAII_VAR, SCOPED_CHANNELLOCK, and xfer_get().
Referenced by feature_read().
| 
 | static | 
Definition at line 1709 of file features_config.c.
References ao2_cleanup, ast_log, ast_true(), ast_datastore::data, 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, value, and xfer_set().
Referenced by feature_write().
| 
 | static | 
Definition at line 1739 of file features_config.c.
References ast_get_builtin_feature(), ast_log, buf, ast_datastore::data, len(), lock, LOG_WARNING, and SCOPED_CHANNELLOCK.
Referenced by featuremap_read().
| 
 | static | 
Definition at line 1754 of file features_config.c.
References ao2_cleanup, ast_log, ast_datastore::data, featuremap_set(), get_feature_ds(), lock, LOG_WARNING, NULL, RAII_VAR, SCOPED_CHANNELLOCK, and value.
Referenced by featuremap_write().
| 
 | static | 
Definition at line 1830 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(), applicationmap_options, 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_BLINDXFER, DEFAULT_FEATUREMAP_DISCONNECT, DEFAULT_FEATUREMAP_PARKCALL, DEFAULT_NOANSWER_TIMEOUT_ATTENDED_TRANSFER, DEFAULT_PICKUPEXTEN, DEFAULT_PICKUPFAILSOUND, DEFAULT_PICKUPSOUND, DEFAULT_RECORDING_FAIL_SOUND, DEFAULT_TRANSFER_ANNOUNCE_SOUND, DEFAULT_TRANSFER_DIAL_ATTEMPTS, DEFAULT_TRANSFER_DIGIT_TIMEOUT, DEFAULT_TRANSFER_INVALID_SOUND, DEFAULT_TRANSFER_RETRY_SOUND, DEFAULT_XFERFAILSOUND, DEFAULT_XFERSOUND, featuregroup_handler(), featuregroup_options, featuremap_handler(), featuremap_option, featuremap_options, features_config_alloc(), general_handler(), global_option, global_options, globals, LOG_ERROR, LOG_NOTICE, parkinglot_options, pickup_handler(), RAII_VAR, unsupported_handler(), and xfer_handler().
Referenced by load_features_config().
| int load_features_config | ( | void | ) | 
Definition at line 2067 of file features_config.c.
References __ast_custom_function_register(), ARRAY_LEN, ast_cli_register_multiple, cli_features_config, feature_function, featuremap_function, load_config(), and NULL.
Referenced by load_module().
| 
 | static | 
Definition at line 870 of file features_config.c.
References ast_string_fields_copy.
Referenced by global_copy().
| 
 | static | 
Definition at line 751 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
| 
 | static | 
Definition at line 1053 of file features_config.c.
References ast_copy_string(), buf, len(), 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 1591 of file features_config.c.
References global, pickup_set(), and var.
Referenced by load_config().
| 
 | static | 
Definition at line 1034 of file features_config.c.
References ast_string_field_set, name, and value.
Referenced by internal_feature_write(), and pickup_handler().
| 
 | static | 
Definition at line 1977 of file features_config.c.
References a, ast_cli(), HFS_FORMAT, item, and aco_type::name.
Referenced by handle_feature_show().
| 
 | static | 
Definition at line 1953 of file features_config.c.
References a, ast_cli(), item, and S_OR.
Referenced by print_featuregroups().
| 
 | static | 
Definition at line 1964 of file features_config.c.
References a, ao2_callback, ast_cli(), group::name, and print_featuregroup().
Referenced by handle_feature_show().
| int reload_features_config | ( | void | ) | 
Definition at line 2056 of file features_config.c.
References aco_process_config(), ACO_PROCESS_ERROR, and parking_warning.
| void unload_features_config | ( | void | ) | 
Definition at line 2047 of file features_config.c.
References aco_info_destroy(), ao2_global_obj_release, ARRAY_LEN, ast_cli_unregister_multiple(), ast_custom_function_unregister(), cli_features_config, feature_function, featuremap_function, and globals.
Referenced by unload_module().
| 
 | static | 
Definition at line 1601 of file features_config.c.
References ast_log, LOG_WARNING, parking_warning, and var.
Referenced by load_config().
| 
 | static | 
Definition at line 859 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 744 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
| 
 | static | 
Definition at line 993 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, buf, len(), 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 1582 of file features_config.c.
References global, var, and xfer_set().
Referenced by load_config().
| 
 | static | 
Definition at line 950 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, name, PARSE_INT32, ast_features_xfer_config::transferdialattempts, ast_features_xfer_config::transferdigittimeout, and value.
Referenced by internal_feature_write(), and xfer_handler().
| 
 | static | 
Definition at line 670 of file features_config.c.
| 
 | static | 
Definition at line 699 of file features_config.c.
Referenced by load_config().
| 
 | static | 
Definition at line 2043 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
| 
 | static | 
Definition at line 1131 of file features_config.c.
Referenced by get_feature_chan_ds(), and get_feature_ds().
| 
 | static | 
Definition at line 1818 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
| 
 | static | 
Definition at line 678 of file features_config.c.
| 
 | static | 
Definition at line 700 of file features_config.c.
Referenced by load_config().
| 
 | static | 
Definition at line 1824 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
| 
 | static | 
Definition at line 662 of file features_config.c.
Referenced by load_config().
| 
 | static | 
Definition at line 698 of file features_config.c.
Referenced by load_config().
| 
 | static | 
Definition at line 703 of file features_config.c.
| 
 | static | 
Definition at line 654 of file features_config.c.
Referenced by load_config().
| 
 | static | 
Definition at line 697 of file features_config.c.
Referenced by load_config().
| 
 | static | 
Definition at line 1600 of file features_config.c.
Referenced by reload_features_config(), and unsupported_handler().
| 
 | static | 
Definition at line 688 of file features_config.c.
| 
 | static | 
Definition at line 701 of file features_config.c.
Referenced by load_config().