Asterisk - The Open Source Telephony Project GIT-master-3dae2cf
|
#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 372 of file features_config.c.
#define DEFAULT_ATXFER_CALLBACK_RETRIES 2 |
Definition at line 369 of file features_config.c.
#define DEFAULT_ATXFER_COMPLETE "*2" |
Definition at line 373 of file features_config.c.
#define DEFAULT_ATXFER_DROP_CALL 0 |
Definition at line 367 of file features_config.c.
#define DEFAULT_ATXFER_LOOP_DELAY 10 |
Definition at line 368 of file features_config.c.
#define DEFAULT_ATXFER_SWAP "*4" |
Definition at line 375 of file features_config.c.
#define DEFAULT_ATXFER_THREEWAY "*3" |
Definition at line 374 of file features_config.c.
#define DEFAULT_COURTESY_TONE "" |
Definition at line 361 of file features_config.c.
#define DEFAULT_FEATURE_DIGIT_TIMEOUT 1000 |
Default general options
Definition at line 360 of file features_config.c.
#define DEFAULT_FEATUREMAP_ATXFER "" |
Definition at line 390 of file features_config.c.
#define DEFAULT_FEATUREMAP_AUTOMIXMON "" |
Definition at line 392 of file features_config.c.
#define DEFAULT_FEATUREMAP_AUTOMON "" |
Definition at line 389 of file features_config.c.
#define DEFAULT_FEATUREMAP_BLINDXFER "#" |
Default featuremap options
Definition at line 387 of file features_config.c.
#define DEFAULT_FEATUREMAP_DISCONNECT "*" |
Definition at line 388 of file features_config.c.
#define DEFAULT_FEATUREMAP_PARKCALL "" |
Definition at line 391 of file features_config.c.
#define DEFAULT_NOANSWER_TIMEOUT_ATTENDED_TRANSFER 15 |
Definition at line 366 of file features_config.c.
#define DEFAULT_PICKUPEXTEN "*8" |
Default pickup options
Definition at line 382 of file features_config.c.
#define DEFAULT_PICKUPFAILSOUND "" |
Definition at line 384 of file features_config.c.
#define DEFAULT_PICKUPSOUND "" |
Definition at line 383 of file features_config.c.
#define DEFAULT_RECORDING_FAIL_SOUND "" |
Definition at line 362 of file features_config.c.
#define DEFAULT_TRANSFER_ANNOUNCE_SOUND "pbx-transfer" |
Definition at line 379 of file features_config.c.
#define DEFAULT_TRANSFER_DIAL_ATTEMPTS 3 |
Definition at line 376 of file features_config.c.
#define DEFAULT_TRANSFER_DIGIT_TIMEOUT 3 |
Default xfer options
Definition at line 365 of file features_config.c.
#define DEFAULT_TRANSFER_INVALID_SOUND "privacy-incorrect" |
Definition at line 378 of file features_config.c.
#define DEFAULT_TRANSFER_RETRY_SOUND "pbx-invalid" |
Definition at line 377 of file features_config.c.
#define DEFAULT_XFERFAILSOUND "beeperr" |
Definition at line 371 of file features_config.c.
#define DEFAULT_XFERSOUND "beep" |
Definition at line 370 of file features_config.c.
#define HFS_FORMAT "%-25s %-7s %-7s\n" |
Definition at line 1895 of file features_config.c.
|
static |
Definition at line 726 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 1288 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 706 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 1374 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 1266 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 410 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 403 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 1225 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 1317 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 1205 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 1170 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 1115 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 1185 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 1135 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 1155 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 1242 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 1559 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 1541 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 1038 of file features_config.c.
References ao2_cleanup.
|
static |
Definition at line 1044 of file features_config.c.
References features_config_dup().
|
static |
Definition at line 1694 of file features_config.c.
References ast_log, buf, ast_datastore::data, internal_feature_read(), len(), and LOG_WARNING.
|
static |
Definition at line 1705 of file features_config.c.
References ast_log, ast_datastore::data, internal_feature_write(), LOG_WARNING, and value.
|
static |
Definition at line 536 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 502 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 528 of file features_config.c.
References ao2_cleanup, ast_free, and group::name.
Referenced by featuregroup_alloc().
|
static |
Definition at line 523 of file features_config.c.
References ao2_find, group_container, and OBJ_KEY.
|
static |
Definition at line 1470 of file features_config.c.
References ao2_alloc, ao2_cleanup, ao2_link, ast_string_field_init, ast_string_field_set, featuregroup_item_destructor(), item, NULL, RAII_VAR, and var.
Referenced by load_config().
|
static |
Definition at line 483 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 444 of file features_config.c.
References ao2_cleanup, ast_string_field_free_memory, and item.
Referenced by featuregroup_handler().
|
static |
Definition at line 641 of file features_config.c.
References ast_string_field_free_memory.
Referenced by __features_config_alloc().
|
static |
Definition at line 802 of file features_config.c.
References ast_string_fields_copy.
Referenced by features_copy().
|
static |
Definition at line 1015 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 1533 of file features_config.c.
References featuremap_set(), and var.
Referenced by load_config().
|
static |
Definition at line 1716 of file features_config.c.
References ast_log, buf, ast_datastore::data, internal_featuremap_read(), len(), and LOG_WARNING.
|
static |
Definition at line 992 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 1727 of file features_config.c.
References ast_log, ast_datastore::data, internal_featuremap_write(), LOG_WARNING, and value.
|
static |
Definition at line 768 of file features_config.c.
References __features_config_alloc().
Referenced by load_config().
|
static |
Definition at line 630 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 818 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 807 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 1581 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 773 of file features_config.c.
References ast_string_fields_copy, and ast_features_general_config::featuredigittimeout.
Referenced by global_copy().
|
static |
Definition at line 657 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 851 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 1493 of file features_config.c.
References general_set(), global, and var.
Referenced by load_config().
|
static |
Definition at line 832 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 1101 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 1065 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 678 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 648 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 795 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 452 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 1915 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 1598 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 1629 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 1659 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 1674 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 1750 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 1987 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 790 of file features_config.c.
References ast_string_fields_copy.
Referenced by global_copy().
|
static |
Definition at line 671 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 973 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 1511 of file features_config.c.
References global, pickup_set(), and var.
Referenced by load_config().
|
static |
Definition at line 954 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 1897 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 1873 of file features_config.c.
References a, ast_cli(), item, and S_OR.
Referenced by print_featuregroups().
|
static |
Definition at line 1884 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 1976 of file features_config.c.
References aco_process_config(), ACO_PROCESS_ERROR, and parking_warning.
void unload_features_config | ( | void | ) |
Definition at line 1967 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 1521 of file features_config.c.
References ast_log, LOG_WARNING, parking_warning, and var.
Referenced by load_config().
|
static |
Definition at line 779 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 664 of file features_config.c.
References ast_string_field_free_memory.
Referenced by global_config_alloc().
|
static |
Definition at line 913 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 1502 of file features_config.c.
References global, var, and xfer_set().
Referenced by load_config().
|
static |
Definition at line 870 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 590 of file features_config.c.
|
static |
Definition at line 619 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 1963 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
|
static |
Definition at line 1051 of file features_config.c.
Referenced by get_feature_chan_ds(), and get_feature_ds().
|
static |
Definition at line 1738 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
|
static |
Definition at line 598 of file features_config.c.
|
static |
Definition at line 620 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 1744 of file features_config.c.
Referenced by load_features_config(), and unload_features_config().
|
static |
Definition at line 582 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 618 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 623 of file features_config.c.
|
static |
Definition at line 574 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 617 of file features_config.c.
Referenced by load_config().
|
static |
Definition at line 1520 of file features_config.c.
Referenced by reload_features_config(), and unsupported_handler().
|
static |
Definition at line 608 of file features_config.c.
|
static |
Definition at line 621 of file features_config.c.
Referenced by load_config().