|
Asterisk - The Open Source Telephony Project GIT-master-70eff7f
|
#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 456 of file features_config.c.
| #define DEFAULT_ATXFER_CALLBACK_RETRIES 2 |
Definition at line 453 of file features_config.c.
| #define DEFAULT_ATXFER_COMPLETE "*2" |
Definition at line 457 of file features_config.c.
| #define DEFAULT_ATXFER_DROP_CALL 0 |
Definition at line 451 of file features_config.c.
| #define DEFAULT_ATXFER_LOOP_DELAY 10 |
Definition at line 452 of file features_config.c.
| #define DEFAULT_ATXFER_SWAP "*4" |
Definition at line 459 of file features_config.c.
| #define DEFAULT_ATXFER_THREEWAY "*3" |
Definition at line 458 of file features_config.c.
| #define DEFAULT_COURTESY_TONE "" |
Definition at line 445 of file features_config.c.
| #define DEFAULT_FEATURE_DIGIT_TIMEOUT 1000 |
Default general options
Definition at line 444 of file features_config.c.
| #define DEFAULT_FEATUREMAP_ATXFER "" |
Definition at line 474 of file features_config.c.
| #define DEFAULT_FEATUREMAP_AUTOMIXMON "" |
Definition at line 476 of file features_config.c.
| #define DEFAULT_FEATUREMAP_AUTOMON "" |
Definition at line 473 of file features_config.c.
| #define DEFAULT_FEATUREMAP_BLINDXFER "#" |
Default featuremap options
Definition at line 471 of file features_config.c.
| #define DEFAULT_FEATUREMAP_DISCONNECT "*" |
Definition at line 472 of file features_config.c.
| #define DEFAULT_FEATUREMAP_PARKCALL "" |
Definition at line 475 of file features_config.c.
| #define DEFAULT_NOANSWER_TIMEOUT_ATTENDED_TRANSFER 15 |
Definition at line 450 of file features_config.c.
| #define DEFAULT_PICKUPEXTEN "*8" |
Default pickup options
Definition at line 466 of file features_config.c.
| #define DEFAULT_PICKUPFAILSOUND "" |
Definition at line 468 of file features_config.c.
| #define DEFAULT_PICKUPSOUND "" |
Definition at line 467 of file features_config.c.
| #define DEFAULT_RECORDING_FAIL_SOUND "" |
Definition at line 446 of file features_config.c.
| #define DEFAULT_TRANSFER_ANNOUNCE_SOUND "pbx-transfer" |
Definition at line 463 of file features_config.c.
| #define DEFAULT_TRANSFER_DIAL_ATTEMPTS 3 |
Definition at line 460 of file features_config.c.
| #define DEFAULT_TRANSFER_DIGIT_TIMEOUT 3 |
Default xfer options
Definition at line 449 of file features_config.c.
| #define DEFAULT_TRANSFER_INVALID_SOUND "privacy-incorrect" |
Definition at line 462 of file features_config.c.
| #define DEFAULT_TRANSFER_RETRY_SOUND "pbx-invalid" |
Definition at line 461 of file features_config.c.
| #define DEFAULT_XFERFAILSOUND "beeperr" |
Definition at line 455 of file features_config.c.
| #define DEFAULT_XFERSOUND "beep" |
Definition at line 454 of file features_config.c.
| #define HFS_FORMAT "%-25s %-7s %-7s\n" |
Definition at line 1979 of file features_config.c.
|
static |
Definition at line 810 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 1372 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 790 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 1458 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 1350 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 494 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 487 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 1309 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 1401 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 1289 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 1254 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 1199 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 1269 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 1219 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 1239 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 1326 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 1643 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 1625 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 1122 of file features_config.c.
References ao2_cleanup.
|
static |
Definition at line 1128 of file features_config.c.
References features_config_dup().
|
static |
Definition at line 1778 of file features_config.c.
References ast_log, buf, ast_datastore::data, internal_feature_read(), len(), and LOG_WARNING.
|
static |
Definition at line 1789 of file features_config.c.
References ast_log, ast_datastore::data, internal_feature_write(), LOG_WARNING, and value.
|
static |
Definition at line 620 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 586 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 612 of file features_config.c.
References ao2_cleanup, ast_free, and group::name.
Referenced by featuregroup_alloc().
|
static |
Definition at line 607 of file features_config.c.
References ao2_find, group_container, and OBJ_KEY.
|
static |
Definition at line 1554 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 567 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 528 of file features_config.c.
References ao2_cleanup, ast_string_field_free_memory, and item.
Referenced by featuregroup_handler().
|
static |
Definition at line 725 of file features_config.c.
References ast_string_field_free_memory.
Referenced by __features_config_alloc().
|
static |
Definition at line 886 of file features_config.c.
References ast_string_fields_copy.
Referenced by features_copy().
|
static |
Definition at line 1099 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 1617 of file features_config.c.
References featuremap_set(), and var.
Referenced by load_config().
|
static |
Definition at line 1800 of file features_config.c.
References ast_log, buf, ast_datastore::data, internal_featuremap_read(), len(), and LOG_WARNING.
|
static |
Definition at line 1076 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 1811 of file features_config.c.
References ast_log, ast_datastore::data, internal_featuremap_write(), LOG_WARNING, and value.
|
static |
Definition at line 852 of file features_config.c.
References __features_config_alloc().
Referenced by load_config().
|
static |
Definition at line 714 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 902 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 891 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 1665 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 857 of file features_config.c.
References ast_string_fields_copy, and ast_features_general_config::featuredigittimeout.
Referenced by global_copy().
|
static |
Definition at line 741 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 935 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 1577 of file features_config.c.
References general_set(), global, and var.
Referenced by load_config().
|
static |
Definition at line 916 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 1185 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 1149 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 762 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 732 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 879 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 536 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 1999 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 1682 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 1713 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 1743 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 1758 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 1834 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 2071 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 874 of file features_config.c.
References ast_string_fields_copy.
Referenced by global_copy().
|
static |
Definition at line 755 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 1057 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 1595 of file features_config.c.
References global, pickup_set(), and var.
Referenced by load_config().
|
static |
Definition at line 1038 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 1981 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 1957 of file features_config.c.
References a, ast_cli(), item, and S_OR.
Referenced by print_featuregroups().
|
static |
Definition at line 1968 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 2060 of file features_config.c.
References aco_process_config(), ACO_PROCESS_ERROR, and parking_warning.
| void unload_features_config | ( | void | ) |
Definition at line 2051 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 1605 of file features_config.c.
References ast_log, LOG_WARNING, parking_warning, and var.
Referenced by load_config().
|
static |
Definition at line 863 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 748 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 997 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 1586 of file features_config.c.
References global, var, and xfer_set().
Referenced by load_config().
|
static |
Definition at line 954 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 674 of file features_config.c.
|
static |
Definition at line 703 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 2047 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
|
static |
Definition at line 1135 of file features_config.c.
Referenced by get_feature_chan_ds(), and get_feature_ds().
|
static |
Definition at line 1822 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
|
static |
Definition at line 682 of file features_config.c.
|
static |
Definition at line 704 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 1828 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
|
static |
Definition at line 666 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 702 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 707 of file features_config.c.
|
static |
Definition at line 658 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 701 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 1604 of file features_config.c.
Referenced by reload_features_config(), and unsupported_handler().
|
static |
Definition at line 692 of file features_config.c.
|
static |
Definition at line 705 of file features_config.c.
Referenced by load_config().