Asterisk - The Open Source Telephony Project
GIT-master-a24979a
|
ALSA sound card channel driver. More...
#include "asterisk.h"
#include <errno.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#include <alsa/asoundlib.h>
#include "asterisk/frame.h"
#include "asterisk/channel.h"
#include "asterisk/module.h"
#include "asterisk/pbx.h"
#include "asterisk/config.h"
#include "asterisk/cli.h"
#include "asterisk/utils.h"
#include "asterisk/causes.h"
#include "asterisk/endian.h"
#include "asterisk/stringfields.h"
#include "asterisk/abstract_jb.h"
#include "asterisk/musiconhold.h"
#include "asterisk/poll-compat.h"
#include "asterisk/stasis_channels.h"
#include "asterisk/format_cache.h"
Go to the source code of this file.
Data Structures | |
struct | chan_alsa_pvt |
Macros | |
#define | ALSA_INDEV "default" |
#define | ALSA_OUTDEV "default" |
#define | ALSA_PCM_NEW_HW_PARAMS_API |
#define | ALSA_PCM_NEW_SW_PARAMS_API |
#define | BUFFER_FMT ((buffersize * 10) << 16) | (0x0006); |
#define | DEBUG 0 |
#define | DESIRED_RATE 8000 |
#define | ESTRPIPE EPIPE |
#define | FRAME_SIZE 160 |
#define | MAX_BUFFER_SIZE 100 |
#define | MIN_SWITCH_TIME 600 |
#define | PERIOD_FRAMES 80 /* 80 Frames, at 2 bytes each */ |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static int | alsa_answer (struct ast_channel *c) |
static int | alsa_call (struct ast_channel *c, const char *dest, int timeout) |
static snd_pcm_t * | alsa_card_init (char *dev, snd_pcm_stream_t stream) |
static int | alsa_digit (struct ast_channel *c, char digit, unsigned int duration) |
static int | alsa_fixup (struct ast_channel *oldchan, struct ast_channel *newchan) |
static int | alsa_hangup (struct ast_channel *c) |
static int | alsa_indicate (struct ast_channel *chan, int cond, const void *data, size_t datalen) |
static struct ast_channel * | alsa_new (struct chan_alsa_pvt *p, int state, const struct ast_assigned_ids *assignedids, const struct ast_channel *requestor) |
static struct ast_frame * | alsa_read (struct ast_channel *chan) |
static struct ast_channel * | alsa_request (const char *type, struct ast_format_cap *cap, const struct ast_assigned_ids *assignedids, const struct ast_channel *requestor, const char *data, int *cause) |
static int | alsa_text (struct ast_channel *c, const char *text) |
static int | alsa_write (struct ast_channel *chan, struct ast_frame *f) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static char * | console_answer (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | console_autoanswer (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | console_dial (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | console_hangup (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | console_mute (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | console_sendtext (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static void | grab_owner (void) |
static int | load_module (void) |
Load the module. More... | |
static int | soundcard_init (void) |
static int | unload_module (void) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "ALSA Console Channel Driver" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_DEPRECATED, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_CHANNEL_DRIVER, } |
static struct chan_alsa_pvt | alsa |
static struct ast_channel_tech | alsa_tech |
static ast_mutex_t | alsalock = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static int | autoanswer = 1 |
static struct ast_cli_entry | cli_alsa [] |
static const char | config [] = "alsa.conf" |
static char | context [AST_MAX_CONTEXT] = "default" |
static struct ast_jb_conf | default_jbconf |
static char | exten [AST_MAX_EXTENSION] = "s" |
static snd_pcm_format_t | format = SND_PCM_FORMAT_S16_BE |
static struct ast_jb_conf | global_jbconf |
static int | hookstate = 0 |
static char | indevname [50] = ALSA_INDEV |
static char | language [MAX_LANGUAGE] = "" |
static char | mohinterpret [MAX_MUSICCLASS] |
static int | mute = 0 |
static int | noaudiocapture = 0 |
static char | outdevname [50] = ALSA_OUTDEV |
static int | readdev = -1 |
static int | silencesuppression = 0 |
static int | silencethreshold = 1000 |
static const char | tdesc [] = "ALSA Console Channel Driver" |
static int | writedev = -1 |
ALSA sound card channel driver.
Definition in file chan_alsa.c.
#define ALSA_INDEV "default" |
Definition at line 87 of file chan_alsa.c.
#define ALSA_OUTDEV "default" |
Definition at line 88 of file chan_alsa.c.
#define ALSA_PCM_NEW_HW_PARAMS_API |
Definition at line 54 of file chan_alsa.c.
#define ALSA_PCM_NEW_SW_PARAMS_API |
Definition at line 55 of file chan_alsa.c.
#define BUFFER_FMT ((buffersize * 10) << 16) | (0x0006); |
Definition at line 98 of file chan_alsa.c.
#define DEBUG 0 |
Definition at line 85 of file chan_alsa.c.
#define DESIRED_RATE 8000 |
Definition at line 89 of file chan_alsa.c.
#define ESTRPIPE EPIPE |
Definition at line 48 of file chan_alsa.c.
#define FRAME_SIZE 160 |
Definition at line 92 of file chan_alsa.c.
#define MAX_BUFFER_SIZE 100 |
Definition at line 141 of file chan_alsa.c.
#define MIN_SWITCH_TIME 600 |
Definition at line 101 of file chan_alsa.c.
#define PERIOD_FRAMES 80 /* 80 Frames, at 2 bytes each */ |
Definition at line 93 of file chan_alsa.c.
|
static |
Definition at line 1047 of file chan_alsa.c.
|
static |
Definition at line 1047 of file chan_alsa.c.
|
static |
Definition at line 365 of file chan_alsa.c.
References alsa, alsalock, ast_mutex_lock, ast_mutex_unlock, ast_setstate(), AST_STATE_UP, ast_verbose(), c, chan_alsa_pvt::icard, and noaudiocapture.
|
static |
Definition at line 329 of file chan_alsa.c.
References alsa, alsalock, ast_channel_unlock, AST_CONTROL_ANSWER, AST_CONTROL_RINGING, AST_FRAME_CONTROL, ast_indicate(), ast_mutex_lock, ast_mutex_unlock, ast_queue_frame(), ast_verbose(), autoanswer, grab_owner(), chan_alsa_pvt::icard, ast_frame_subclass::integer, mute, noaudiocapture, chan_alsa_pvt::owner, and ast_frame::subclass.
|
static |
Definition at line 177 of file chan_alsa.c.
References ast_alloca, ast_debug, ast_log, DESIRED_RATE, format, LOG_ERROR, LOG_WARNING, NULL, PERIOD_FRAMES, readdev, and writedev.
Referenced by soundcard_init().
|
static |
Definition at line 303 of file chan_alsa.c.
References alsalock, ast_mutex_lock, ast_mutex_unlock, ast_verbose(), and digit.
|
static |
Definition at line 535 of file chan_alsa.c.
References alsalock, ast_channel_tech_pvt(), ast_mutex_lock, ast_mutex_unlock, and chan_alsa_pvt::owner.
|
static |
Definition at line 379 of file chan_alsa.c.
References alsa, alsalock, ast_channel_tech_pvt_set(), ast_module_unref, ast_mutex_lock, ast_mutex_unlock, ast_verbose(), c, hookstate, chan_alsa_pvt::icard, noaudiocapture, NULL, chan_alsa_pvt::owner, and ast_module_info::self.
|
static |
Definition at line 546 of file chan_alsa.c.
References alsalock, ast_channel_name(), AST_CONTROL_BUSY, AST_CONTROL_CONGESTION, AST_CONTROL_HOLD, AST_CONTROL_INCOMPLETE, AST_CONTROL_PROCEEDING, AST_CONTROL_PROGRESS, AST_CONTROL_PVT_CAUSE_CODE, AST_CONTROL_RINGING, AST_CONTROL_SRCUPDATE, AST_CONTROL_UNHOLD, AST_CONTROL_VIDUPDATE, ast_log, ast_moh_start(), ast_moh_stop(), ast_mutex_lock, ast_mutex_unlock, ast_verbose(), cond, LOG_WARNING, and mohinterpret.
|
static |
Definition at line 584 of file chan_alsa.c.
References alsa_tech, ast_channel_alloc, ast_channel_context_set(), ast_channel_exten_set(), ast_channel_name(), ast_channel_nativeformats_set(), ast_channel_set_fd(), ast_channel_set_readformat(), ast_channel_set_writeformat(), ast_channel_stage_snapshot(), ast_channel_stage_snapshot_done(), ast_channel_tech_pvt_set(), ast_channel_tech_set(), ast_channel_unlock, ast_format_slin, ast_hangup(), ast_jb_configure(), ast_log, ast_module_ref, ast_pbx_start(), AST_STATE_DOWN, ast_strlen_zero(), ast_channel_tech::capabilities, chan_alsa_pvt::context, chan_alsa_pvt::exten, global_jbconf, indevname, language, LOG_WARNING, NULL, chan_alsa_pvt::owner, readdev, ast_module_info::self, and tmp().
Referenced by alsa_request(), and console_dial().
|
static |
Definition at line 447 of file chan_alsa.c.
References alsa, alsalock, ast_format_slin, AST_FRAME_NULL, AST_FRAME_VOICE, AST_FRIENDLY_OFFSET, ast_log, ast_mutex_lock, ast_mutex_unlock, AST_STATE_UP, buf, ast_frame::data, ast_frame::datalen, ast_frame::delivery, ESTRPIPE, ast_frame_subclass::format, FRAME_SIZE, ast_frame::frametype, chan_alsa_pvt::icard, ast_frame_subclass::integer, LOG_ERROR, ast_frame::mallocd, mute, noaudiocapture, NULL, ast_frame::offset, ast_frame::ptr, ast_frame::samples, ast_frame::src, state, and ast_frame::subclass.
|
static |
Definition at line 624 of file chan_alsa.c.
References alsa, alsa_new(), alsalock, AST_CAUSE_BUSY, ast_format_cap_get_names(), ast_format_cap_iscompatible_format(), AST_FORMAT_CAP_NAMES_LEN, AST_FORMAT_CMP_NOT_EQUAL, ast_format_slin, ast_log, ast_mutex_lock, ast_mutex_unlock, AST_STATE_DOWN, ast_str_alloca, LOG_NOTICE, LOG_WARNING, NULL, chan_alsa_pvt::owner, and tmp().
|
static |
Definition at line 313 of file chan_alsa.c.
References alsalock, ast_mutex_lock, ast_mutex_unlock, ast_verbose(), and text.
|
static |
Definition at line 395 of file chan_alsa.c.
References alsa, alsalock, ast_debug, ast_log, ast_mutex_lock, ast_mutex_unlock, ast_frame::data, ast_frame::datalen, ESTRPIPE, len(), LOG_ERROR, LOG_NOTICE, LOG_WARNING, chan_alsa_pvt::ocard, ast_frame::ptr, and state.
struct ast_module* AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 1047 of file chan_alsa.c.
|
static |
Definition at line 684 of file chan_alsa.c.
References a, alsa, alsalock, ast_channel_unlock, ast_cli(), AST_CONTROL_ANSWER, ast_mutex_lock, ast_mutex_unlock, ast_queue_control(), ast_verbose(), CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, grab_owner(), hookstate, chan_alsa_pvt::icard, mute, noaudiocapture, NULL, chan_alsa_pvt::owner, and ast_cli_entry::usage.
|
static |
Definition at line 648 of file chan_alsa.c.
References a, alsalock, ast_cli(), ast_mutex_lock, ast_mutex_unlock, autoanswer, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, NULL, and ast_cli_entry::usage.
|
static |
Definition at line 817 of file chan_alsa.c.
References a, alsa, alsa_new(), alsalock, ast_cli(), ast_copy_string(), ast_exists_extension(), AST_FRAME_DTMF, ast_mutex_lock, ast_mutex_unlock, ast_queue_frame(), AST_STATE_RINGING, ast_strlen_zero(), CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, context, chan_alsa_pvt::context, d, exten, chan_alsa_pvt::exten, ast_frame::frametype, hookstate, NULL, chan_alsa_pvt::owner, strsep(), tmp(), and ast_cli_entry::usage.
|
static |
Definition at line 779 of file chan_alsa.c.
References a, alsa, alsalock, AST_CAUSE_NORMAL_CLEARING, ast_channel_unlock, ast_cli(), ast_mutex_lock, ast_mutex_unlock, ast_queue_hangup_with_cause(), CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, grab_owner(), hookstate, NULL, chan_alsa_pvt::owner, and ast_cli_entry::usage.
|
static |
Definition at line 882 of file chan_alsa.c.
|
static |
Definition at line 730 of file chan_alsa.c.
References a, alsa, alsalock, ast_channel_unlock, ast_cli(), AST_CONTROL_ANSWER, AST_FRAME_TEXT, ast_mutex_lock, ast_mutex_unlock, ast_queue_control(), ast_queue_frame(), CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, ast_frame::data, ast_frame::datalen, grab_owner(), NULL, chan_alsa_pvt::owner, ast_frame::ptr, and ast_cli_entry::usage.
|
static |
Definition at line 322 of file chan_alsa.c.
References alsa, alsalock, ast_channel_trylock, DEADLOCK_AVOIDANCE, and chan_alsa_pvt::owner.
Referenced by alsa_call(), console_answer(), console_hangup(), and console_sendtext().
|
static |
Load the module.
Module loading including tests for configuration or dependencies. This function can return AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_DECLINE, or AST_MODULE_LOAD_SUCCESS. If a dependency or environment variable fails tests return AST_MODULE_LOAD_FAILURE. If the module can not load the configuration file or other non-critical problem return AST_MODULE_LOAD_DECLINE. On success return AST_MODULE_LOAD_SUCCESS.
Definition at line 965 of file chan_alsa.c.
|
static |
Definition at line 283 of file chan_alsa.c.
References alsa, alsa_card_init(), ast_log, chan_alsa_pvt::icard, indevname, LOG_ERROR, noaudiocapture, chan_alsa_pvt::ocard, outdevname, and writedev.
|
static |
Definition at line 935 of file chan_alsa.c.
References alsa, alsa_tech, ao2_cleanup, ARRAY_LEN, ast_channel_unregister(), ast_cli_unregister_multiple(), ast_softhangup(), AST_SOFTHANGUP_APPUNLOAD, ast_channel_tech::capabilities, cli_alsa, chan_alsa_pvt::icard, NULL, chan_alsa_pvt::ocard, and chan_alsa_pvt::owner.
|
static |
Definition at line 965 of file chan_alsa.c.
|
static |
|
static |
Definition at line 160 of file chan_alsa.c.
Referenced by alsa_new(), and unload_module().
|
static |
Definition at line 115 of file chan_alsa.c.
Referenced by alsa_answer(), alsa_call(), alsa_digit(), alsa_fixup(), alsa_hangup(), alsa_indicate(), alsa_read(), alsa_request(), alsa_text(), alsa_write(), console_answer(), console_autoanswer(), console_dial(), console_hangup(), console_sendtext(), and grab_owner().
|
static |
Definition at line 1047 of file chan_alsa.c.
|
static |
Definition at line 147 of file chan_alsa.c.
Referenced by alsa_call(), and console_autoanswer().
|
static |
Definition at line 882 of file chan_alsa.c.
Referenced by unload_module().
|
static |
Definition at line 118 of file chan_alsa.c.
|
static |
Definition at line 120 of file chan_alsa.c.
Referenced by __after_bridge_set_goto(), __ast_channel_alloc(), __ast_channel_alloc_ap(), __has_voicemail(), __sip_alloc(), acf_vm_info(), action_atxfer(), action_blind_transfer(), action_dialplan_exec(), action_extensionstate(), action_originate(), action_redirect(), add_action_to_menu_entry(), add_extension(), add_hints(), add_sip_domain(), advanced_options(), append_mailbox(), append_mailbox_mapping(), apply_context(), ast_app_dtget(), ast_ari_channels_continue_in_dialplan(), ast_blind_transfer_message_create(), ast_bridge_set_after_go_on(), ast_bridge_set_after_goto(), ast_bridge_set_after_h(), ast_bridge_setup_after_goto(), ast_canmatch_extension(), ast_cdr_fork(), ast_channel_by_exten_cb(), ast_channel_get_by_exten(), ast_channel_iterator_by_exten_new(), ast_compile_ael2(), ast_context_remove_extension(), ast_context_remove_extension_callerid(), ast_context_remove_include(), ast_context_remove_switch(), ast_delete_mwi_state_full(), ast_devstate_to_extenstate(), ast_exists_extension(), ast_extension_state(), ast_extension_state_add(), ast_extension_state_add_destroy(), ast_extension_state_add_destroy_extended(), ast_extension_state_add_extended(), ast_extension_state_extended(), ast_findlabel_extension(), ast_get_enum(), ast_get_hint(), ast_get_srv(), ast_get_txt(), ast_hint_extension_nolock(), ast_hint_presence_state(), ast_json_dialplan_cep(), ast_json_dialplan_cep_app(), ast_matchmore_extension(), ast_msg_alloc(), ast_msg_set_context(), ast_mwi_create(), ast_mwi_publish_by_mailbox(), ast_parking_blind_transfer_park(), ast_parking_is_exten_park(), ast_pbx_h_exten_run(), ast_publish_mwi_state_full(), ast_res_pjsip_initialize_configuration(), ast_search_dns(), ast_sip_cli_print_sorcery_objectset(), ast_sip_cli_traverse_objects(), ast_spawn_extension(), ast_srv_cleanup(), ast_srv_get_nth_record(), ast_srv_get_record_count(), ast_srv_lookup(), ast_str_get_hint(), AST_TEST_DEFINE(), ast_unreal_new_channels(), ast_vm_mailbox_snapshot_create(), ast_vm_msg_move(), ast_vm_msg_play(), ast_vm_msg_remove(), ast_waitstream_exten(), ast_xml_query(), ast_xml_query_with_namespaces(), attended_transfer_exec(), attended_transfer_properties_alloc(), base_process_party_a(), blind_transfer_exec(), blr_ebl(), blr_txt(), bridge_channel_internal_queue_blind_transfer(), bridge_exec(), build_context(), build_peer(), canmatch(), cb_extensionstate(), cc_extension_monitor_init(), cdr_object_create_and_append(), channel_snapshot_dialplan_create(), check_access(), check_sip_domain(), cli_aor_print_body(), cli_aor_print_header(), cli_channel_print_body(), cli_channel_print_header(), cli_channelstats_print_body(), cli_channelstats_print_header(), cli_contact_print_body(), cli_contact_print_header(), cli_endpoint_print_child_body(), cli_endpoint_print_child_header(), cli_endpoint_print_header(), cli_print_body(), cli_print_header(), cli_unid_print_header(), common_exec(), complete_dialplan_add_include(), complete_dialplan_remove_extension(), complete_dialplan_remove_include(), complete_voicemail_show_users(), conf_run(), config_parse_variables(), console_dial(), context_used(), copy_plain_file(), copy_to_voicemail(), create_addr_from_peer(), create_dirpath(), create_queue_member(), custom_devstate_callback(), delete_existing_cb(), delete_extens(), disa_exec(), dns_parse_answer(), dns_parse_answer_ex(), dns_system_resolver_add_record(), dns_system_resolver_set_response(), do_directory(), do_magic_pickup(), dp_lookup(), dundi_canmatch(), dundi_do_lookup(), dundi_do_precache(), dundi_do_query(), dundi_exec(), dundi_exists(), dundi_helper(), dundi_ie_append_eid_appropriately(), dundi_matchmore(), dundi_precache(), dundi_precache_internal(), dundi_show_cache(), ebl_callback(), enum_callback(), exec(), execute_state_callback(), exists(), expand_gosub_args(), exten_state_publisher_state_cb(), extension_state_add_destroy(), extension_state_cb(), extensionstate_update(), extenspy_exec(), find_context(), find_context_locked(), find_label_in_current_db(), find_or_create(), find_user(), find_user_realtime(), forward_message(), get_also_info(), get_cid_name(), get_resource_display_name(), get_transfer_context(), gosub_allocate_frame(), goto_parser(), grab_transfer(), handle_blind_transfer(), handle_cli_dialplan_remove_extension(), handle_request_bye(), handle_request_invite(), handle_request_options(), handle_request_refer(), handle_show_dialplan(), handle_voicemail_show_users(), has_voicemail(), hook_on(), hook_state_alloc(), iax2_call(), iax2_canmatch(), iax2_exec(), iax2_exists(), iax2_matchmore(), iax2_transfer(), inboxcount2(), init_hook(), init_queue(), inprocess_count(), internal_extension_state_extended(), invent_message(), ip_identify_match_srv_lookup(), isexten_function_read(), leave_voicemail(), load_config(), load_module(), local_alloc(), local_devicestate(), localized_find_extension(), log_exec(), loopback_subst(), lua_find_extension(), lua_pbx_exec(), lua_register_hints(), lua_register_switches(), lua_sort_extensions(), lua_update_registry(), make_dir(), make_email_file(), manager_dialplan_extension_add(), manager_dialplan_extension_remove(), manager_match_mailbox(), manager_state_cb(), manager_status_voicemail_user(), matchmore(), messagecount(), mwi_create_state(), mwi_state_create_message(), mwi_to_event(), new_subscribe(), onedigit_goto(), orig_exten(), park_local_transfer(), parking_add_extension(), parking_blind_transfer_park(), parking_is_exten_park(), parking_notify_metermaids(), parse_line(), pbx_builtin_background(), pbx_extension_helper(), pbx_find_extension(), pbx_substitute_variables_helper_full_location(), pickup_by_exten(), pickup_exec(), play_mailbox_owner(), play_message(), play_message_by_id(), play_message_callerid(), prep_email_sub_vars(), print_escaped_uri(), print_sanitize_debug(), print_uri_debug(), process_precache(), process_weights(), publish_mwi_to_stasis(), publisher_start(), pubsub_on_rx_mwi_notify_request(), pvalGotoGetTarget(), pvalGotoSetTarget(), queue_mwi_event(), queue_set_param(), raise_exception(), readexten_exec(), realtime_canmatch(), realtime_common(), realtime_directory(), realtime_exec(), realtime_exists(), realtime_matchmore(), realtime_switch_common(), receive_message(), refer_incoming_attended_request(), refer_incoming_blind_request(), register_exten(), register_peer_exten(), reload_config(), reschedule_precache(), reset_user_pw(), retrydial_exec(), run_externnotify(), save_to_folder(), sayname(), search_directory(), search_directory_sub(), sendmail(), sendpage(), separate_mailbox(), set_peer_defaults(), set_pvt_defaults(), setup_peer_after_bridge_goto(), SHA1FinalBits(), SHA1Finalize(), SHA1Input(), SHA1PadMessage(), SHA1ProcessMessageBlock(), SHA1Reset(), SHA1Result(), show_debug_helper(), show_dialplan_helper(), show_users_realtime(), sip_cli_print_global(), sip_cli_print_system(), skinny_extensionstate_cb(), socket_process_helper(), spawn_dp_lookup(), spy_sayname(), srv_callback(), stasis_app_control_continue(), state_notify_build_xml(), store_config_core(), test_vm_api_create_mock_snapshot(), test_vm_api_create_voicemail_files(), try_redirect(), txt_callback(), unregister_exten(), vm_authenticate(), vm_execmain(), vm_mailbox_snapshot_create(), vm_msg_move(), vm_msg_remove(), vm_playmsgexec(), vm_sayname(), vmauthenticate(), wait_for_answer(), and waitstream_core().
|
static |
Global jitterbuffer configuration - by default, jb is disabled
Definition at line 1 of file chan_alsa.c.
|
static |
Definition at line 122 of file chan_alsa.c.
Referenced by __after_bridge_set_goto(), __analog_ss_thread(), __ast_channel_alloc(), __ast_channel_alloc_ap(), action_atxfer(), action_blind_transfer(), action_dialplan_exec(), action_extensionstate(), action_originate(), action_redirect(), add_action_to_menu_entry(), add_extension(), add_extensions(), add_hints(), add_user_extension(), alloc_notify_task_data(), analog_canmatch_featurecode(), analog_ss_thread(), ast_ari_channels_continue_in_dialplan(), ast_blind_transfer_message_create(), ast_bridge_set_after_go_on(), ast_bridge_set_after_goto(), ast_bridge_setup_after_goto(), ast_canmatch_extension(), ast_cdr_fork(), ast_channel_by_exten_cb(), ast_channel_get_by_exten(), ast_channel_iterator_by_exten_new(), ast_compile_ael2(), ast_context_remove_extension_callerid2(), ast_devstate_to_extenstate(), ast_exists_extension(), ast_extension_state(), ast_extension_state_add(), ast_extension_state_add_destroy(), ast_extension_state_add_destroy_extended(), ast_extension_state_add_extended(), ast_extension_state_extended(), ast_findlabel_extension(), ast_findlabel_extension2(), ast_get_extension_name(), ast_get_hint(), ast_hint_extension_nolock(), ast_hint_presence_state(), ast_is_shrinkable_phonenumber(), ast_is_valid_string(), ast_ivr_menu_run_internal(), ast_json_dialplan_cep(), ast_json_dialplan_cep_app(), ast_matchmore_extension(), ast_msg_set_exten(), ast_parking_blind_transfer_park(), ast_parking_is_exten_park(), ast_parking_park_call(), ast_phoneprov_add_extension(), ast_spawn_extension(), ast_str_get_hint(), AST_TEST_DEFINE(), ast_unreal_new_channels(), ast_walk_context_extensions(), ast_walk_extension_priorities(), attended_transfer_exec(), base_process_party_a(), blind_transfer_exec(), bridge_channel_internal_queue_blind_transfer(), build_extension(), canmatch(), canmatch_featurecode(), cb_extensionstate(), cc_extension_monitor_init(), cdr_object_create_and_append(), chan_pjsip_new(), channel_snapshot_dialplan_create(), check_access(), common_exec(), complete_dialplan_remove_extension(), complete_dpreply(), config_parse_variables(), console_dial(), context_used(), copy_plain_file(), create_queue_member(), custom_devstate_callback(), delete_existing_cb(), delete_extens(), delete_extension(), destroy_extensions(), dialandactivatesub(), disa_exec(), do_directory(), dundi_canmatch(), dundi_exec(), dundi_exists(), dundi_helper(), dundi_matchmore(), exec(), execute_state_callback(), exists(), expand_gosub_args(), ext_fluff_count(), exten_state_pub_data_alloc(), exten_state_publisher_state_cb(), extension_matches(), extension_state_add_destroy(), extension_state_cb(), extensionstate_update(), extenspy_exec(), feature_attended_transfer(), find_cache(), find_label_in_current_context(), find_label_in_current_db(), find_matching_priority(), fix_gotos_in_extensions(), gen_prios(), get_cid_name(), get_destination(), goto_parser(), grab_transfer(), handle_blind_transfer(), handle_cli_dialplan_add_extension(), handle_cli_dialplan_remove_extension(), handle_request_invite(), handle_show_dialplan(), hook_on(), hook_state_alloc(), iax2_canmatch(), iax2_exec(), iax2_exists(), iax2_matchmore(), init_hook(), initreqprep(), internal_extension_state_extended(), isexten_function_read(), leave_voicemail(), linkexten(), linkprio(), local_devicestate(), localized_find_extension(), localized_walk_context_extensions(), localized_walk_extension_priorities(), loopback_canmatch(), loopback_exists(), loopback_matchmore(), loopback_subst(), lua_find_extension(), lua_pbx_exec(), lua_sort_extensions(), lua_update_registry(), manager_dialplan_extension_add(), manager_dialplan_extension_remove(), manager_state_cb(), matchmore(), mgcp_ss(), new_iax(), onedigit_goto(), options_on_rx_request(), orig_exten(), originate_exec(), osplookup_exec(), park_local_transfer(), parking_blind_transfer_park(), parking_is_exten_park(), parking_notify_metermaids(), parking_park_call(), parse_line(), pbx_builtin_background(), pbx_extension_helper(), pbx_find_extension(), pbx_substitute_variables_helper_full_location(), pickup_by_exten(), pickup_exec(), pp_each_extension_helper(), publisher_start(), pvalGotoGetTarget(), pvalGotoSetTarget(), raise_exception(), read_newoption(), readexten_exec(), realtime_canmatch(), realtime_common(), realtime_exec(), realtime_exists(), realtime_matchmore(), realtime_switch_common(), refer_incoming_blind_request(), session_inv_on_redirected(), set_ext_pri(), set_priorities(), set_pvt_defaults(), show_dialplan_helper(), show_dialplan_helper_extension_output(), sip_new(), sip_request_call(), skinny_extensionstate_cb(), sla_build_station(), sla_station_destructor(), socket_process_helper(), state_changed(), state_notify_build_xml(), store_config_core(), test_exten(), test_vm_api_create_mock_snapshot(), test_vm_api_destroy_mailbox_voicemails(), test_vm_api_test_setup(), test_vm_api_update_test_snapshots(), transmit_notify_with_mwi(), transmit_register(), update_scoreboard(), user_destructor(), vm_msg_snapshot_create(), and waitstream_core().
|
static |
Definition at line 106 of file chan_alsa.c.
Referenced by __ast_asprintf(), __ast_format_cap_append(), __ast_repl_asprintf(), __ast_repl_vasprintf(), __ast_string_field_ptr_build(), __ast_string_field_ptr_build_va(), __ast_vasprintf(), acf_sprintf(), acf_strftime(), acf_strptime(), FaxPcap::add(), add_codec_to_sdp(), add_email_attachment(), add_format_information_cb(), add_noncodec_to_sdp(), add_sdp(), add_static_payload(), add_tcodec_to_sdp(), add_vcodec_to_sdp(), adsi_input_control(), alsa_card_init(), apply_cap_to_bundled(), ast_adsi_input_control(), ast_ari_recordings_get_stored_file(), ast_audiohook_read_frame(), ast_audiohook_read_frame_all(), ast_channel_set_oldwriteformat(), ast_channel_set_rawreadformat(), ast_channel_set_rawwriteformat(), ast_channel_set_readformat(), ast_channel_set_writeformat(), ast_format_attribute_get(), ast_format_attribute_set(), ast_format_cache_get_by_codec(), ast_format_cache_is_slinear(), ast_format_cache_set(), ast_format_can_be_smoothed(), ast_format_cap_append_by_type(), ast_format_cap_get_compatible(), ast_format_cap_get_compatible_format(), ast_format_cap_get_format_framing(), ast_format_cap_remove(), ast_format_cap_update_by_allow_disallow(), ast_format_clone(), ast_format_compatibility_format2bitfield(), ast_format_create_named(), ast_format_determine_length(), ast_format_generate_sdp_fmtp(), ast_format_get_attribute_data(), ast_format_get_channel_count(), ast_format_get_codec(), ast_format_get_codec_id(), ast_format_get_codec_name(), ast_format_get_default_ms(), ast_format_get_maximum_ms(), ast_format_get_minimum_bytes(), ast_format_get_minimum_ms(), ast_format_get_name(), ast_format_get_sample_rate(), ast_format_get_smoother_flags(), ast_format_parse_sdp_fmtp(), ast_format_set_attribute_data(), ast_format_set_channel_count(), ast_iostream_printf(), ast_json_dump_file_format(), ast_json_dump_new_file_format(), ast_json_dump_str_format(), ast_json_dump_string_format(), ast_json_pack(), ast_json_stringf(), ast_json_vpack(), ast_json_vstringf(), ast_monitor_stop(), ast_openvstream(), ast_read_image(), ast_rtp_codecs_get_payload_format(), ast_rtp_codecs_payload_code(), ast_rtp_codecs_payload_code_tx(), ast_rtp_codecs_payload_replace_format(), ast_rtp_codecs_payload_set_rx(), ast_rtp_engine_load_format(), ast_rtp_engine_unload_format(), ast_rtp_instance_set_read_format(), ast_rtp_instance_set_write_format(), ast_rtp_lookup_mime_subtype2(), ast_rtp_lookup_sample_rate2(), ast_rtp_write(), ast_say_date_with_format_da(), ast_say_date_with_format_de(), ast_say_date_with_format_en(), ast_say_date_with_format_es(), ast_say_date_with_format_fr(), ast_say_date_with_format_gr(), ast_say_date_with_format_he(), ast_say_date_with_format_is(), ast_say_date_with_format_it(), ast_say_date_with_format_ja(), ast_say_date_with_format_nl(), ast_say_date_with_format_pl(), ast_say_date_with_format_pt(), ast_say_date_with_format_th(), ast_say_date_with_format_vi(), ast_say_date_with_format_zh(), ast_set_read_format(), ast_set_write_format(), ast_set_write_format_interleaved_stereo(), ast_sockaddr_stringify_fmt(), ast_strftime_locale(), ast_strptime(), ast_strptime_locale(), ast_taskprocessor_build_name(), AST_TEST_DEFINE(), ast_udptl_set_tag(), audiohook_read_frame_helper(), auth_http_callback(), build_peer(), build_profile(), build_user(), celt_cmp(), celt_destroy(), celt_parse_sdp_fmtp(), chat(), check_header(), check_header_fmt(), configure_local_rtp(), create_addr(), create_outgoing_sdp_stream(), create_video_frame(), dahdi_format_to_cached(), dump_flags(), error(), fatalerror(), file2format(), file_read(), find_static_payload_type(), format2index(), format_cap_framed_init(), format_cap_replace(), format_destroy(), format_hash_cb(), format_in_format_cap(), generate_fmtp_attr(), generate_rtpmap_attr(), generic_http_callback(), get_codecs(), get_soxmix_format(), h263_destroy(), h263_generate_sdp_fmtp(), h263_parse_sdp_fmtp(), h264_destroy(), h264_generate_sdp_fmtp(), h264_parse_sdp_fmtp(), handle_response_setup(), handle_saydatetime(), iax2_codec_choose(), iax2_codec_pref_append(), iax2_codec_pref_best_bitfield2cap(), iax2_codec_pref_from_bitfield(), iax2_codec_pref_prepend(), iax2_format_compatibility_bitfield2cap(), iax2_format_compatibility_cap2bitfield(), iax2_getformatname(), iax2_getformatname_multiple(), iax2_request(), ilbc_destroy(), ilbc_generate_sdp_fmtp(), ilbc_parse_sdp_fmtp(), inform(), jingle_add_payloads_to_description(), load_config(), spandspflow2pcap::main(), make_email_file(), map_video_codec(), minivm_notify_exec(), multicast_rtp_write(), next_item(), notify_new_message(), ooh323_convertAsteriskCapToH323Cap(), ooh323c_set_capability(), ooh323c_set_capability_for_call(), opus_destroy(), opus_generate_sdp_fmtp(), opus_get(), opus_parse_sdp_fmtp(), opus_set(), process_output(), process_sdp_a_audio(), process_sdp_a_video(), reload_config(), rtp_codecs_assign_payload_code_rx(), rtp_get_rate(), rtp_payload_type_alloc(), say(), say_date_generic(), say_date_with_format(), sayunixtime_exec(), sendmail(), set_cached_format(), set_config(), set_format(), set_next_mime_type(), show_sound_info_cb(), silk_cmp(), silk_destroy(), silk_get(), silk_parse_sdp_fmtp(), silk_set(), siren14_parse_sdp_fmtp(), siren7_parse_sdp_fmtp(), socket_process_helper(), speech_aeap_engine_create(), start_monitor_action(), start_monitor_exec(), stasis_app_recording_options_create(), stasis_app_stored_recording_copy(), test_core_format_attribute_get(), test_core_format_attribute_set(), test_core_format_destroy(), test_core_format_generate_sdp_fmtp(), test_core_format_parse_sdp_fmtp(), AllowableRange::to_wiki(), AllowableList::to_wiki(), transmit_connect_with_sdp(), transmit_modify_request(), transmit_modify_with_sdp(), transmit_startmediatransmission(), fe6592859b85_fix_mwi_subscribe_replaces_::upgrade(), vp8_destroy(), vp8_generate_sdp_fmtp(), vp8_parse_sdp_fmtp(), and xml_translate().
|
static |
Definition at line 1 of file chan_alsa.c.
Referenced by alsa_new().
|
static |
Definition at line 125 of file chan_alsa.c.
Referenced by alsa_hangup(), console_answer(), console_dial(), and console_hangup().
|
static |
Definition at line 109 of file chan_alsa.c.
Referenced by alsa_new(), and soundcard_init().
|
static |
Definition at line 121 of file chan_alsa.c.
Referenced by add_format_information_cb(), alsa_new(), ari_bridges_play_helper(), ari_channels_handle_play(), ast_res_pjsip_initialize_configuration(), ast_say_enumeration(), ast_say_enumeration_full_da(), ast_say_enumeration_full_de(), ast_say_enumeration_full_en(), ast_say_enumeration_full_he(), ast_say_enumeration_full_is(), ast_say_enumeration_full_vi(), ast_say_number(), ast_say_number_full_cs(), ast_say_number_full_da(), ast_say_number_full_de(), ast_say_number_full_en(), ast_say_number_full_en_GB(), ast_say_number_full_es(), ast_say_number_full_fr(), ast_say_number_full_gr(), ast_say_number_full_he(), ast_say_number_full_hu(), ast_say_number_full_is(), ast_say_number_full_it(), ast_say_number_full_ja(), ast_say_number_full_ka(), ast_say_number_full_nl(), ast_say_number_full_no(), ast_say_number_full_pl(), ast_say_number_full_pt(), ast_say_number_full_ru(), ast_say_number_full_se(), ast_say_number_full_th(), ast_say_number_full_ur(), ast_say_number_full_vi(), ast_say_number_full_zh(), ast_say_ordinal(), build_peer(), channel_snapshot_base_create(), conf_load_config(), create_addr_from_peer(), func_channel_write_real(), load_module(), pl_odtworz_plik(), powiedz(), say_and_wait(), say_enumeration_full(), say_number_full(), say_ordinal_full(), set_peer_defaults(), set_pvt_defaults(), show_sound_info_cb(), stasis_app_control_play_uri(), store_config_core(), tds_load_module(), and xmldoc_get_node().
|
static |
Definition at line 123 of file chan_alsa.c.
Referenced by __sip_alloc(), alsa_indicate(), build_peer(), create_addr_from_peer(), set_peer_defaults(), set_pvt_defaults(), and store_config_core().
|
static |
Definition at line 148 of file chan_alsa.c.
Referenced by action_mute_unmute_helper(), action_toggle_mute(), action_toggle_mute_participants(), alsa_call(), alsa_read(), analog_confmute(), ast_console_toggle_mute(), ast_network_puts_mutable(), cli_mute_unmute_helper(), console_answer(), dahdi_read(), dtmf_detect(), generic_mute_unmute_helper(), generic_mute_unmute_user(), meetmemute(), mf_detect(), mute_channel(), my_confmute(), send_mute(), send_select_output(), stasis_app_control_mute_in_bridge(), and tone_detect().
|
static |
Definition at line 149 of file chan_alsa.c.
Referenced by alsa_answer(), alsa_call(), alsa_hangup(), alsa_read(), console_answer(), and soundcard_init().
|
static |
Definition at line 110 of file chan_alsa.c.
Referenced by soundcard_init().
|
static |
Definition at line 144 of file chan_alsa.c.
Referenced by alsa_card_init(), and alsa_new().
|
static |
Definition at line 112 of file chan_alsa.c.
|
static |
Definition at line 113 of file chan_alsa.c.
|
static |
Definition at line 117 of file chan_alsa.c.
|
static |
Definition at line 145 of file chan_alsa.c.
Referenced by alsa_card_init(), and soundcard_init().