sdk/Vxc.h
Reference the Vivox Core SDK API.
Read time 119 minutesLast updated a day ago
Classes
Name | |
|---|---|
| struct | vx_message_base |
| struct | vx_req_base |
| struct | vx_resp_base |
| struct | vx_evt_base |
| struct | vx_state_buddy_contact |
| struct | vx_state_buddy |
| struct | vx_state_buddy_group |
| struct | vx_participant Channel participant. |
| struct | vx_state_participant State participant. |
| struct | vx_state_session State session. |
| struct | vx_state_sessiongroup State session group. |
| struct | vx_state_account State account. |
| struct | vx_state_connector State connector. |
| struct | vx_channel Channel struct. |
| struct | vx_voice_font Voice font struct. |
| struct | vx_block_rule |
| struct | vx_auto_accept_rule |
| struct | vx_user_channel |
| struct | vx_connectivity_test_result test_type - Enumeration that defines the test performed (for values, see appendix ?15.8). |
| struct | vx_account |
| struct | vx_device |
| struct | vx_buddy |
| struct | vx_group |
| struct | vx_name_value_pair |
| struct | vx_conversation |
| struct | vx_stat_sample |
| struct | vx_stat_thread |
| struct | vx_system_stats |
| struct | vxa_capture_device_stats_t Get statistics that are useful for debugging audio capture issues. |
| struct | vxa_render_device_stats_t Get statistics that are useful for debugging audio render issues. |
| struct | vx_vxd The Vivox eXtended Data (VXD) that is received. |
| struct | vx_tts_utterance Text-to-speech utterance. |
| struct | vx_tts_voice Text-to-speech voice. |
Types
Name | |
|---|---|
| enum | vx_attempt_stun { attempt_stun_unspecified = 0, attempt_stun_on = 1, attempt_stun_off = 2} A type of STUN probe. |
| enum | vx_connector_mode { connector_mode_normal = 0, connector_mode_legacy = 1} A type of API mode. |
| enum | vx_session_handle_type { session_handle_type_unique = 0, session_handle_type_legacy = 1, session_handle_type_heirarchical_numeric = 2, session_handle_type_heirarchical_unique = 3} A type of API mode. |
| enum | vx_log_type { log_to_none = 0, log_to_file = 1, log_to_callback = 2, log_to_file_and_callback = 3} A type of logging for the application. |
| enum | vx_message_type { msg_none = 0, msg_request = 1, msg_response = 2, msg_event = 3} Used as a run time type indicator for all messages passed between the application and SDK. |
| enum | vx_sessiongroup_recording_control_type { VX_SESSIONGROUP_RECORDING_CONTROL_STOP = 0, VX_SESSIONGROUP_RECORDING_CONTROL_START = 1, VX_SESSIONGROUP_RECORDING_CONTROL_FLUSH_TO_FILE = 2} |
| enum | vx_sessiongroup_audio_injection_control_type { VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP = 0, vx_sessiongroup_audio_injection_control_stop = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP, VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_START = 1, vx_sessiongroup_audio_injection_control_start = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_START, VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART = 2, vx_sessiongroup_audio_injection_control_restart = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART, VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_MIN = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP, vx_sessiongroup_audio_injection_control_min = vx_sessiongroup_audio_injection_control_stop, VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_MAX = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART, vx_sessiongroup_audio_injection_control_max = vx_sessiongroup_audio_injection_control_restart} |
| enum | vx_sessiongroup_playback_control_type { VX_SESSIONGROUP_PLAYBACK_CONTROL_STOP = 0, VX_SESSIONGROUP_PLAYBACK_CONTROL_START = 1, VX_SESSIONGROUP_PLAYBACK_CONTROL_PAUSE = 3, VX_SESSIONGROUP_PLAYBACK_CONTROL_UNPAUSE = 4} |
| enum | vx_sessiongroup_playback_mode { VX_SESSIONGROUP_PLAYBACK_MODE_NORMAL = 0, VX_SESSIONGROUP_PLAYBACK_MODE_VOX = 1} |
| enum | vx_control_communications_operation { vx_control_communications_operation_block = 0, vx_control_communications_operation_unblock = 1, vx_control_communications_operation_list = 2, vx_control_communications_operation_block_list = 2, vx_control_communications_operation_clear = 3, vx_control_communications_operation_clear_block_list = 3, vx_control_communications_operation_mute = 4, vx_control_communications_operation_unmute = 5, vx_control_communications_operation_mute_list = 6, vx_control_communications_operation_clear_mute_list = 7} The methods in which communication can be controlled. |
| enum | vx_media_type { media_type_none = 0, media_type_text = 1, media_type_audio = 2, media_type_video = 3, media_type_audiovideo = 4} |
| enum | vx_termination_status { termination_status_none = 0, termination_status_busy = 1, termination_status_decline = 2} |
| enum | vx_diagnostic_dump_level { diagnostic_dump_level_all = 0, diagnostic_dump_level_sessions = 1} |
| enum | vx_media_ringback { media_ringback_none = 0, media_ringback_ringing = 1, media_ringback_busy = 3} |
| enum | vx_channel_type { channel_type_normal = 0, channel_type_positional = 2} |
| enum | vx_channel_mode { channel_mode_none = 0, channel_mode_normal = 1, channel_mode_presentation = 2, channel_mode_lecture = 3, channel_mode_open = 4, channel_mode_auditorium = 5} |
| enum | vx_channel_search_type { channel_search_type_all = 0, channel_search_type_non_positional = 1, channel_search_type_positional = 2} |
| enum | vx_channel_moderation_type { channel_moderation_type_all = 0, channel_moderation_type_current_user = 1} |
| enum | vx_sessiongroup_type { sessiongroup_type_normal = 0, sessiongroup_type_playback = 1} The type of the session group specified at session group creation time. |
| enum | vx_participant_removed_reason { participant_left = 0, participant_timeout = 1, participant_kicked = 2, participant_banned = 3} Indicates the reason why a participant was removed from a session. |
| enum | vx_connection_state { connection_state_disconnected = 0, connection_state_connected = 1, connection_state_recovering = 3, connection_state_failed_to_recover = 4, connection_state_recovered = 5} Indicates current network connection state. |
| enum | vx_request_type { req_none = 0, req_connector_create = 1, req_connector_initiate_shutdown = 2, req_account_login = 3, req_account_logout = 4, req_account_set_login_properties = 5, req_sessiongroup_create = 6, req_sessiongroup_terminate = 7, req_sessiongroup_add_session = 8, req_sessiongroup_remove_session = 9, req_sessiongroup_set_focus = 10, req_sessiongroup_unset_focus = 11, req_sessiongroup_reset_focus = 12, req_sessiongroup_set_tx_session = 13, req_sessiongroup_set_tx_all_sessions = 14, req_sessiongroup_set_tx_no_session = 15, req_session_create = 16, req_session_media_connect = 18, req_session_media_disconnect = 19, req_session_terminate = 21, req_session_mute_local_speaker = 22, req_session_set_local_speaker_volume = 23, req_session_set_local_render_volume = 24, req_session_channel_invite_user = 25, req_session_set_participant_volume_for_me = 26, req_session_set_participant_mute_for_me = 27, req_session_set_3d_position = 28, req_session_set_voice_font = 29, req_account_channel_add_acl = 53, req_account_channel_remove_acl = 54, req_account_channel_get_acl = 55, req_channel_mute_user = 56, req_channel_ban_user = 57, req_channel_get_banned_users = 58, req_channel_kick_user = 59, req_channel_mute_all_users = 60, req_connector_mute_local_mic = 61, req_connector_mute_local_speaker = 62, req_connector_set_local_mic_volume = 63, req_connector_set_local_speaker_volume = 64, req_connector_get_local_audio_info = 65, req_account_buddy_set = 67, req_account_buddy_delete = 68, req_account_list_buddies_and_groups = 71, req_session_send_message = 72, req_account_set_presence = 73, req_account_send_subscription_reply = 74, req_session_send_notification = 75, req_account_create_block_rule = 76, req_account_delete_block_rule = 77, req_account_list_block_rules = 78, req_account_create_auto_accept_rule = 79, req_account_delete_auto_accept_rule = 80, req_account_list_auto_accept_rules = 81, req_account_update_account = 82, req_account_get_account = 83, req_account_send_sms = 84, req_aux_connectivity_info = 86, req_aux_get_render_devices = 87, req_aux_get_capture_devices = 88, req_aux_set_render_device = 89, req_aux_set_capture_device = 90, req_aux_get_mic_level = 91, req_aux_get_speaker_level = 92, req_aux_set_mic_level = 93, req_aux_set_speaker_level = 94, req_aux_render_audio_start = 95, req_aux_render_audio_stop = 96, req_aux_capture_audio_start = 97, req_aux_capture_audio_stop = 98, req_aux_global_monitor_keyboard_mouse = 99, req_aux_set_idle_timeout = 100, req_aux_create_account = 101, req_aux_reactivate_account = 102, req_aux_deactivate_account = 103, req_account_post_crash_dump = 104, req_aux_reset_password = 105, req_sessiongroup_set_session_3d_position = 106, req_account_get_session_fonts = 107, req_account_get_template_fonts = 108, req_aux_start_buffer_capture = 109, req_aux_play_audio_buffer = 110, req_sessiongroup_control_recording = 111, req_sessiongroup_control_playback = 112, req_sessiongroup_set_playback_options = 113, req_session_text_connect = 114, req_session_text_disconnect = 115, req_channel_set_lock_mode = 116, req_aux_render_audio_modify = 117, req_session_send_dtmf = 118, req_aux_set_vad_properties = 120, req_aux_get_vad_properties = 121, req_sessiongroup_control_audio_injection = 124, req_account_channel_change_owner = 125, req_account_send_user_app_data = 128, req_aux_diagnostic_state_dump = 129, req_account_web_call = 130, req_account_anonymous_login = 131, req_account_authtoken_login = 132, req_sessiongroup_get_stats = 133, req_account_send_message = 134, req_aux_notify_application_state_change = 135, req_account_control_communications = 136, req_session_archive_query = 137, req_account_archive_query = 138, req_session_transcription_control = 139, req_aux_get_derumbler_properties = 140, req_aux_set_derumbler_properties = 141, req_session_chat_history_query = 142, req_account_chat_history_query = 143, req_account_chat_history_get_last_read = 144, req_session_edit_message = 145, req_account_edit_message = 146, req_session_delete_message = 147, req_account_delete_message = 148, req_account_get_conversations = 149, req_account_chat_history_set_marker = 150, req_account_safe_voice_update_consent = 151, req_account_safe_voice_get_consent = 152, req_max = req_account_safe_voice_get_consent + 1} The set of requests that can be issued. |
| enum | vx_response_type { resp_none = 0, resp_connector_create = 1, resp_connector_initiate_shutdown = 2, resp_account_login = 3, resp_account_logout = 4, resp_account_set_login_properties = 5, resp_sessiongroup_create = 6, resp_sessiongroup_terminate = 7, resp_sessiongroup_add_session = 8, resp_sessiongroup_remove_session = 9, resp_sessiongroup_set_focus = 10, resp_sessiongroup_unset_focus = 11, resp_sessiongroup_reset_focus = 12, resp_sessiongroup_set_tx_session = 13, resp_sessiongroup_set_tx_all_sessions = 14, resp_sessiongroup_set_tx_no_session = 15, resp_session_create = 16, resp_session_media_connect = 18, resp_session_media_disconnect = 19, resp_session_terminate = 21, resp_session_mute_local_speaker = 22, resp_session_set_local_speaker_volume = 23, resp_session_set_local_render_volume = 24, resp_session_channel_invite_user = 25, resp_session_set_participant_volume_for_me = 26, resp_session_set_participant_mute_for_me = 27, resp_session_set_3d_position = 28, resp_session_set_voice_font = 29, resp_account_channel_get_list = 33, resp_account_channel_add_acl = 53, resp_account_channel_remove_acl = 54, resp_account_channel_get_acl = 55, resp_channel_mute_user = 56, resp_channel_ban_user = 57, resp_channel_get_banned_users = 58, resp_channel_kick_user = 59, resp_channel_mute_all_users = 60, resp_connector_mute_local_mic = 61, resp_connector_mute_local_speaker = 62, resp_connector_set_local_mic_volume = 63, resp_connector_set_local_speaker_volume = 64, resp_connector_get_local_audio_info = 65, resp_account_buddy_set = 67, resp_account_buddy_delete = 68, resp_account_list_buddies_and_groups = 71, resp_session_send_message = 72, resp_account_set_presence = 73, resp_account_send_subscription_reply = 74, resp_session_send_notification = 75, resp_account_create_block_rule = 76, resp_account_delete_block_rule = 77, resp_account_list_block_rules = 78, resp_account_create_auto_accept_rule = 79, resp_account_delete_auto_accept_rule = 80, resp_account_list_auto_accept_rules = 81, resp_account_update_account = 82, resp_account_get_account = 83, resp_account_send_sms = 84, resp_aux_connectivity_info = 86, resp_aux_get_render_devices = 87, resp_aux_get_capture_devices = 88, resp_aux_set_render_device = 89, resp_aux_set_capture_device = 90, resp_aux_get_mic_level = 91, resp_aux_get_speaker_level = 92, resp_aux_set_mic_level = 93, resp_aux_set_speaker_level = 94, resp_aux_render_audio_start = 95, resp_aux_render_audio_stop = 96, resp_aux_capture_audio_start = 97, resp_aux_capture_audio_stop = 98, resp_aux_global_monitor_keyboard_mouse = 99, resp_aux_set_idle_timeout = 100, resp_aux_create_account = 101, resp_aux_reactivate_account = 102, resp_aux_deactivate_account = 103, resp_account_post_crash_dump = 104, resp_aux_reset_password = 105, resp_sessiongroup_set_session_3d_position = 106, resp_account_get_session_fonts = 107, resp_account_get_template_fonts = 108, resp_aux_start_buffer_capture = 109, resp_aux_play_audio_buffer = 110, resp_sessiongroup_control_recording = 111, resp_sessiongroup_control_playback = 112, resp_sessiongroup_set_playback_options = 113, resp_session_text_connect = 114, resp_session_text_disconnect = 115, resp_channel_set_lock_mode = 116, resp_aux_render_audio_modify = 117, resp_session_send_dtmf = 118, resp_aux_set_vad_properties = 120, resp_aux_get_vad_properties = 121, resp_sessiongroup_control_audio_injection = 124, resp_account_channel_change_owner = 125, resp_account_send_user_app_data = 128, resp_aux_diagnostic_state_dump = 129, resp_account_web_call = 130, resp_account_anonymous_login = 131, resp_account_authtoken_login = 132, resp_sessiongroup_get_stats = 133, resp_account_send_message = 134, resp_aux_notify_application_state_change = 135, resp_account_control_communications = 136, resp_session_archive_query = 137, resp_account_archive_query = 138, resp_session_transcription_control = 139, resp_aux_get_derumbler_properties = 140, resp_aux_set_derumbler_properties = 141, resp_session_chat_history_query = 142, resp_account_chat_history_query = 143, resp_account_chat_history_get_last_read = 144, resp_session_edit_message = 145, resp_account_edit_message = 146, resp_session_delete_message = 147, resp_account_delete_message = 148, resp_account_get_conversations = 149, resp_account_chat_history_set_marker = 150, resp_account_safe_voice_update_consent = 151, resp_account_safe_voice_get_consent = 152, resp_max = resp_account_safe_voice_get_consent + 1} Response types that are reported back to the calling app. |
| enum | vx_event_type { evt_none = 0, evt_account_login_state_change = 2, evt_buddy_presence = 7, evt_subscription = 8, evt_session_notification = 9, evt_message = 10, evt_aux_audio_properties = 11, evt_buddy_changed = 15, evt_buddy_group_changed = 16, evt_buddy_and_group_list_changed = 17, evt_keyboard_mouse = 18, evt_idle_state_changed = 19, evt_media_stream_updated = 20, evt_text_stream_updated = 21, evt_sessiongroup_added = 22, evt_sessiongroup_removed = 23, evt_session_added = 24, evt_session_removed = 25, evt_participant_added = 26, evt_participant_removed = 27, evt_participant_updated = 28, evt_sessiongroup_playback_frame_played = 30, evt_session_updated = 31, evt_sessiongroup_updated = 32, evt_media_completion = 33, evt_server_app_data = 35, evt_user_app_data = 36, evt_network_message = 38, evt_voice_service_connection_state_changed = 39, evt_publication_state_changed = 40, evt_audio_device_hot_swap = 41, evt_user_to_user_message = 42, evt_session_archive_message = 43, evt_session_archive_query_end = 44, evt_account_archive_message = 45, evt_account_archive_query_end = 46, evt_account_send_message_failed = 47, evt_transcribed_message = 48, evt_tts_injection_started = 49, evt_tts_injection_ended = 50, evt_tts_injection_failed = 51, evt_stt_failed = 52, evt_connection_state_changed = 53, evt_presence_updated = 54, evt_session_edit_message = 55, evt_account_edit_message = 56, evt_session_delete_message = 57, evt_account_delete_message = 58, evt_max = evt_account_delete_message + 1} Event types that are reported back to the calling app. |
| enum | ND_ERROR { ND_E_NO_ERROR = 0, ND_E_TEST_NOT_RUN = 1, ND_E_NO_INTERFACE = 2, ND_E_NO_INTERFACE_WITH_GATEWAY = 3, ND_E_NO_INTERFACE_WITH_ROUTE = 4, ND_E_TIMEOUT = 5, ND_E_CANT_ICMP = 6, ND_E_CANT_RESOLVE_VIVOX_UDP_SERVER = 7, ND_E_CANT_RESOLVE_ROOT_DNS_SERVER = 8, ND_E_CANT_CONVERT_LOCAL_IP_ADDRESS = 9, ND_E_CANT_CONTACT_STUN_SERVER_ON_UDP_PORT_3478 = 10, ND_E_CANT_CREATE_TCP_SOCKET = 11, ND_E_CANT_LOAD_ICMP_LIBRARY = 12, ND_E_CANT_FIND_SENDECHO2_PROCADDR = 13, ND_E_CANT_CONNECT_TO_ECHO_SERVER = 14, ND_E_ECHO_SERVER_LOGIN_SEND_FAILED = 15, ND_E_ECHO_SERVER_LOGIN_RECV_FAILED = 16, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_STATUS = 17, ND_E_ECHO_SERVER_LOGIN_RESPONSE_FAILED_STATUS = 18, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_SESSIONID = 19, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_SIPPORT = 20, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_AUDIORTP = 21, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_AUDIORTCP = 22, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_VIDEORTP = 23, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_VIDEORTCP = 24, ND_E_ECHO_SERVER_CANT_ALLOCATE_SIP_SOCKET = 25, ND_E_ECHO_SERVER_CANT_ALLOCATE_MEDIA_SOCKET = 26, ND_E_ECHO_SERVER_SIP_UDP_SEND_FAILED = 27, ND_E_ECHO_SERVER_SIP_UDP_RECV_FAILED = 28, ND_E_ECHO_SERVER_SIP_TCP_SEND_FAILED = 29, ND_E_ECHO_SERVER_SIP_TCP_RECV_FAILED = 30, ND_E_ECHO_SERVER_SIP_NO_UDP_OR_TCP = 31, ND_E_ECHO_SERVER_SIP_NO_UDP = 32, ND_E_ECHO_SERVER_SIP_NO_TCP = 33, ND_E_ECHO_SERVER_SIP_MALFORMED_TCP_PACKET = 34, ND_E_ECHO_SERVER_SIP_UDP_DIFFERENT_LENGTH = 35, ND_E_ECHO_SERVER_SIP_UDP_DATA_DIFFERENT = 36, ND_E_ECHO_SERVER_SIP_TCP_PACKETS_DIFFERENT = 37, ND_E_ECHO_SERVER_SIP_TCP_PACKETS_DIFFERENT_SIZE = 38, ND_E_ECHO_SERVER_LOGIN_RECV_FAILED_TIMEOUT = 39, ND_E_ECHO_SERVER_TCP_SET_ASYNC_FAILED = 40, ND_E_ECHO_SERVER_UDP_SET_ASYNC_FAILED = 41, ND_E_ECHO_SERVER_CANT_RESOLVE_NAME = 42} |
| enum | ND_TEST_TYPE { ND_TEST_LOCATE_INTERFACE = 0, ND_TEST_PING_GATEWAY = 1, ND_TEST_DNS = 2, ND_TEST_STUN = 3, ND_TEST_ECHO = 4, ND_TEST_ECHO_SIP_FIRST_PORT = 5, ND_TEST_ECHO_SIP_FIRST_PORT_INVITE_REQUEST = 6, ND_TEST_ECHO_SIP_FIRST_PORT_INVITE_RESPONSE = 7, ND_TEST_ECHO_SIP_FIRST_PORT_REGISTER_REQUEST = 8, ND_TEST_ECHO_SIP_FIRST_PORT_REGISTER_RESPONSE = 9, ND_TEST_ECHO_SIP_SECOND_PORT = 10, ND_TEST_ECHO_SIP_SECOND_PORT_INVITE_REQUEST = 11, ND_TEST_ECHO_SIP_SECOND_PORT_INVITE_RESPONSE = 12, ND_TEST_ECHO_SIP_SECOND_PORT_REGISTER_REQUEST = 13, ND_TEST_ECHO_SIP_SECOND_PORT_REGISTER_RESPONSE = 14, ND_TEST_ECHO_MEDIA = 15, ND_TEST_ECHO_MEDIA_LARGE_PACKET = 16} |
| enum | vx_session_answer_mode { mode_none = 0, mode_auto_answer = 1, mode_verify_answer = 2, mode_busy_answer = 3} Determine how incoming calls are handled. |
| enum | vx_buddy_management_mode { mode_auto_accept = 0, mode_auto_add = 1, mode_block = 2, mode_hide = 3, mode_application = 4} |
| enum | vx_rule_type { rule_none = 0, rule_allow = 1, rule_block = 2, rule_hide = 3} |
| enum | vx_font_type { type_none = 0, type_root = 1, type_user = 2} |
| enum | vx_font_status { status_none = 0, status_free = 1, status_not_free = 2} |
| enum | vx_subscription_type { subscription_presence = 0} |
| enum | vx_notification_type { notification_not_typing = 0, notification_typing = 1, notification_hand_lowered = 2, notification_hand_raised = 3, notification_min = notification_not_typing, notification_max = notification_hand_raised} |
| enum | vx_dtmf_type { dtmf_0 = 0, dtmf_1 = 1, dtmf_2 = 2, dtmf_3 = 3, dtmf_4 = 4, dtmf_5 = 5, dtmf_6 = 6, dtmf_7 = 7, dtmf_8 = 8, dtmf_9 = 9, dtmf_pound = 10, dtmf_star = 11, dtmf_A = 12, dtmf_B = 13, dtmf_C = 14, dtmf_D = 15, dtmf_max = dtmf_D} |
| enum | vx_text_mode { text_mode_disabled = 0, text_mode_enabled = 1} |
| enum | vx_channel_lock_mode { channel_unlock = 0, channel_lock = 1} |
| enum | vx_mute_scope { mute_scope_all = 0, mute_scope_audio = 1, mute_scope_text = 2} |
| enum | vx_recording_frame_type_t { VX_RECORDING_FRAME_TYPE_DELTA = 0, VX_RECORDING_FRAME_TYPE_CONTROL = 1} Hold a recorded audio frame. |
| enum | vx_audiosource_operation { op_none = 0, op_safeupdate = 1, op_delete = 2} |
| enum | vx_aux_audio_properties_state { aux_audio_properties_none = 0} |
| enum | vx_login_state_change_state { login_state_logged_out = 0, login_state_logged_in = 1, login_state_logging_in = 2, login_state_logging_out = 3, login_state_resetting = 4, login_state_error = 100} |
| enum | vx_publication_state_change_state { publication_state_success = 0, publication_state_transient_error = 1, publication_state_permanent_error = 2} |
| enum | vx_buddy_presence_state { buddy_presence_unknown = 0, buddy_presence_pending = 1, buddy_presence_online = 2, buddy_presence_busy = 3, buddy_presence_brb = 4, buddy_presence_away = 5, buddy_presence_onthephone = 6, buddy_presence_outtolunch = 7, buddy_presence_custom = 8, buddy_presence_online_slc = 9, buddy_presence_closed = 0, buddy_presence_offline = 0, buddy_presence_chat = 10, buddy_presence_extended_away = 11, buddy_presence_min = buddy_presence_unknown, buddy_presence_max = buddy_presence_extended_away} |
| enum | vx_presence_state { presence_online = 0, presence_busy = 1, presence_brb = 2, presence_away = 3, presence_onthephone = 4, presence_offline = 5, presence_chat = 6, presence_extended_away = 7, presence_min = presence_online, presence_max = presence_extended_away} |
| enum | vx_session_notification_state { session_notification_none = 0} |
| enum | vx_message_state { message_none = 0} |
| enum | vx_session_text_state { session_text_disconnected = 0, session_text_connected = 1, session_text_connecting = 2, session_text_disconnecting = 3} |
| enum | vx_session_media_state { session_media_disconnected = 1, session_media_connected = 2, session_media_ringing = 3, session_media_connecting = 6, session_media_disconnecting = 7} |
| enum | vx_participant_type { participant_user = 0, part_user = participant_user, participant_moderator = 1, part_moderator = participant_moderator, participant_owner = 2, part_focus = participant_owner} |
| enum | orientation_type { orientation_default = 0, orientation_legacy = 1, orientation_vivox = 2} |
| enum | vx_media_completion_type { media_completion_type_none = 0, aux_buffer_audio_capture = 1, aux_buffer_audio_render = 2, sessiongroup_audio_injection = 3} |
| enum | vx_device_type { vx_device_type_specific_device = 0, vx_device_type_default_system = 1, vx_device_type_null = 2, vx_device_type_default_communication = 3} The type of device. |
| enum | vx_conversation_type { vx_conversation_channel = 0, vx_conversation_direct = 1} |
| enum | vx_codec { vx_codec_siren7 = 0x2, vx_codec_siren14 = 0x4, vx_codec_opus8 = 0x10, vx_codec_opus40 = 0x20, vx_codec_opus57 = 0x40, vx_codec_opus72 = 0x80, VX_DEPRECATED_ENUM_GCC =(vx_codec_pcmu, 5.19) = 0x10} The configured_codecs field in vx_req_connector_create is a mask of these constants. |
| enum | vx_application_state_notification_type { vx_application_state_notification_type_before_background = 0, vx_application_state_notification_type_after_foreground = 1, vx_application_state_notification_type_periodic_background_idle = 2} Indicates the state of the application. |
| enum | VXA_ERROR_CODES { VXA_SUCCESS = 0, VXA_INVALID_PARAMETER = 1, VXA_DEVICE_DOES_NOT_EXIST = 2, VXA_INTERNAL_ERROR = 3, VXA_OUT_OF_MEMORY = 4, VXA_INVALID_STATE = 5, VXA_NO_MORE_DATA = 6, VXA_FEATURE_NOT_SUPPORTED = 7, VXA_MAX_DEVICES_EXCEEDED = 8, VXA_NO_BUFFERS_AVAILABLE = 9, VXA_ACCESS_DENIED = 10} Error codes that are returned by the VXA subsystem. |
| enum | VXA_CAPTURE_FLAGS { VXA_CAPTURE_OPEN_FLAG_USE_AEC = 0x00000001, VXA_CAPTURE_OPEN_FLAG_USE_AGC = 0x00000002} Values passed when opening capture devices. |
| enum | vx_channel_rolloff_curve_type { channel_rolloff_curve_type_none = 0, channel_rolloff_curve_type_inverse_distance_clamped = 1, channel_rolloff_curve_type_linear_distance_clamped = 2, channel_rolloff_curve_type_exponential_distance_clamped = 3} Rolloff curve types to serve as the distance model for a positional channel. |
| enum | vx_opus_vbr_mode { opus_mode_cbr = 0, opus_mode_lvbr = 1, opus_mode_vbr = 2} Values for OPUS VBR mode. |
| enum | vx_opus_bandwidth { opus_bandwidth_auto = 0, opus_bandwidth_nb = 1, opus_bandwidth_mb = 2, opus_bandwidth_wb = 3, opus_bandwidth_swb = 4, opus_bandwidth_fb = 5} Values for OPUS bandwidth. |
| enum | vx_crash_test_type { vx_crash_access_zero_pointer = 0, vx_crash_access_violation = 1, vx_crash_stack_overflow = 2, vx_crash_heap_corruption = 3} Values for vx_crash_test( crash type ). |
| enum | vx_path_id { path_cache_folder = 0} The type of path used by the SDK. |
| enum | vx_noise_suppression_level { noise_suppression_low = 0, noise_suppression_moderate = 1, noise_suppression_high = 2, noise_suppression_very_high = 3} |
| enum | vx_tts_destination { tts_dest_remote_transmission = 0, tts_dest_local_playback = 1, tts_dest_remote_transmission_with_local_playback = 2, tts_dest_queued_remote_transmission = 3, tts_dest_queued_local_playback = 4, tts_dest_queued_remote_transmission_with_local_playback = 5, tts_dest_screen_reader = 6} Text-to-speech (TTS) definitions. |
| enum | vx_tts_status { tts_status_success = 0, tts_error_invalid_engine_type = -1001, tts_error_engine_allocation_failed = -1002, tts_error_not_supported = -1003, tts_error_max_characters_exceeded = -1004, tts_error_utterance_below_min_duration = -1005, tts_status_input_text_was_enqueued = -1006, tts_error_sdk_not_initialized = -1007, tts_error_destination_queue_is_full = -1008, tts_status_enqueue_not_necessary = -1009, tts_error_utterance_not_found = -1010, tts_error_manager_not_found = -1011, tts_error_invalid_argument = -1012, tts_error_internal = -1013} Status codes that are returned by the text-to-speech subsystem. |
| enum | vx_tts_engine_type { tts_engine_vivox_default = 0} Text-to-speech engine types. |
| typedef char * | VX_COOKIE A request cookie type. |
| typedef VX_COOKIE | VX_HANDLE A generic handle type for state objects (for example: accounts, connectors, sessions, or session groups). |
| typedef unsigned int | VX_SDK_HANDLE |
| typedef time_t | vx_time_t |
| typedef struct vx_message_base | vx_message_base_t |
| typedef struct vx_req_base | vx_req_base_t |
| typedef struct vx_resp_base | vx_resp_base_t |
| typedef struct vx_evt_base | vx_evt_base_t |
| typedef struct vx_state_buddy_contact | vx_state_buddy_contact_t |
| typedef vx_state_buddy_contact_t * | vx_state_buddy_contact_ref_t |
| typedef vx_state_buddy_contact_ref_t * | vx_state_buddy_contact_list_t |
| typedef struct vx_state_buddy | vx_state_buddy_t |
| typedef vx_state_buddy_t * | vx_state_buddy_ref_t |
| typedef vx_state_buddy_ref_t * | vx_state_buddy_list_t |
| typedef struct vx_state_buddy_group | vx_state_buddy_group_t |
| typedef vx_state_buddy_group_t * | vx_state_buddy_group_ref_t |
| typedef vx_state_buddy_group_ref_t * | vx_state_buddy_group_list_t |
| typedef struct vx_participant | vx_participant_t Channel participant. |
| typedef vx_participant_t * | vx_participant_ref_t Creates a participant list with the given size. |
| typedef vx_participant_ref_t * | vx_participant_list_t |
| typedef struct vx_state_participant | vx_state_participant_t State participant. |
| typedef vx_state_participant_t * | vx_state_participant_ref_t Creates a state_participant list with the given size. |
| typedef vx_state_participant_ref_t * | vx_state_participant_list_t |
| typedef struct vx_state_session | vx_state_session_t State session. |
| typedef vx_state_session_t * | vx_state_session_ref_t Creates a state_session list with the given size. |
| typedef vx_state_session_ref_t * | vx_state_session_list_t |
| typedef struct vx_state_sessiongroup | vx_state_sessiongroup_t State session group. |
| typedef vx_state_sessiongroup_t * | vx_state_sessiongroup_ref_t Creates a state_sessiongroup list with the given size. |
| typedef vx_state_sessiongroup_ref_t * | vx_state_sessiongroup_list_t |
| typedef struct vx_state_account | vx_state_account_t State account. |
| typedef vx_state_account_t * | vx_state_account_ref_t Creates a state_account list with the given size. |
| typedef vx_state_account_ref_t * | vx_state_account_list_t |
| typedef struct vx_state_connector | vx_state_connector_t State connector. |
| typedef vx_state_connector_t * | vx_state_connector_ref_t Creates a state_connector list with the given size. |
| typedef vx_state_connector_ref_t * | vx_state_connector_list_t |
| typedef struct vx_channel | vx_channel_t Channel struct. |
| typedef vx_channel_t * | vx_channel_ref_t |
| typedef vx_channel_ref_t * | vx_channel_list_t |
| typedef struct vx_voice_font | vx_voice_font_t Voice font struct. |
| typedef vx_voice_font_t * | vx_voice_font_ref_t |
| typedef vx_voice_font_ref_t * | vx_voice_font_list_t |
| typedef struct vx_block_rule | vx_block_rule_t |
| typedef vx_block_rule_t * | vx_block_rule_ref_t |
| typedef vx_block_rule_ref_t * | vx_block_rules_t |
| typedef struct vx_auto_accept_rule | vx_auto_accept_rule_t |
| typedef vx_auto_accept_rule_t * | vx_auto_accept_rule_ref_t |
| typedef vx_auto_accept_rule_ref_t * | vx_auto_accept_rules_t |
| typedef struct vx_user_channel | vx_user_channel_t |
| typedef vx_user_channel_t * | vx_user_channel_ref_t |
| typedef vx_user_channel_ref_t * | vx_user_channels_t |
| typedef struct vx_connectivity_test_result | vx_connectivity_test_result_t test_type - Enumeration that defines the test performed (for values, see appendix ?15.8). |
| typedef vx_connectivity_test_result_t * | vx_connectivity_test_result_ref_t |
| typedef vx_connectivity_test_result_ref_t * | vx_connectivity_test_results_t |
| typedef struct vx_account | vx_account_t |
| typedef enum vx_device_type | vx_device_type_t The type of device. |
| typedef struct vx_device | vx_device_t |
| typedef vx_device_t * | vx_device_ref_t |
| typedef vx_device_ref_t * | vx_devices_t |
| typedef struct vx_buddy | vx_buddy_t |
| typedef vx_buddy_t * | vx_buddy_ref_t |
| typedef vx_buddy_ref_t * | vx_buddy_list_t |
| typedef struct vx_group | vx_group_t |
| typedef vx_group_t * | vx_group_ref_t |
| typedef vx_group_ref_t * | vx_group_list_t |
| typedef struct vx_name_value_pair | vx_name_value_pair_t |
| typedef vx_name_value_pair_t * | vx_name_value_pair_ref_t |
| typedef vx_name_value_pair_ref_t * | vx_name_value_pairs_t |
| typedef struct vx_conversation | vx_conversation_t |
| typedef vx_conversation_t * | vx_conversation_ref_t |
| typedef vx_conversation_ref_t * | vx_conversation_list_t |
| typedef struct vx_stat_sample | vx_stat_sample_t |
| typedef struct vx_stat_thread | vx_stat_thread_t |
| typedef struct vx_system_stats | vx_system_stats_t |
| typedef enum vx_application_state_notification_type | vx_application_state_notification_type_t Indicates the state of the application. |
| typedef int | vxa_status_t The common return code for vxa* methods. |
| typedef struct vxa_capture_device_stats_t | vxa_capture_device_stats_t Get statistics that are useful for debugging audio capture issues. |
| typedef struct vxa_render_device_stats_t | vxa_render_device_stats_t Get statistics that are useful for debugging audio render issues. |
| typedef enum vx_crash_test_type | vx_crash_test_type_t Values for vx_crash_test( crash type ). |
| typedef struct vx_vxd | vx_vxd_t The Vivox eXtended Data (VXD) that is received. |
| typedef unsigned int | vx_tts_manager_id |
| typedef unsigned int | vx_tts_utterance_id |
| typedef unsigned int | vx_tts_voice_id |
| typedef struct vx_tts_utterance_impl | vx_tts_utterance_impl_t |
| typedef struct vx_tts_utterance | vx_tts_utterance_t Text-to-speech utterance. |
| typedef struct vx_tts_voice | vx_tts_voice_t Text-to-speech voice. |
Functions
Name | |
|---|---|
| VIVOXSDK_DLLEXPORT int | vx_cookie_create(const char * value, VX_COOKIE * cookie) Allocate and initialize a cookie. |
| VIVOXSDK_DLLEXPORT int | vx_cookie_free(VX_COOKIE * cookie) Free a cookie. |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_contact_create(vx_state_buddy_contact_t ** contact) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_contact_free(vx_state_buddy_contact_t * contact) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_contact_list_create(int size, vx_state_buddy_contact_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_contact_list_free(vx_state_buddy_contact_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_create(vx_state_buddy_t ** buddy) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_free(vx_state_buddy_t * buddy) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_list_create(int size, vx_state_buddy_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_list_free(vx_state_buddy_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_group_create(vx_state_buddy_group_t ** group) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_group_free(vx_state_buddy_group_t * group) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_group_list_create(int size, vx_state_buddy_group_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_state_buddy_group_list_free(vx_state_buddy_group_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_participant_create(vx_participant_t ** participant) |
| VIVOXSDK_DLLEXPORT int | vx_participant_free(vx_participant_t * participant) |
| VIVOXSDK_DLLEXPORT int | vx_participant_list_create(int size, vx_participant_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_participant_list_free(vx_participant_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_state_participant_create(vx_state_participant_t ** state_participant) |
| VIVOXSDK_DLLEXPORT int | vx_state_participant_free(vx_state_participant_t * state_participant) |
| VIVOXSDK_DLLEXPORT int | vx_state_participant_list_create(int size, vx_state_participant_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_state_participant_list_free(vx_state_participant_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_state_session_create(vx_state_session_t ** state_session) |
| VIVOXSDK_DLLEXPORT int | vx_state_session_free(vx_state_session_t * state_session) |
| VIVOXSDK_DLLEXPORT int | vx_state_session_list_create(int size, vx_state_session_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_state_session_list_free(vx_state_session_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_state_sessiongroup_create(vx_state_sessiongroup_t ** state_sessiongroup) |
| VIVOXSDK_DLLEXPORT int | vx_state_sessiongroup_free(vx_state_sessiongroup_t * state_sessiongroup) |
| VIVOXSDK_DLLEXPORT int | vx_state_sessiongroup_list_create(int size, vx_state_sessiongroup_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_state_sessiongroup_list_free(vx_state_sessiongroup_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_state_account_create(vx_state_account_t ** state_account) |
| VIVOXSDK_DLLEXPORT int | vx_state_account_free(vx_state_account_t * state_account) |
| VIVOXSDK_DLLEXPORT int | vx_state_account_list_create(int size, vx_state_account_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_state_account_list_free(vx_state_account_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_state_connector_create(vx_state_connector_t ** state_connector) |
| VIVOXSDK_DLLEXPORT int | vx_state_connector_free(vx_state_connector_t * state_connector) |
| VIVOXSDK_DLLEXPORT int | vx_state_connector_list_create(int size, vx_state_connector_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_state_connector_list_free(vx_state_connector_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_channel_create(vx_channel_t ** channel) |
| VIVOXSDK_DLLEXPORT int | vx_channel_free(vx_channel_t * channel) |
| VIVOXSDK_DLLEXPORT int | vx_channel_list_create(int size, vx_channel_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_channel_list_free(vx_channel_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_voice_font_create(vx_voice_font_t ** channel) |
| VIVOXSDK_DLLEXPORT int | vx_voice_font_free(vx_voice_font_t * channel) |
| VIVOXSDK_DLLEXPORT int | vx_voice_font_list_create(int size, vx_voice_font_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_voice_font_list_free(vx_voice_font_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_string_list_create(int size, char *** list_out) |
| VIVOXSDK_DLLEXPORT int | vx_string_list_free(char ** list) |
| VIVOXSDK_DLLEXPORT int | vx_block_rule_create(vx_block_rule_t ** block_rule) |
| VIVOXSDK_DLLEXPORT int | vx_block_rule_free(vx_block_rule_t * block_rule) |
| VIVOXSDK_DLLEXPORT int | vx_block_rules_create(int size, vx_block_rules_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_block_rules_free(vx_block_rule_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_auto_accept_rule_create(vx_auto_accept_rule_t ** auto_accept_rule) |
| VIVOXSDK_DLLEXPORT int | vx_auto_accept_rule_free(vx_auto_accept_rule_t * auto_accept_rule) |
| VIVOXSDK_DLLEXPORT int | vx_auto_accept_rules_create(int size, vx_auto_accept_rules_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_auto_accept_rules_free(vx_auto_accept_rule_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_user_channel_create(vx_user_channel_t ** user_channel) |
| VIVOXSDK_DLLEXPORT int | vx_user_channel_free(vx_user_channel_t * user_channel) |
| VIVOXSDK_DLLEXPORT int | vx_user_channels_create(int size, vx_user_channels_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_user_channels_free(vx_user_channel_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_connectivity_test_result_create(vx_connectivity_test_result_t ** connectivity_test_result, ND_TEST_TYPE tt) |
| VIVOXSDK_DLLEXPORT int | vx_connectivity_test_result_free(vx_connectivity_test_result_t * connectivity_test_result) |
| VIVOXSDK_DLLEXPORT int | vx_connectivity_test_results_create(int size, vx_connectivity_test_results_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_connectivity_test_results_free(vx_connectivity_test_result_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_account_create(vx_account_t ** account) |
| VIVOXSDK_DLLEXPORT int | vx_account_free(vx_account_t * account) |
| VIVOXSDK_DLLEXPORT int | vx_device_create(vx_device_t ** device) |
| VIVOXSDK_DLLEXPORT int | vx_device_free(vx_device_t * device) |
| VIVOXSDK_DLLEXPORT int | vx_devices_create(int size, vx_devices_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_devices_free(vx_device_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_buddy_create(vx_buddy_t ** buddy) |
| VIVOXSDK_DLLEXPORT int | vx_buddy_free(vx_buddy_t * buddy) |
| VIVOXSDK_DLLEXPORT int | vx_buddy_list_create(int size, vx_buddy_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_buddy_list_free(vx_buddy_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_group_create(vx_group_t ** group) |
| VIVOXSDK_DLLEXPORT int | vx_group_free(vx_group_t * group) |
| VIVOXSDK_DLLEXPORT int | vx_group_list_create(int size, vx_group_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_group_list_free(vx_group_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_name_value_pair_create(vx_name_value_pair_t ** nvpair) |
| VIVOXSDK_DLLEXPORT int | vx_name_value_pair_free(vx_name_value_pair_t * nvpair) |
| VIVOXSDK_DLLEXPORT int | vx_name_value_pairs_create(int size, vx_name_value_pairs_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_name_value_pairs_free(vx_name_value_pair_t ** list, int size) |
| VIVOXSDK_DLLEXPORT int | vx_conversation_create(vx_conversation_t ** conversation) |
| VIVOXSDK_DLLEXPORT int | vx_conversation_free(vx_conversation_t * conversation) |
| VIVOXSDK_DLLEXPORT int | vx_conversation_list_create(int size, vx_conversation_list_t * list_out) |
| VIVOXSDK_DLLEXPORT int | vx_conversation_list_free(int size, vx_conversation_t ** list) |
| VIVOXSDK_DLLEXPORT char * | vx_strdup(const char * ) Allocate string data to send to the SDK. |
| VIVOXSDK_DLLEXPORT int | vx_free(char * ) Free string data returned to the application. |
| VIVOXSDK_DLLEXPORT int | vx_unallocate(void * p) |
| VIVOXSDK_DLLEXPORT void * | vx_allocate(size_t nBytes) |
| VIVOXSDK_DLLEXPORT void * | vx_reallocate(void * p, size_t nBytes) |
| VIVOXSDK_DLLEXPORT void * | vx_calloc(size_t num, size_t bytesPerElement) |
| VIVOXSDK_DLLEXPORT void * | vx_allocate_aligned(size_t alignment, size_t size) |
| VIVOXSDK_DLLEXPORT int | vx_unallocate_aligned(void * p) |
| VIVOXSDK_DLLEXPORT int | vx_get_message(vx_message_base_t ** message) The VxSDK polling function. |
| VIVOXSDK_DLLEXPORT int | vx_issue_request(vx_req_base_t * request) |
| VIVOXSDK_DLLEXPORT int | vx_issue_request2(vx_req_base_t * request) Execute the given request. |
| VIVOXSDK_DLLEXPORT int | vx_issue_request3(vx_req_base_t * request, int * request_count) Execute the given request. |
| VIVOXSDK_DLLEXPORT int | vx_request_to_xml(void * request, char ** xml) Get the XML for the given request. |
| VIVOXSDK_DLLEXPORT vx_request_type | vx_xml_to_request(const char * xml, void ** request, char ** error) Get a request for the given XML string. |
| VIVOXSDK_DLLEXPORT int | vx_response_to_xml(void * response, char ** xml) Get the XML for the given response. |
| VIVOXSDK_DLLEXPORT vx_response_type | vx_xml_to_response(const char * xml, void ** response, char ** error) Get a response for the given XML string. |
| VIVOXSDK_DLLEXPORT int | vx_event_to_xml(void * event, char ** xml) Get the XML for the given event. |
| VIVOXSDK_DLLEXPORT vx_event_type | vx_xml_to_event(const char * xml, void ** event, char ** error) Get a event for the given XML string. |
| VIVOXSDK_DLLEXPORT vx_message_type | vx_get_message_type(const char * xml) Determine whether the XML refers to a request, response, or event. |
| VIVOXSDK_DLLEXPORT unsigned long long | vx_get_time_ms(void ) Get Millisecond Counter. |
| VIVOXSDK_DLLEXPORT unsigned long long | vx_get_time_milli_seconds(void ) Get Millisecond Counter. |
| VIVOXSDK_DLLEXPORT unsigned long long | vx_get_time_micro_seconds(void ) Get Microsecond Counter. |
| VIVOXSDK_DLLEXPORT long long | vx_sleep_milli_seconds(unsigned long long milli_seconds) Sleep for the specified number of milliseconds. |
| VIVOXSDK_DLLEXPORT int | vx_register_message_notification_handler(void(*)(void *) pf_handler, void * cookie) Register a callback that is called when a message is placed in the queue. |
| VIVOXSDK_DLLEXPORT int | vx_unregister_message_notification_handler(void(*)(void *) pf_handler, void * cookie) Unregister a notification handler. |
| VIVOXSDK_DLLEXPORT vx_message_base_t * | vx_wait_for_message(int msTimeout) Block the caller until a message is available. |
| VIVOXSDK_DLLEXPORT int | vx_register_logging_initialization(vx_log_type log_type, const char * log_folder, const char * log_filename_prefix, const char * log_filename_suffix, int log_level, void(*)(const char *source, const char *level, const char *message) pf_handler) Register a callback that is called to initialize logging. |
| VIVOXSDK_DLLEXPORT char * | vx_get_log_file_path(void ) |
| VIVOXSDK_DLLEXPORT int | vx_unregister_logging_handler(void(*)(void *) pf_handler, void * cookie) Unregister the logging callback notification handler. |
| VIVOXSDK_DLLEXPORT int | vx_create_account(const char * acct_mgmt_server, const char * admin_name, const char * admin_pw, const char * uname, const char * pw) |
| VIVOXSDK_DLLEXPORT int | vx_get_crash_dump_count(void ) The number of crash dumps stored on disk. |
| VIVOXSDK_DLLEXPORT int | vx_set_crash_dump_generation_enabled(int value) Enable crash dump generation. |
| VIVOXSDK_DLLEXPORT int | vx_get_crash_dump_generation(void ) Determine if crash dump generation is enabled. |
| VIVOXSDK_DLLEXPORT char * | vx_read_crash_dump(int index) Get the Base64-encoded crash dump information. |
| VIVOXSDK_DLLEXPORT time_t | vx_get_crash_dump_timestamp(int index) Get the timestamp of a crash. |
| VIVOXSDK_DLLEXPORT int | vx_delete_crash_dump(int index) Delete the crash dump. |
| VIVOXSDK_DLLEXPORT int | vx_on_application_exit(void ) Some applications may need to call this routine before exiting. |
| VIVOXSDK_DLLEXPORT const char * | vx_get_sdk_version_info(void ) Get the SDK version info. |
| VIVOXSDK_DLLEXPORT const char * | vx_get_sdk_version_info_ex(void ) Get the SDK extended version info. |
| VIVOXSDK_DLLEXPORT int | vx_apply_font_to_file(const char * fontDefinition, const char * inputFile, const char * outputFile) Apply a Vivox voice font to a .wav file. |
| VIVOXSDK_DLLEXPORT int | vx_apply_font_to_file_return_energy_ratio(const char * fontDefinition, const char * inputFile, const char * outputFile, double * energyRatio) Apply a Vivox voice font to a .wav file and return the energy ratio (Output Energy/Input Energy). |
| VIVOXSDK_DLLEXPORT int | vx_apply_font_to_vxz_file_return_energy_ratio(const char * fontDefinition, const char * inputFile, const char * outputFile, double * energyRatio) Apply a Vivox voice font to a .vxz file and return the energy ratio (Output Energy/Input Energy) |
| VIVOXSDK_DLLEXPORT void * | vx_copy_audioBuffer(void * audioBufferPtr) Create a copy of the internal local audio buffer associated with the vx_req_aux_start_buffer_capture_t request/response. |
| VIVOXSDK_DLLEXPORT double | vx_get_audioBuffer_duration(void * audioBufferPtr) Get the duration of the audio buffer in seconds. |
| VIVOXSDK_DLLEXPORT int | vx_get_audioBuffer_sample_rate(void * audioBufferPtr) Get the sample rate of the audio buffer. |
| VIVOXSDK_DLLEXPORT int | vx_free_audioBuffer(void ** audioBufferPtr) Free up all memory associated with an allocated Vivox audioBufferPtr. |
| VIVOXSDK_DLLEXPORT int | vx_export_audioBuffer_to_pcm(void * audioBufferPtr, short * pcmBuffer, int maxSamples) Export audio data in an audioBufferPtr to a memory buffer as PCM. |
| VIVOXSDK_DLLEXPORT int | vx_export_audioBuffer_to_wav_file(void * audioBufferPtr, const char * outputFile) Export audio data in an audioBufferPtr to a .wav file. |
| VIVOXSDK_DLLEXPORT int | vx_export_audioBuffer_to_memory(void * audioBufferPtr, short ** audioBufferOut, int * nSamplesOut, int * sampleRateOut, int * nChannelsOut) Export audio data in an audioBufferPtr to memory. |
| VIVOXSDK_DLLEXPORT int | vx_set_out_of_process_server_address(const char * address, unsigned short port) Set the default out of process server address. |
| VIVOXSDK_DLLEXPORT int | vx_initialize(void ) |
| VIVOXSDK_DLLEXPORT int | vx_initialize3(vx_sdk_config_t * config, size_t config_size) An application must call this API before calling any other Vivox API, except vx_get_default_config3();. |
| VIVOXSDK_DLLEXPORT int | vx_is_initialized(void ) Check if the Vivox SDK was initialized with an vx_initialize3() call, and not yet uninitialized with an vx_uninitialize() call. |
| VIVOXSDK_DLLEXPORT int | vx_get_default_config3(vx_sdk_config_t * config, size_t config_size) An application must call this API before calling any other Vivox API. |
| VIVOXSDK_DLLEXPORT int | vx_uninitialize(void ) An application must call this before exit. |
| VIVOXSDK_DLLEXPORT int | vx_debug_call(void * ) |
| VIVOXSDK_DLLEXPORT int | vx_get_system_stats(vx_system_stats_t * system_stats) Get statistics about various system internals. |
| VIVOXSDK_DLLEXPORT int | vx_get_int_var(const char * var_name, int * p_value) Get named variables. |
| VIVOXSDK_DLLEXPORT int | vx_set_int_var(const char * var_name, int value) Set named variables. |
| VIVOXSDK_DLLEXPORT int | vx_destroy_message(vx_message_base_t * message) Deallocate any message of any type. |
| VIVOXSDK_DLLEXPORT char * | vx_debug_generate_token(const char * issuer, vx_time_t expiration, const char * vxa, unsigned long long serial, const char * subject, const char * from_uri, const char * to_uri, const unsigned char * key, size_t key_len) Generate a Vivox Access Token. |
| VIVOXSDK_DLLEXPORT unsigned int | vx_get_http(const char * url, unsigned int * response_code, char ** content, size_t * content_len, char ** content_type, size_t * content_type_len) Synchronously download the contents of the specified URL with the GET method. |
| VIVOXSDK_DLLEXPORT int | vx_free_http(char ** content, char ** content_type) Free the memory allocated during the vx_get_http() call. |
| VIVOXSDK_DLLEXPORT char * | vx_get_random_user_id(const char * prefix) Get a random guest user ID with the given prefix. |
| VIVOXSDK_DLLEXPORT char * | vx_get_random_user_id_ex(const char * prefix, const char * issuer) Get a random guest user ID for the given issuer with the given prefix. |
| VIVOXSDK_DLLEXPORT char * | vx_get_random_channel_uri(const char * prefix, const char * realm) Get a random ephemeral channel ID with the given prefix for the specific realm. |
| VIVOXSDK_DLLEXPORT char * | vx_get_random_channel_uri_ex(const char * prefix, const char * realm, const char * issuer) Get a random ephemeral channel ID for the given issuer with the given prefix for the specific realm. |
| VIVOXSDK_DLLEXPORT char * | vx_get_user_uri(const char * name, const char * realm, const char * issuer) Generate the fully specified URI of a user with the given name for the given realm and issuer. |
| VIVOXSDK_DLLEXPORT char * | vx_get_echo_channel_uri(const char * name, const char * realm, const char * issuer) Generate the fully specified URI of an echo channel with the given name for the given realm and issuer. |
| VIVOXSDK_DLLEXPORT char * | vx_get_general_channel_uri(const char * name, const char * realm, const char * issuer) Generate the fully specified URI of a general non-positional channel with the given name for the given realm and issuer. |
| VIVOXSDK_DLLEXPORT char * | vx_get_positional_channel_uri(const char * name, const char * realm, int max_range, int clamping_distance, double rolloff, vx_channel_rolloff_curve_type distance_model, const char * issuer) Generate the fully specified URI of a positional channel with the given name and 3D properties for the given realm and issuer. |
| VIVOXSDK_DLLEXPORT char * | vx_uri_to_string(int is_multitenant, const char * uri) Return a textual representation of the compositional elements of a Vivox URI, suitable for logging. |
| VIVOXSDK_DLLEXPORT int | vx_opus_set_bit_rate(int bits_per_second) Set the bitrate for all OPUS encoders. |
| VIVOXSDK_DLLEXPORT int | vx_opus_get_bit_rate(int * p_bits_per_second) Get the current OPUS bitrate. |
| VIVOXSDK_DLLEXPORT int | vx_opus_set_complexity(int complexity) Set the complexity for all OPUS encoders. |
| VIVOXSDK_DLLEXPORT int | vx_opus_get_complexity(int * p_complexity) Get the current OPUS complexity. |
| VIVOXSDK_DLLEXPORT int | vx_opus_set_vbr_mode(int vbr_mode) Set the VBR mode for all OPUS encoders. |
| VIVOXSDK_DLLEXPORT int | vx_opus_get_vbr_mode(int * p_vbr_mode) Get the current OPUS VBR mode. |
| VIVOXSDK_DLLEXPORT int | vx_opus_set_bandwidth(int bandwidth) Set the bandwidth for all OPUS encoders. |
| VIVOXSDK_DLLEXPORT int | vx_opus_get_bandwidth(int * p_bandwidth) Get the current OPUS bandwidth. |
| VIVOXSDK_DLLEXPORT unsigned int | vx_get_available_codecs_mask(void ) Get a mask for all available codecs (to be used as configured_codecs). |
| VIVOXSDK_DLLEXPORT unsigned int | vx_get_default_codecs_mask(void ) Get a recommended default mask for available codecs (to be used as configured_codecs). |
| VIVOXSDK_DLLEXPORT int | vx_get_dump_memory_interval(void ) Get the current period of the Memory Usage information dumping to logcat. |
| VIVOXSDK_DLLEXPORT int | vx_cpumonitor_start(int interval, int report_interval) Start the CPU load information dumping to logcat. |
| VIVOXSDK_DLLEXPORT int | vx_cpumonitor_stop(void ) Stop the CPU load information dumping to logcat. |
| VIVOXSDK_DLLEXPORT int | vx_cpumonitor_start_eater(int nthreads, int priority) Start the requested number of tight loop threads with the requested priority. |
| VIVOXSDK_DLLEXPORT int | vx_cpumonitor_stop_eater(void ) Stop all the CPU eater threads started with vx_cpumonitor_start_eater() call. |
| VIVOXSDK_DLLEXPORT int | vx_crash_test(vx_crash_test_type_t crash_type) Crash the program. |
| VIVOXSDK_DLLEXPORT int | vx_set_message_rate_params(unsigned bucketSize, float messageSpeed, int fillBucket) Change the API message rate parameters. |
| VIVOXSDK_DLLEXPORT int | vx_set_default_message_rate_params(void ) Return the API message rate parameters to their default state. |
| VIVOXSDK_DLLEXPORT int | vx_android_set_mic_mute(int mute) Mute or unmute the mic on Android. |
| VIVOXSDK_DLLEXPORT int | vx_internal_enable_debug_mode_disable_strict_checks(void ) Internal: enable debug mode and disable the strict parameter check of some requests. |
| VIVOXSDK_DLLEXPORT int | vx_internal_disable_debug_mode_enable_strict_checks(void ) Internal: disable the debug mode enabled by vx_internal_enable_debug_mode_disable_strict_checks. |
| VIVOXSDK_DLLEXPORT int | vx_is_access_token_well_formed(const char * access_token, char ** error) Verify whether the passed access token is well-formed. |
| VIVOXSDK_DLLEXPORT int | vx_vxd_send(VX_HANDLE session_handle, const char * data, size_t size) Send VXD into the channel. |
| VIVOXSDK_DLLEXPORT int | vx_vxd_recv(VX_HANDLE session_handle, vx_vxd_t ** vxd_ptr) Receive VXD from the channel. |
| VIVOXSDK_DLLEXPORT int | vx_vxd_destroy(vx_vxd_t * vxd) Dispose of the VXD object returned by vx_vxd_recv(). |
| VIVOXSDK_DLLEXPORT char * | vx_get_path(unsigned int path_id) Get a specific path of various files and folders used by the SDK. |
| VIVOXSDK_DLLEXPORT int | vx_get_dynamic_voice_processing_switching_enabled(int * enabled) Get the current value of the dynamic voice processing switching enabled setting. |
| VIVOXSDK_DLLEXPORT int | vx_set_dynamic_voice_processing_switching_enabled(int enabled) Enable and disable dynamic voice processing switching. |
| VIVOXSDK_DLLEXPORT int | vx_get_ios_voice_processing_io_mode(int * mode) Get the mode for the ios_voice_processing_io_mode configuration field. |
| VIVOXSDK_DLLEXPORT int | vx_set_ios_voice_processing_io_mode(int mode) Set the mode for the ios_voice_processing_io_mode configuration field. |
| VIVOXSDK_DLLEXPORT int | vx_get_platform_aec_enabled(int * enabled) Return an indication of whether platform-provided AEC is being used. |
| VIVOXSDK_DLLEXPORT int | vx_set_platform_aec_enabled(int enabled) Enable and disable platform-provided AEC. |
| VIVOXSDK_DLLEXPORT int | vx_get_vivox_aec_enabled(int * enabled) Get the internal AEC enabled/disabled state. |
| VIVOXSDK_DLLEXPORT int | vx_set_vivox_aec_enabled(int enabled) Enable or disable the SDK's internal AEC. |
| VIVOXSDK_DLLEXPORT int | vx_get_noise_suppression_enabled(int * enabled) Get the capture audio noise suppressor enabled/disabled state. |
| VIVOXSDK_DLLEXPORT int | vx_get_noise_suppression_level(vx_noise_suppression_level * level) Get the capture audio noise suppressor suppression level. |
| VIVOXSDK_DLLEXPORT int | vx_set_noise_suppression_enabled(int enabled) Enable or disable the SDK's capture audio noise suppressor. |
| VIVOXSDK_DLLEXPORT int | vx_set_noise_suppression_level(vx_noise_suppression_level level) Set the capture audio noise suppressor's suppression level. |
| VIVOXSDK_DLLEXPORT int | vx_set_agc_enabled(int enabled) Enable or disable the SDK's internal AGC. |
| VIVOXSDK_DLLEXPORT int | vx_get_agc_enabled(int * enabled) Get the internal AGC enabled/disabled state. |
| VIVOXSDK_DLLEXPORT int | vx_set_volume_based_duplication_suppression_enabled(int enabled) Enable or disable volume based audio duplication suppression. |
| VIVOXSDK_DLLEXPORT int | vx_get_volume_based_duplication_suppression_enabled(int * enabled) Get the internal state of the volume based audio duplication suppression. |
| VIVOXSDK_DLLEXPORT int | vx_set_3d_channel_volume_protection_enabled(int enabled) Enable or disable the SDK's internal volume protection for 3D channels. |
| VIVOXSDK_DLLEXPORT int | vx_get_3d_channel_volume_protection_enabled(int * enabled) Get the internal 3D channel volume protection state. |
| VIVOXSDK_DLLEXPORT int | vx_set_audio_clipping_protector_enabled(int enabled) Enable or disable the SDK's internal audio clipping protector (soft clipper). |
| VIVOXSDK_DLLEXPORT int | vx_get_audio_clipping_protector_enabled(int * enabled) Get the internal audio clipping protector enabled state. |
| VIVOXSDK_DLLEXPORT int | vx_set_audio_clipping_protector_parameters(float minimum_threshold_db, float threshold_boost_slope) Change the behavior of the SDK's internal audio clipping protector (soft clipper). |
| VIVOXSDK_DLLEXPORT int | vx_get_audio_clipping_protector_parameters(float * minimum_threshold_db, float * threshold_boost_slope) Get the internal audio clipping protector's parameters. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_initialize(vx_tts_engine_type engine_type, vx_tts_manager_id * tts_manager_id) Initialize a new text-to-speech manager. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_get_voices(vx_tts_manager_id tts_manager_id, int * num_voices, vx_tts_voice_t ** voices) Get the available voices for a text-to-speech manager. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_shutdown(vx_tts_manager_id * tts_manager_id) Uninitialize and shut down a text-to-speech manager. |
| VIVOXSDK_DLLEXPORT const char * | vx_get_tts_status_string(vx_tts_status status_code) Return a textual representation of a text-to-speech status code. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_speak(vx_tts_manager_id tts_manager_id, vx_tts_voice_id voice_id, const char * input_text, vx_tts_destination tts_dest, vx_tts_utterance_id * utterance_id) Convert the input text into speech and process the generated utterance on the selected destination. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_speak_to_buffer(vx_tts_manager_id tts_manager_id, vx_tts_voice_id voice_id, const char * input_text, vx_tts_utterance_t ** utterance) Convert the input text into speech and return the generated utterance. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_destroy_utterance(vx_tts_manager_id tts_manager_id, vx_tts_utterance_t * utterance) Destroy an utterance. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_cancel_utterance(vx_tts_manager_id tts_manager_id, vx_tts_utterance_id utterance_id) Cancel playback of an ongoing or an enqueued text-to-speech message by its unique identifier. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_cancel_all_in_dest(vx_tts_manager_id tts_manager_id, vx_tts_destination tts_dest) Cancel playback of ongoing and all enqueued text-to-speech messages in a destination. |
| VIVOXSDK_DLLEXPORT vx_tts_status | vx_tts_cancel_all(vx_tts_manager_id tts_manager_id) Cancel playback for all ongoing and enqueued text-to-speech messages on all destinations. |
Defines
Types Documentation
enum vx_attempt_stun
Enumerator | Value | Description |
|---|---|---|
| attempt_stun_unspecified | 0 | Use the default as configured on the account management server. |
| attempt_stun_on | 1 | Use STUN. |
| attempt_stun_off | 2 | Do not use STUN. |
enum vx_connector_mode
Enumerator | Value | Description |
|---|---|---|
| connector_mode_normal | 0 | The default and only valid value. |
| connector_mode_legacy | 1 |
enum vx_session_handle_type
Enumerator | Value | Description |
|---|---|---|
| session_handle_type_unique | 0 | Each handle is unique for the lifetime of the connector. |
| session_handle_type_legacy | 1 | Handles are sequential integers. |
| session_handle_type_heirarchical_numeric | 2 | Handles are hierarchical numeric. |
| session_handle_type_heirarchical_unique | 3 | Handles are hierarchical unique. |
enum vx_log_type
Enumerator | Value | Description |
|---|---|---|
| log_to_none | 0 | Unused. |
| log_to_file | 1 | |
| log_to_callback | 2 | Send log information to the client application through the registered callback method. |
| log_to_file_and_callback | 3 |
enum vx_message_type
Enumerator | Value | Description |
|---|---|---|
| msg_none | 0 | Unused. |
| msg_request | 1 | Indicates that the message is a request. |
| msg_response | 2 | Indicates that the message is a response. |
| msg_event | 3 | Indicates that the message is an event. |
enum vx_sessiongroup_recording_control_type
Enumerator | Value | Description |
|---|---|---|
| VX_SESSIONGROUP_RECORDING_CONTROL_STOP | 0 | Stop a recording. |
| VX_SESSIONGROUP_RECORDING_CONTROL_START | 1 | Start a recording. |
| VX_SESSIONGROUP_RECORDING_CONTROL_FLUSH_TO_FILE | 2 | Flush a continuous recording. |
enum vx_sessiongroup_audio_injection_control_type
Enumerator | Value | Description |
|---|---|---|
| VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP | 0 | Stop audio injection. |
| vx_sessiongroup_audio_injection_control_stop | VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP | |
| VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_START | 1 | Start audio injection (only if currently stopped). |
| vx_sessiongroup_audio_injection_control_start | VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_START | |
| VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART | 2 | Restart audio injection (start if currently stopped, or stop if currently injecting and then restart). |
| vx_sessiongroup_audio_injection_control_restart | VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART | |
| VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_MIN | VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP | |
| vx_sessiongroup_audio_injection_control_min | vx_sessiongroup_audio_injection_control_stop | |
| VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_MAX | VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART | |
| vx_sessiongroup_audio_injection_control_max | vx_sessiongroup_audio_injection_control_restart |
enum vx_sessiongroup_playback_control_type
Enumerator | Value | Description |
|---|---|---|
| VX_SESSIONGROUP_PLAYBACK_CONTROL_STOP | 0 | Stop playback. When playback is stopped, it closes the playback file and generates a media frame played event, with 0 for the first frame, and 0 for the total frames. |
| VX_SESSIONGROUP_PLAYBACK_CONTROL_START | 1 | Start playback. |
| VX_SESSIONGROUP_PLAYBACK_CONTROL_PAUSE | 3 | Pause playback. |
| VX_SESSIONGROUP_PLAYBACK_CONTROL_UNPAUSE | 4 | Unpause playback. |
enum vx_sessiongroup_playback_mode
Enumerator | Value | Description |
|---|---|---|
| VX_SESSIONGROUP_PLAYBACK_MODE_NORMAL | 0 | Normal mode playback. |
| VX_SESSIONGROUP_PLAYBACK_MODE_VOX | 1 | Vox mode playback: Catch-up mode. Skip all silence periods. Playback at desired speed. |
enum vx_control_communications_operation
Enumerator | Value | Description |
|---|---|---|
| vx_control_communications_operation_block | 0 | The issuing user does not hear the blocked user, and the blocked user does not hear the issuing user. |
| vx_control_communications_operation_unblock | 1 | The issuing user does hear the blocked user, and the blocked user does hear the issuing user, unless the blocked user has also blocked the issuing user. |
| vx_control_communications_operation_list | 2 | |
| vx_control_communications_operation_block_list | 2 | |
| vx_control_communications_operation_clear | 3 | |
| vx_control_communications_operation_clear_block_list | 3 | |
| vx_control_communications_operation_mute | 4 | |
| vx_control_communications_operation_unmute | 5 | |
| vx_control_communications_operation_mute_list | 6 | |
| vx_control_communications_operation_clear_mute_list | 7 |
enum vx_media_type
Enumerator | Value | Description |
|---|---|---|
| media_type_none | 0 | |
| media_type_text | 1 | |
| media_type_audio | 2 | |
| media_type_video | 3 | |
| media_type_audiovideo | 4 |
enum vx_termination_status
Enumerator | Value | Description |
|---|---|---|
| termination_status_none | 0 | |
| termination_status_busy | 1 | |
| termination_status_decline | 2 |
enum vx_diagnostic_dump_level
Enumerator | Value | Description |
|---|---|---|
| diagnostic_dump_level_all | 0 | |
| diagnostic_dump_level_sessions | 1 |
enum vx_media_ringback
Enumerator | Value | Description |
|---|---|---|
| media_ringback_none | 0 | |
| media_ringback_ringing | 1 | |
| media_ringback_busy | 3 |
enum vx_channel_type
Enumerator | Value | Description |
|---|---|---|
| channel_type_normal | 0 | |
| channel_type_positional | 2 |
enum vx_channel_mode
Enumerator | Value | Description |
|---|---|---|
| channel_mode_none | 0 | |
| channel_mode_normal | 1 | |
| channel_mode_presentation | 2 | |
| channel_mode_lecture | 3 | |
| channel_mode_open | 4 | |
| channel_mode_auditorium | 5 |
enum vx_channel_search_type
Enumerator | Value | Description |
|---|---|---|
| channel_search_type_all | 0 | |
| channel_search_type_non_positional | 1 | |
| channel_search_type_positional | 2 |
enum vx_channel_moderation_type
Enumerator | Value | Description |
|---|---|---|
| channel_moderation_type_all | 0 | |
| channel_moderation_type_current_user | 1 |
enum vx_sessiongroup_type
Enumerator | Value | Description |
|---|---|---|
| sessiongroup_type_normal | 0 | Normal type for general use. |
| sessiongroup_type_playback | 1 | Playback type. Only use this for playing back a Vivox recording. |
enum vx_participant_removed_reason
Enumerator | Value | Description |
|---|---|---|
| participant_left | 0 | |
| participant_timeout | 1 | |
| participant_kicked | 2 | |
| participant_banned | 3 |
enum vx_connection_state
Enumerator | Value | Description |
|---|---|---|
| connection_state_disconnected | 0 | |
| connection_state_connected | 1 | |
| connection_state_recovering | 3 | |
| connection_state_failed_to_recover | 4 | |
| connection_state_recovered | 5 |
enum vx_request_type
Enumerator | Value | Description |
|---|---|---|
| req_none | 0 | |
| req_connector_create | 1 | |
| req_connector_initiate_shutdown | 2 | |
| req_account_login | 3 | |
| req_account_logout | 4 | |
| req_account_set_login_properties | 5 | |
| req_sessiongroup_create | 6 | |
| req_sessiongroup_terminate | 7 | |
| req_sessiongroup_add_session | 8 | |
| req_sessiongroup_remove_session | 9 | |
| req_sessiongroup_set_focus | 10 | |
| req_sessiongroup_unset_focus | 11 | |
| req_sessiongroup_reset_focus | 12 | |
| req_sessiongroup_set_tx_session | 13 | |
| req_sessiongroup_set_tx_all_sessions | 14 | |
| req_sessiongroup_set_tx_no_session | 15 | |
| req_session_create | 16 | Do not use. Instead, use req_sessiongroup_add_session |
| req_session_media_connect | 18 | |
| req_session_media_disconnect | 19 | |
| req_session_terminate | 21 | |
| req_session_mute_local_speaker | 22 | |
| req_session_set_local_speaker_volume | 23 | |
| req_session_set_local_render_volume | 24 | |
| req_session_channel_invite_user | 25 | |
| req_session_set_participant_volume_for_me | 26 | |
| req_session_set_participant_mute_for_me | 27 | |
| req_session_set_3d_position | 28 | |
| req_session_set_voice_font | 29 | |
| req_account_channel_add_acl | 53 | |
| req_account_channel_remove_acl | 54 | |
| req_account_channel_get_acl | 55 | |
| req_channel_mute_user | 56 | |
| req_channel_ban_user | 57 | |
| req_channel_get_banned_users | 58 | |
| req_channel_kick_user | 59 | |
| req_channel_mute_all_users | 60 | |
| req_connector_mute_local_mic | 61 | |
| req_connector_mute_local_speaker | 62 | |
| req_connector_set_local_mic_volume | 63 | |
| req_connector_set_local_speaker_volume | 64 | |
| req_connector_get_local_audio_info | 65 | |
| req_account_buddy_set | 67 | |
| req_account_buddy_delete | 68 | |
| req_account_list_buddies_and_groups | 71 | |
| req_session_send_message | 72 | |
| req_account_set_presence | 73 | |
| req_account_send_subscription_reply | 74 | |
| req_session_send_notification | 75 | |
| req_account_create_block_rule | 76 | |
| req_account_delete_block_rule | 77 | |
| req_account_list_block_rules | 78 | |
| req_account_create_auto_accept_rule | 79 | |
| req_account_delete_auto_accept_rule | 80 | |
| req_account_list_auto_accept_rules | 81 | |
| req_account_update_account | 82 | Deprecated. |
| req_account_get_account | 83 | Deprecated. |
| req_account_send_sms | 84 | |
| req_aux_connectivity_info | 86 | |
| req_aux_get_render_devices | 87 | |
| req_aux_get_capture_devices | 88 | |
| req_aux_set_render_device | 89 | |
| req_aux_set_capture_device | 90 | |
| req_aux_get_mic_level | 91 | |
| req_aux_get_speaker_level | 92 | |
| req_aux_set_mic_level | 93 | |
| req_aux_set_speaker_level | 94 | |
| req_aux_render_audio_start | 95 | |
| req_aux_render_audio_stop | 96 | |
| req_aux_capture_audio_start | 97 | |
| req_aux_capture_audio_stop | 98 | |
| req_aux_global_monitor_keyboard_mouse | 99 | |
| req_aux_set_idle_timeout | 100 | |
| req_aux_create_account | 101 | |
| req_aux_reactivate_account | 102 | |
| req_aux_deactivate_account | 103 | |
| req_account_post_crash_dump | 104 | |
| req_aux_reset_password | 105 | |
| req_sessiongroup_set_session_3d_position | 106 | |
| req_account_get_session_fonts | 107 | |
| req_account_get_template_fonts | 108 | |
| req_aux_start_buffer_capture | 109 | |
| req_aux_play_audio_buffer | 110 | |
| req_sessiongroup_control_recording | 111 | |
| req_sessiongroup_control_playback | 112 | |
| req_sessiongroup_set_playback_options | 113 | |
| req_session_text_connect | 114 | |
| req_session_text_disconnect | 115 | |
| req_channel_set_lock_mode | 116 | |
| req_aux_render_audio_modify | 117 | |
| req_session_send_dtmf | 118 | |
| req_aux_set_vad_properties | 120 | |
| req_aux_get_vad_properties | 121 | |
| req_sessiongroup_control_audio_injection | 124 | |
| req_account_channel_change_owner | 125 | Not yet implemented (3030) |
| req_account_send_user_app_data | 128 | Not yet implemented (3030) |
| req_aux_diagnostic_state_dump | 129 | |
| req_account_web_call | 130 | |
| req_account_anonymous_login | 131 | |
| req_account_authtoken_login | 132 | |
| req_sessiongroup_get_stats | 133 | |
| req_account_send_message | 134 | |
| req_aux_notify_application_state_change | 135 | |
| req_account_control_communications | 136 | |
| req_session_archive_query | 137 | |
| req_account_archive_query | 138 | |
| req_session_transcription_control | 139 | |
| req_aux_get_derumbler_properties | 140 | |
| req_aux_set_derumbler_properties | 141 | |
| req_session_chat_history_query | 142 | |
| req_account_chat_history_query | 143 | |
| req_account_chat_history_get_last_read | 144 | |
| req_session_edit_message | 145 | |
| req_account_edit_message | 146 | |
| req_session_delete_message | 147 | |
| req_account_delete_message | 148 | |
| req_account_get_conversations | 149 | |
| req_account_chat_history_set_marker | 150 | |
| req_account_safe_voice_update_consent | 151 | |
| req_account_safe_voice_get_consent | 152 | |
| req_max | req_account_safe_voice_get_consent + 1 |
enum vx_response_type
Enumerator | Value | Description |
|---|---|---|
| resp_none | 0 | |
| resp_connector_create | 1 | |
| resp_connector_initiate_shutdown | 2 | |
| resp_account_login | 3 | |
| resp_account_logout | 4 | |
| resp_account_set_login_properties | 5 | |
| resp_sessiongroup_create | 6 | |
| resp_sessiongroup_terminate | 7 | |
| resp_sessiongroup_add_session | 8 | |
| resp_sessiongroup_remove_session | 9 | |
| resp_sessiongroup_set_focus | 10 | |
| resp_sessiongroup_unset_focus | 11 | |
| resp_sessiongroup_reset_focus | 12 | |
| resp_sessiongroup_set_tx_session | 13 | |
| resp_sessiongroup_set_tx_all_sessions | 14 | |
| resp_sessiongroup_set_tx_no_session | 15 | |
| resp_session_create | 16 | Do not use. |
| resp_session_media_connect | 18 | |
| resp_session_media_disconnect | 19 | |
| resp_session_terminate | 21 | |
| resp_session_mute_local_speaker | 22 | |
| resp_session_set_local_speaker_volume | 23 | |
| resp_session_set_local_render_volume | 24 | |
| resp_session_channel_invite_user | 25 | |
| resp_session_set_participant_volume_for_me | 26 | |
| resp_session_set_participant_mute_for_me | 27 | |
| resp_session_set_3d_position | 28 | |
| resp_session_set_voice_font | 29 | |
| resp_account_channel_get_list | 33 | |
| resp_account_channel_add_acl | 53 | |
| resp_account_channel_remove_acl | 54 | |
| resp_account_channel_get_acl | 55 | |
| resp_channel_mute_user | 56 | |
| resp_channel_ban_user | 57 | |
| resp_channel_get_banned_users | 58 | |
| resp_channel_kick_user | 59 | |
| resp_channel_mute_all_users | 60 | |
| resp_connector_mute_local_mic | 61 | |
| resp_connector_mute_local_speaker | 62 | |
| resp_connector_set_local_mic_volume | 63 | |
| resp_connector_set_local_speaker_volume | 64 | |
| resp_connector_get_local_audio_info | 65 | |
| resp_account_buddy_set | 67 | |
| resp_account_buddy_delete | 68 | |
| resp_account_list_buddies_and_groups | 71 | |
| resp_session_send_message | 72 | |
| resp_account_set_presence | 73 | |
| resp_account_send_subscription_reply | 74 | |
| resp_session_send_notification | 75 | |
| resp_account_create_block_rule | 76 | |
| resp_account_delete_block_rule | 77 | |
| resp_account_list_block_rules | 78 | |
| resp_account_create_auto_accept_rule | 79 | |
| resp_account_delete_auto_accept_rule | 80 | |
| resp_account_list_auto_accept_rules | 81 | |
| resp_account_update_account | 82 | Deprecated. |
| resp_account_get_account | 83 | Deprecated. |
| resp_account_send_sms | 84 | |
| resp_aux_connectivity_info | 86 | |
| resp_aux_get_render_devices | 87 | |
| resp_aux_get_capture_devices | 88 | |
| resp_aux_set_render_device | 89 | |
| resp_aux_set_capture_device | 90 | |
| resp_aux_get_mic_level | 91 | |
| resp_aux_get_speaker_level | 92 | |
| resp_aux_set_mic_level | 93 | |
| resp_aux_set_speaker_level | 94 | |
| resp_aux_render_audio_start | 95 | |
| resp_aux_render_audio_stop | 96 | |
| resp_aux_capture_audio_start | 97 | |
| resp_aux_capture_audio_stop | 98 | |
| resp_aux_global_monitor_keyboard_mouse | 99 | |
| resp_aux_set_idle_timeout | 100 | |
| resp_aux_create_account | 101 | |
| resp_aux_reactivate_account | 102 | |
| resp_aux_deactivate_account | 103 | |
| resp_account_post_crash_dump | 104 | |
| resp_aux_reset_password | 105 | |
| resp_sessiongroup_set_session_3d_position | 106 | |
| resp_account_get_session_fonts | 107 | |
| resp_account_get_template_fonts | 108 | |
| resp_aux_start_buffer_capture | 109 | |
| resp_aux_play_audio_buffer | 110 | |
| resp_sessiongroup_control_recording | 111 | |
| resp_sessiongroup_control_playback | 112 | |
| resp_sessiongroup_set_playback_options | 113 | |
| resp_session_text_connect | 114 | |
| resp_session_text_disconnect | 115 | |
| resp_channel_set_lock_mode | 116 | |
| resp_aux_render_audio_modify | 117 | |
| resp_session_send_dtmf | 118 | |
| resp_aux_set_vad_properties | 120 | |
| resp_aux_get_vad_properties | 121 | |
| resp_sessiongroup_control_audio_injection | 124 | |
| resp_account_channel_change_owner | 125 | Not yet implemented (3030) |
| resp_account_send_user_app_data | 128 | Not yet implemented (3030) |
| resp_aux_diagnostic_state_dump | 129 | |
| resp_account_web_call | 130 | |
| resp_account_anonymous_login | 131 | |
| resp_account_authtoken_login | 132 | |
| resp_sessiongroup_get_stats | 133 | |
| resp_account_send_message | 134 | |
| resp_aux_notify_application_state_change | 135 | |
| resp_account_control_communications | 136 | |
| resp_session_archive_query | 137 | |
| resp_account_archive_query | 138 | |
| resp_session_transcription_control | 139 | |
| resp_aux_get_derumbler_properties | 140 | |
| resp_aux_set_derumbler_properties | 141 | |
| resp_session_chat_history_query | 142 | |
| resp_account_chat_history_query | 143 | |
| resp_account_chat_history_get_last_read | 144 | |
| resp_session_edit_message | 145 | |
| resp_account_edit_message | 146 | |
| resp_session_delete_message | 147 | |
| resp_account_delete_message | 148 | |
| resp_account_get_conversations | 149 | |
| resp_account_chat_history_set_marker | 150 | |
| resp_account_safe_voice_update_consent | 151 | |
| resp_account_safe_voice_get_consent | 152 | |
| resp_max | resp_account_safe_voice_get_consent + 1 |
enum vx_event_type
Enumerator | Value | Description |
|---|---|---|
| evt_none | 0 | |
| evt_account_login_state_change | 2 | |
| evt_buddy_presence | 7 | |
| evt_subscription | 8 | |
| evt_session_notification | 9 | |
| evt_message | 10 | |
| evt_aux_audio_properties | 11 | |
| evt_buddy_changed | 15 | |
| evt_buddy_group_changed | 16 | |
| evt_buddy_and_group_list_changed | 17 | |
| evt_keyboard_mouse | 18 | |
| evt_idle_state_changed | 19 | |
| evt_media_stream_updated | 20 | |
| evt_text_stream_updated | 21 | |
| evt_sessiongroup_added | 22 | |
| evt_sessiongroup_removed | 23 | |
| evt_session_added | 24 | |
| evt_session_removed | 25 | |
| evt_participant_added | 26 | |
| evt_participant_removed | 27 | |
| evt_participant_updated | 28 | |
| evt_sessiongroup_playback_frame_played | 30 | |
| evt_session_updated | 31 | |
| evt_sessiongroup_updated | 32 | |
| evt_media_completion | 33 | |
| evt_server_app_data | 35 | |
| evt_user_app_data | 36 | |
| evt_network_message | 38 | |
| evt_voice_service_connection_state_changed | 39 | |
| evt_publication_state_changed | 40 | |
| evt_audio_device_hot_swap | 41 | |
| evt_user_to_user_message | 42 | |
| evt_session_archive_message | 43 | |
| evt_session_archive_query_end | 44 | |
| evt_account_archive_message | 45 | |
| evt_account_archive_query_end | 46 | |
| evt_account_send_message_failed | 47 | |
| evt_transcribed_message | 48 | |
| evt_tts_injection_started | 49 | |
| evt_tts_injection_ended | 50 | |
| evt_tts_injection_failed | 51 | |
| evt_stt_failed | 52 | |
| evt_connection_state_changed | 53 | |
| evt_presence_updated | 54 | |
| evt_session_edit_message | 55 | |
| evt_account_edit_message | 56 | |
| evt_session_delete_message | 57 | |
| evt_account_delete_message | 58 | |
| evt_max | evt_account_delete_message + 1 |
enum ND_ERROR
Enumerator | Value | Description |
|---|---|---|
| ND_E_NO_ERROR | 0 | |
| ND_E_TEST_NOT_RUN | 1 | |
| ND_E_NO_INTERFACE | 2 | |
| ND_E_NO_INTERFACE_WITH_GATEWAY | 3 | |
| ND_E_NO_INTERFACE_WITH_ROUTE | 4 | |
| ND_E_TIMEOUT | 5 | |
| ND_E_CANT_ICMP | 6 | |
| ND_E_CANT_RESOLVE_VIVOX_UDP_SERVER | 7 | |
| ND_E_CANT_RESOLVE_ROOT_DNS_SERVER | 8 | |
| ND_E_CANT_CONVERT_LOCAL_IP_ADDRESS | 9 | |
| ND_E_CANT_CONTACT_STUN_SERVER_ON_UDP_PORT_3478 | 10 | |
| ND_E_CANT_CREATE_TCP_SOCKET | 11 | |
| ND_E_CANT_LOAD_ICMP_LIBRARY | 12 | |
| ND_E_CANT_FIND_SENDECHO2_PROCADDR | 13 | |
| ND_E_CANT_CONNECT_TO_ECHO_SERVER | 14 | |
| ND_E_ECHO_SERVER_LOGIN_SEND_FAILED | 15 | |
| ND_E_ECHO_SERVER_LOGIN_RECV_FAILED | 16 | |
| ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_STATUS | 17 | |
| ND_E_ECHO_SERVER_LOGIN_RESPONSE_FAILED_STATUS | 18 | |
| ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_SESSIONID | 19 | |
| ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_SIPPORT | 20 | |
| ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_AUDIORTP | 21 | |
| ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_AUDIORTCP | 22 | |
| ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_VIDEORTP | 23 | |
| ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_VIDEORTCP | 24 | |
| ND_E_ECHO_SERVER_CANT_ALLOCATE_SIP_SOCKET | 25 | |
| ND_E_ECHO_SERVER_CANT_ALLOCATE_MEDIA_SOCKET | 26 | |
| ND_E_ECHO_SERVER_SIP_UDP_SEND_FAILED | 27 | |
| ND_E_ECHO_SERVER_SIP_UDP_RECV_FAILED | 28 | |
| ND_E_ECHO_SERVER_SIP_TCP_SEND_FAILED | 29 | |
| ND_E_ECHO_SERVER_SIP_TCP_RECV_FAILED | 30 | |
| ND_E_ECHO_SERVER_SIP_NO_UDP_OR_TCP | 31 | |
| ND_E_ECHO_SERVER_SIP_NO_UDP | 32 | |
| ND_E_ECHO_SERVER_SIP_NO_TCP | 33 | |
| ND_E_ECHO_SERVER_SIP_MALFORMED_TCP_PACKET | 34 | |
| ND_E_ECHO_SERVER_SIP_UDP_DIFFERENT_LENGTH | 35 | |
| ND_E_ECHO_SERVER_SIP_UDP_DATA_DIFFERENT | 36 | |
| ND_E_ECHO_SERVER_SIP_TCP_PACKETS_DIFFERENT | 37 | |
| ND_E_ECHO_SERVER_SIP_TCP_PACKETS_DIFFERENT_SIZE | 38 | |
| ND_E_ECHO_SERVER_LOGIN_RECV_FAILED_TIMEOUT | 39 | |
| ND_E_ECHO_SERVER_TCP_SET_ASYNC_FAILED | 40 | |
| ND_E_ECHO_SERVER_UDP_SET_ASYNC_FAILED | 41 | |
| ND_E_ECHO_SERVER_CANT_RESOLVE_NAME | 42 |
enum ND_TEST_TYPE
Enumerator | Value | Description |
|---|---|---|
| ND_TEST_LOCATE_INTERFACE | 0 | |
| ND_TEST_PING_GATEWAY | 1 | |
| ND_TEST_DNS | 2 | |
| ND_TEST_STUN | 3 | |
| ND_TEST_ECHO | 4 | |
| ND_TEST_ECHO_SIP_FIRST_PORT | 5 | |
| ND_TEST_ECHO_SIP_FIRST_PORT_INVITE_REQUEST | 6 | |
| ND_TEST_ECHO_SIP_FIRST_PORT_INVITE_RESPONSE | 7 | |
| ND_TEST_ECHO_SIP_FIRST_PORT_REGISTER_REQUEST | 8 | |
| ND_TEST_ECHO_SIP_FIRST_PORT_REGISTER_RESPONSE | 9 | |
| ND_TEST_ECHO_SIP_SECOND_PORT | 10 | |
| ND_TEST_ECHO_SIP_SECOND_PORT_INVITE_REQUEST | 11 | |
| ND_TEST_ECHO_SIP_SECOND_PORT_INVITE_RESPONSE | 12 | |
| ND_TEST_ECHO_SIP_SECOND_PORT_REGISTER_REQUEST | 13 | |
| ND_TEST_ECHO_SIP_SECOND_PORT_REGISTER_RESPONSE | 14 | |
| ND_TEST_ECHO_MEDIA | 15 | |
| ND_TEST_ECHO_MEDIA_LARGE_PACKET | 16 |
enum vx_session_answer_mode
Enumerator | Value | Description |
|---|---|---|
| mode_none | 0 | Not valid for use. |
| mode_auto_answer | 1 | |
| mode_verify_answer | 2 | Requires the client to explicitly answer the incoming call. |
| mode_busy_answer | 3 | The incoming call is automatically answered with a 486 busy. |
enum vx_buddy_management_mode
Enumerator | Value | Description |
|---|---|---|
| mode_auto_accept | 0 | |
| mode_auto_add | 1 | |
| mode_block | 2 | |
| mode_hide | 3 | |
| mode_application | 4 |
enum vx_rule_type
Enumerator | Value | Description |
|---|---|---|
| rule_none | 0 | |
| rule_allow | 1 | |
| rule_block | 2 | |
| rule_hide | 3 |
enum vx_font_type
Enumerator | Value | Description |
|---|---|---|
| type_none | 0 | |
| type_root | 1 | |
| type_user | 2 |
enum vx_font_status
Enumerator | Value | Description |
|---|---|---|
| status_none | 0 | |
| status_free | 1 | |
| status_not_free | 2 |
enum vx_subscription_type
Enumerator | Value | Description |
|---|---|---|
| subscription_presence | 0 |
enum vx_notification_type
Enumerator | Value | Description |
|---|---|---|
| notification_not_typing | 0 | |
| notification_typing | 1 | |
| notification_hand_lowered | 2 | |
| notification_hand_raised | 3 | |
| notification_min | notification_not_typing | |
| notification_max | notification_hand_raised |
enum vx_dtmf_type
Enumerator | Value | Description |
|---|---|---|
| dtmf_0 | 0 | |
| dtmf_1 | 1 | |
| dtmf_2 | 2 | |
| dtmf_3 | 3 | |
| dtmf_4 | 4 | |
| dtmf_5 | 5 | |
| dtmf_6 | 6 | |
| dtmf_7 | 7 | |
| dtmf_8 | 8 | |
| dtmf_9 | 9 | |
| dtmf_pound | 10 | |
| dtmf_star | 11 | |
| dtmf_A | 12 | |
| dtmf_B | 13 | |
| dtmf_C | 14 | |
| dtmf_D | 15 | |
| dtmf_max | dtmf_D |
enum vx_text_mode
Enumerator | Value | Description |
|---|---|---|
| text_mode_disabled | 0 | |
| text_mode_enabled | 1 |
enum vx_channel_lock_mode
Enumerator | Value | Description |
|---|---|---|
| channel_unlock | 0 | |
| channel_lock | 1 |
enum vx_mute_scope
Enumerator | Value | Description |
|---|---|---|
| mute_scope_all | 0 | |
| mute_scope_audio | 1 | |
| mute_scope_text | 2 |
enum vx_recording_frame_type_t
Enumerator | Value | Description |
|---|---|---|
| VX_RECORDING_FRAME_TYPE_DELTA | 0 | |
| VX_RECORDING_FRAME_TYPE_CONTROL | 1 |
enum vx_audiosource_operation
Enumerator | Value | Description |
|---|---|---|
| op_none | 0 | |
| op_safeupdate | 1 | |
| op_delete | 2 |
enum vx_aux_audio_properties_state
Enumerator | Value | Description |
|---|---|---|
| aux_audio_properties_none | 0 |
enum vx_login_state_change_state
Enumerator | Value | Description |
|---|---|---|
| login_state_logged_out | 0 | |
| login_state_logged_in | 1 | |
| login_state_logging_in | 2 | |
| login_state_logging_out | 3 | |
| login_state_resetting | 4 | |
| login_state_error | 100 |
enum vx_publication_state_change_state
Enumerator | Value | Description |
|---|---|---|
| publication_state_success | 0 | |
| publication_state_transient_error | 1 | |
| publication_state_permanent_error | 2 |
enum vx_buddy_presence_state
Enumerator | Value | Description |
|---|---|---|
| buddy_presence_unknown | 0 | OBSOLETE. |
| buddy_presence_pending | 1 | OBSOLETE. |
| buddy_presence_online | 2 | |
| buddy_presence_busy | 3 | |
| buddy_presence_brb | 4 | |
| buddy_presence_away | 5 | |
| buddy_presence_onthephone | 6 | |
| buddy_presence_outtolunch | 7 | |
| buddy_presence_custom | 8 | OBSOLETE. |
| buddy_presence_online_slc | 9 | OBSOLETE. |
| buddy_presence_closed | 0 | OBSOLETE. |
| buddy_presence_offline | 0 | |
| buddy_presence_chat | 10 | |
| buddy_presence_extended_away | 11 | |
| buddy_presence_min | buddy_presence_unknown | |
| buddy_presence_max | buddy_presence_extended_away |
enum vx_presence_state
Enumerator | Value | Description |
|---|---|---|
| presence_online | 0 | |
| presence_busy | 1 | |
| presence_brb | 2 | |
| presence_away | 3 | |
| presence_onthephone | 4 | |
| presence_offline | 5 | |
| presence_chat | 6 | |
| presence_extended_away | 7 | |
| presence_min | presence_online | |
| presence_max | presence_extended_away |
enum vx_session_notification_state
Enumerator | Value | Description |
|---|---|---|
| session_notification_none | 0 |
enum vx_message_state
Enumerator | Value | Description |
|---|---|---|
| message_none | 0 |
enum vx_session_text_state
Enumerator | Value | Description |
|---|---|---|
| session_text_disconnected | 0 | |
| session_text_connected | 1 | |
| session_text_connecting | 2 | |
| session_text_disconnecting | 3 |
enum vx_session_media_state
Enumerator | Value | Description |
|---|---|---|
| session_media_disconnected | 1 | |
| session_media_connected | 2 | |
| session_media_ringing | 3 | |
| session_media_connecting | 6 | |
| session_media_disconnecting | 7 |
enum vx_participant_type
Enumerator | Value | Description |
|---|---|---|
| participant_user | 0 | |
| part_user | participant_user | |
| participant_moderator | 1 | |
| part_moderator | participant_moderator | |
| participant_owner | 2 | |
| part_focus | participant_owner |
enum orientation_type
Enumerator | Value | Description |
|---|---|---|
| orientation_default | 0 | |
| orientation_legacy | 1 | |
| orientation_vivox | 2 |
enum vx_media_completion_type
Enumerator | Value | Description |
|---|---|---|
| media_completion_type_none | 0 | |
| aux_buffer_audio_capture | 1 | |
| aux_buffer_audio_render | 2 | |
| sessiongroup_audio_injection | 3 |
enum vx_device_type
Enumerator | Value | Description |
|---|---|---|
| vx_device_type_specific_device | 0 | This type is a specific device. |
| vx_device_type_default_system | 1 | This type means to use whatever the system has configured as a default at the time of the call. |
| vx_device_type_null | 2 | This is the null device, which means that either the input or output from or to that device does not occur. |
| vx_device_type_default_communication | 3 | This type means to use whatever the system has configured as a default communication device at the time of the call. |
enum vx_conversation_type
Enumerator | Value | Description |
|---|---|---|
| vx_conversation_channel | 0 | |
| vx_conversation_direct | 1 |
enum vx_codec
Enumerator | Value | Description |
|---|---|---|
| vx_codec_siren7 | 0x2 | |
| vx_codec_siren14 | 0x4 | |
| vx_codec_opus8 | 0x10 | |
| vx_codec_opus40 | 0x20 | |
| vx_codec_opus57 | 0x40 | |
| vx_codec_opus72 | 0x80 | |
| VX_DEPRECATED_ENUM_GCC | =(vx_codec_pcmu, 5.19) 0x10 |
enum vx_application_state_notification_type
Enumerator | Value | Description |
|---|---|---|
| vx_application_state_notification_type_before_background | 0 | |
| vx_application_state_notification_type_after_foreground | 1 | |
| vx_application_state_notification_type_periodic_background_idle | 2 |
enum VXA_ERROR_CODES
Enumerator | Value | Description |
|---|---|---|
| VXA_SUCCESS | 0 | Method executed successfully. |
| VXA_INVALID_PARAMETER | 1 | The caller provided an invalid parameter. |
| VXA_DEVICE_DOES_NOT_EXIST | 2 | The caller attempted to open a device that does not exist. |
| VXA_INTERNAL_ERROR | 3 | There was an unexpected operating system-specific failure. |
| VXA_OUT_OF_MEMORY | 4 | The method could not allocate enough memory to complete the request. |
| VXA_INVALID_STATE | 5 | The method attempted to perform an invalid operation on the object in its current state. Typically, this is an attempt to open an already open device, or to read or write a closed device. Can also be called if VXA is not initialized. |
| VXA_NO_MORE_DATA | 6 | Returned by "read()" functions when there is no more data available. |
| VXA_FEATURE_NOT_SUPPORTED | 7 | Returned by the method if the feature is not supported. |
| VXA_MAX_DEVICES_EXCEEDED | 8 | Returned by the method if there is an attempt to create more than MAX_VXA_DEVICE_COUNT devices. |
| VXA_NO_BUFFERS_AVAILABLE | 9 | Returned by the method if there are no more render buffers available. |
| VXA_ACCESS_DENIED | 10 | Returned by the method if the app does not have microphone access permission. |
enum VXA_CAPTURE_FLAGS
Enumerator | Value | Description |
|---|---|---|
| VXA_CAPTURE_OPEN_FLAG_USE_AEC | 0x00000001 | Use acoustic echo cancellation. |
| VXA_CAPTURE_OPEN_FLAG_USE_AGC | 0x00000002 | Use automatic gain control. |
enum vx_channel_rolloff_curve_type
Enumerator | Value | Description |
|---|---|---|
| channel_rolloff_curve_type_none | 0 | No distance-based attenuation is applied. All speakers are rendered as if they were in the same position as the listener. |
| channel_rolloff_curve_type_inverse_distance_clamped | 1 | The attenuation increases in inverse proportion to the distance. The rolloff factor is the inverse of the slope of the attenuation curve. |
| channel_rolloff_curve_type_linear_distance_clamped | 2 | The attenuation increases in linear proportion to the distance. The rolloff factor is the negative slope of the attenuation curve. |
| channel_rolloff_curve_type_exponential_distance_clamped | 3 | The attenuation increases in inverse proportion to the distance raised to the power of the rolloff factor. |
enum vx_opus_vbr_mode
Enumerator | Value | Description |
|---|---|---|
| opus_mode_cbr | 0 | A constant bitrate mode. |
| opus_mode_lvbr | 1 | A limited variable bitrate mode. |
| opus_mode_vbr | 2 | A variable bitrate mode. |
enum vx_opus_bandwidth
Enumerator | Value | Description |
|---|---|---|
| opus_bandwidth_auto | 0 | Automatic bandwidth (default). |
| opus_bandwidth_nb | 1 | Narrowband, 4kHz. |
| opus_bandwidth_mb | 2 | Medium-band, 6kHz. |
| opus_bandwidth_wb | 3 | Wideband, 8kHz. |
| opus_bandwidth_swb | 4 | Super-wideband, 12 kHz. |
| opus_bandwidth_fb | 5 | Fullband, 20 kHz. |
enum vx_crash_test_type
Enumerator | Value | Description |
|---|---|---|
| vx_crash_access_zero_pointer | 0 | Crash on access to the zero pointer. |
| vx_crash_access_violation | 1 | Crash on access to a restricted page. |
| vx_crash_stack_overflow | 2 | Overflow the program stack. |
| vx_crash_heap_corruption | 3 | Corrupt the heap and try to allocate more memory. |
enum vx_path_id
Enumerator | Value | Description |
|---|---|---|
| path_cache_folder | 0 | The path to the folder where internal SDK data is stored. Ends with a platform-specific separator. |
enum vx_noise_suppression_level
Enumerator | Value | Description |
|---|---|---|
| noise_suppression_low | 0 | |
| noise_suppression_moderate | 1 | |
| noise_suppression_high | 2 | |
| noise_suppression_very_high | 3 |
enum vx_tts_destination
Enumerator | Value | Description |
|---|---|---|
| tts_dest_remote_transmission | 0 | Immediately send to participants in connected sessions. Mixes new messages with any other ongoing messages. |
| tts_dest_local_playback | 1 | Immediately play back locally on a render device (for example, speakers). Mixes new messages with any other ongoing messages. |
| tts_dest_remote_transmission_with_local_playback | 2 | Immediately play back locally on a render device and send to participants in connected sessions. Mixes new messages with any other ongoing messages. |
| tts_dest_queued_remote_transmission | 3 | Send to participants in connected sessions, or enqueue if there is already an ongoing message playing in this destination. |
| tts_dest_queued_local_playback | 4 | Play back locally on a render device (for example, speakers), or enqueue if there is already an ongoing message playing in this destination. |
| tts_dest_queued_remote_transmission_with_local_playback | 5 | Play back locally on a render device and send to participants in connected sessions. Enqueue if there is already an ongoing message playing in this destination. |
| tts_dest_screen_reader | 6 | Immediately play back locally on a render device (for example, speakers). Replaces the currently playing message in this destination. |
enum vx_tts_status
Enumerator | Value | Description |
|---|---|---|
| tts_status_success | 0 | Successful TTS operation. |
| tts_error_invalid_engine_type | -1001 | Invalid TTS engine type. |
| tts_error_engine_allocation_failed | -1002 | TTS engine allocation failed. |
| tts_error_not_supported | -1003 | TTS operation is not supported or is not yet implemented. |
| tts_error_max_characters_exceeded | -1004 | Message exceeded the maximum number of input text characters. The maximum number of characters is 200. |
| tts_error_utterance_below_min_duration | -1005 | The text-to-speech utterance was below 20ms after synthesis and was ignored. |
| tts_status_input_text_was_enqueued | -1006 | TTS message was enqueued because there is another TTS message already playing. |
| tts_error_sdk_not_initialized | -1007 | SDK is not initialized. Initialize the SDK and retry. |
| tts_error_destination_queue_is_full | -1008 | Destination queue is full. Destination queue limit is 10 items. |
| tts_status_enqueue_not_necessary | -1009 | Queue is empty and no active TTS message is playing. Ready for injection. |
| tts_error_utterance_not_found | -1010 | Utterance was not found. |
| tts_error_manager_not_found | -1011 | Text-to-speech manager was not found. |
| tts_error_invalid_argument | -1012 | One or more arguments are invalid. |
| tts_error_internal | -1013 | Internal error. |
enum vx_tts_engine_type
Enumerator | Value | Description |
|---|---|---|
| tts_engine_vivox_default | 0 | Vivox Default TTS Engine. |
typedef VX_COOKIE
A request cookie type. Used when passing in requests to the SDK.typedef char* VX_COOKIE;
typedef VX_HANDLE
A generic handle type for state objects (for example: accounts, connectors, sessions, or session groups).typedef VX_COOKIE VX_HANDLE;
typedef VX_SDK_HANDLE
typedef unsigned int VX_SDK_HANDLE;
typedef vx_time_t
typedef time_t vx_time_t;
typedef vx_message_base_t
typedef struct vx_message_base vx_message_base_t;
typedef vx_req_base_t
typedef struct vx_req_base vx_req_base_t;
typedef vx_resp_base_t
typedef struct vx_resp_base vx_resp_base_t;
typedef vx_evt_base_t
typedef struct vx_evt_base vx_evt_base_t;
typedef vx_state_buddy_contact_t
typedef struct vx_state_buddy_contact vx_state_buddy_contact_t;
typedef vx_state_buddy_contact_ref_t
typedef vx_state_buddy_contact_t* vx_state_buddy_contact_ref_t;
typedef vx_state_buddy_contact_list_t
typedef vx_state_buddy_contact_ref_t* vx_state_buddy_contact_list_t;
typedef vx_state_buddy_t
typedef struct vx_state_buddy vx_state_buddy_t;
typedef vx_state_buddy_ref_t
typedef vx_state_buddy_t* vx_state_buddy_ref_t;
typedef vx_state_buddy_list_t
typedef vx_state_buddy_ref_t* vx_state_buddy_list_t;
typedef vx_state_buddy_group_t
typedef struct vx_state_buddy_group vx_state_buddy_group_t;
typedef vx_state_buddy_group_ref_t
typedef vx_state_buddy_group_t* vx_state_buddy_group_ref_t;
typedef vx_state_buddy_group_list_t
typedef vx_state_buddy_group_ref_t* vx_state_buddy_group_list_t;
typedef vx_participant_t
Channel participant.typedef struct vx_participant vx_participant_t;
typedef vx_participant_ref_t
Creates a participant list with the given size.typedef vx_participant_t* vx_participant_ref_t;
typedef vx_participant_list_t
typedef vx_participant_ref_t* vx_participant_list_t;
typedef vx_state_participant_t
State participant. Only used for state dump.typedef struct vx_state_participant vx_state_participant_t;
typedef vx_state_participant_ref_t
Creates a state_participant list with the given size.typedef vx_state_participant_t* vx_state_participant_ref_t;
typedef vx_state_participant_list_t
typedef vx_state_participant_ref_t* vx_state_participant_list_t;
typedef vx_state_session_t
State session. Only used for state dump.typedef struct vx_state_session vx_state_session_t;
typedef vx_state_session_ref_t
Creates a state_session list with the given size.typedef vx_state_session_t* vx_state_session_ref_t;
typedef vx_state_session_list_t
typedef vx_state_session_ref_t* vx_state_session_list_t;
typedef vx_state_sessiongroup_t
State session group. Only used for state dump.typedef struct vx_state_sessiongroup vx_state_sessiongroup_t;
typedef vx_state_sessiongroup_ref_t
Creates a state_sessiongroup list with the given size.typedef vx_state_sessiongroup_t* vx_state_sessiongroup_ref_t;
typedef vx_state_sessiongroup_list_t
typedef vx_state_sessiongroup_ref_t* vx_state_sessiongroup_list_t;
typedef vx_state_account_t
State account. Only used for state dump.typedef struct vx_state_account vx_state_account_t;
typedef vx_state_account_ref_t
Creates a state_account list with the given size.typedef vx_state_account_t* vx_state_account_ref_t;
typedef vx_state_account_list_t
typedef vx_state_account_ref_t* vx_state_account_list_t;
typedef vx_state_connector_t
State connector. Only used for state dump.typedef struct vx_state_connector vx_state_connector_t;
typedef vx_state_connector_ref_t
Creates a state_connector list with the given size.typedef vx_state_connector_t* vx_state_connector_ref_t;
typedef vx_state_connector_list_t
typedef vx_state_connector_ref_t* vx_state_connector_list_t;
typedef vx_channel_t
Channel struct.typedef struct vx_channel vx_channel_t;
typedef vx_channel_ref_t
typedef vx_channel_t* vx_channel_ref_t;
typedef vx_channel_list_t
typedef vx_channel_ref_t* vx_channel_list_t;
typedef vx_voice_font_t
Voice font struct.typedef struct vx_voice_font vx_voice_font_t;
typedef vx_voice_font_ref_t
typedef vx_voice_font_t* vx_voice_font_ref_t;
typedef vx_voice_font_list_t
typedef vx_voice_font_ref_t* vx_voice_font_list_t;
typedef vx_block_rule_t
typedef struct vx_block_rule vx_block_rule_t;
typedef vx_block_rule_ref_t
typedef vx_block_rule_t* vx_block_rule_ref_t;
typedef vx_block_rules_t
typedef vx_block_rule_ref_t* vx_block_rules_t;
typedef vx_auto_accept_rule_t
typedef struct vx_auto_accept_rule vx_auto_accept_rule_t;
typedef vx_auto_accept_rule_ref_t
typedef vx_auto_accept_rule_t* vx_auto_accept_rule_ref_t;
typedef vx_auto_accept_rules_t
typedef vx_auto_accept_rule_ref_t* vx_auto_accept_rules_t;
typedef vx_user_channel_t
typedef struct vx_user_channel vx_user_channel_t;
typedef vx_user_channel_ref_t
typedef vx_user_channel_t* vx_user_channel_ref_t;
typedef vx_user_channels_t
typedef vx_user_channel_ref_t* vx_user_channels_t;
typedef vx_connectivity_test_result_t
test_type - Enumeration that defines the test performed (for values, see appendix ?15.8). error_code - Enumeration that defines the error or success of the test (for values, see appendix ?15.9). test_additional_info - Any additional information for this test. For example, this could be the IP addresses used, port numbers, or error information.typedef struct vx_connectivity_test_result vx_connectivity_test_result_t;
typedef vx_connectivity_test_result_ref_t
typedef vx_connectivity_test_result_t* vx_connectivity_test_result_ref_t;
typedef vx_connectivity_test_results_t
typedef vx_connectivity_test_result_ref_t* vx_connectivity_test_results_t;
typedef vx_account_t
typedef struct vx_account vx_account_t;
typedef vx_device_type_t
The type of device.typedef enum vx_device_type vx_device_type_t;
typedef vx_device_t
typedef struct vx_device vx_device_t;
typedef vx_device_ref_t
typedef vx_device_t* vx_device_ref_t;
typedef vx_devices_t
typedef vx_device_ref_t* vx_devices_t;
typedef vx_buddy_t
typedef struct vx_buddy vx_buddy_t;
typedef vx_buddy_ref_t
typedef vx_buddy_t* vx_buddy_ref_t;
typedef vx_buddy_list_t
typedef vx_buddy_ref_t* vx_buddy_list_t;
typedef vx_group_t
typedef struct vx_group vx_group_t;
typedef vx_group_ref_t
typedef vx_group_t* vx_group_ref_t;
typedef vx_group_list_t
typedef vx_group_ref_t* vx_group_list_t;
typedef vx_name_value_pair_t
typedef struct vx_name_value_pair vx_name_value_pair_t;
typedef vx_name_value_pair_ref_t
typedef vx_name_value_pair_t* vx_name_value_pair_ref_t;
typedef vx_name_value_pairs_t
typedef vx_name_value_pair_ref_t* vx_name_value_pairs_t;
typedef vx_conversation_t
typedef struct vx_conversation vx_conversation_t;
typedef vx_conversation_ref_t
typedef vx_conversation_t* vx_conversation_ref_t;
typedef vx_conversation_list_t
typedef vx_conversation_ref_t* vx_conversation_list_t;
typedef vx_stat_sample_t
typedef struct vx_stat_sample vx_stat_sample_t;
typedef vx_stat_thread_t
typedef struct vx_stat_thread vx_stat_thread_t;
typedef vx_system_stats_t
typedef struct vx_system_stats vx_system_stats_t;
typedef vx_application_state_notification_type_t
Indicates the state of the application. Note: Valid only on mobile platforms.typedef enum vx_application_state_notification_type vx_application_state_notification_type_t;
typedef vxa_status_t
The common return code for vxa* methods.typedef int vxa_status_t;
typedef vxa_capture_device_stats_t
Get statistics that are useful for debugging audio capture issues.typedef struct vxa_capture_device_stats_t vxa_capture_device_stats_t;
typedef vxa_render_device_stats_t
Get statistics that are useful for debugging audio render issues.typedef struct vxa_render_device_stats_t vxa_render_device_stats_t;
typedef vx_crash_test_type_t
Values for vx_crash_test( crash type ).typedef enum vx_crash_test_type vx_crash_test_type_t;
typedef vx_vxd_t
The Vivox eXtended Data (VXD) that is received.typedef struct vx_vxd vx_vxd_t;
typedef vx_tts_manager_id
typedef unsigned int vx_tts_manager_id;
typedef vx_tts_utterance_id
typedef unsigned int vx_tts_utterance_id;
typedef vx_tts_voice_id
typedef unsigned int vx_tts_voice_id;
typedef vx_tts_utterance_impl_t
typedef struct vx_tts_utterance_impl vx_tts_utterance_impl_t;
typedef vx_tts_utterance_t
Text-to-speech utterance.typedef struct vx_tts_utterance vx_tts_utterance_t;
typedef vx_tts_voice_t
Text-to-speech voice.typedef struct vx_tts_voice vx_tts_voice_t;
Functions Documentation
function vx_cookie_create
Allocate and initialize a cookie.VIVOXSDK_DLLEXPORT int vx_cookie_create( const char * value, VX_COOKIE * cookie)
function vx_cookie_free
Free a cookie.VIVOXSDK_DLLEXPORT int vx_cookie_free( VX_COOKIE * cookie)
function vx_state_buddy_contact_create
VIVOXSDK_DLLEXPORT int vx_state_buddy_contact_create( vx_state_buddy_contact_t ** contact)
function vx_state_buddy_contact_free
VIVOXSDK_DLLEXPORT int vx_state_buddy_contact_free( vx_state_buddy_contact_t * contact)
function vx_state_buddy_contact_list_create
VIVOXSDK_DLLEXPORT int vx_state_buddy_contact_list_create( int size, vx_state_buddy_contact_list_t * list_out)
function vx_state_buddy_contact_list_free
VIVOXSDK_DLLEXPORT int vx_state_buddy_contact_list_free( vx_state_buddy_contact_t ** list, int size)
function vx_state_buddy_create
VIVOXSDK_DLLEXPORT int vx_state_buddy_create( vx_state_buddy_t ** buddy)
function vx_state_buddy_free
VIVOXSDK_DLLEXPORT int vx_state_buddy_free( vx_state_buddy_t * buddy)
function vx_state_buddy_list_create
VIVOXSDK_DLLEXPORT int vx_state_buddy_list_create( int size, vx_state_buddy_list_t * list_out)
function vx_state_buddy_list_free
VIVOXSDK_DLLEXPORT int vx_state_buddy_list_free( vx_state_buddy_t ** list, int size)
function vx_state_buddy_group_create
VIVOXSDK_DLLEXPORT int vx_state_buddy_group_create( vx_state_buddy_group_t ** group)
function vx_state_buddy_group_free
VIVOXSDK_DLLEXPORT int vx_state_buddy_group_free( vx_state_buddy_group_t * group)
function vx_state_buddy_group_list_create
VIVOXSDK_DLLEXPORT int vx_state_buddy_group_list_create( int size, vx_state_buddy_group_list_t * list_out)
function vx_state_buddy_group_list_free
VIVOXSDK_DLLEXPORT int vx_state_buddy_group_list_free( vx_state_buddy_group_t ** list, int size)
function vx_participant_create
VIVOXSDK_DLLEXPORT int vx_participant_create( vx_participant_t ** participant)
function vx_participant_free
VIVOXSDK_DLLEXPORT int vx_participant_free( vx_participant_t * participant)
function vx_participant_list_create
VIVOXSDK_DLLEXPORT int vx_participant_list_create( int size, vx_participant_list_t * list_out)
function vx_participant_list_free
VIVOXSDK_DLLEXPORT int vx_participant_list_free( vx_participant_t ** list, int size)
function vx_state_participant_create
VIVOXSDK_DLLEXPORT int vx_state_participant_create( vx_state_participant_t ** state_participant)
function vx_state_participant_free
VIVOXSDK_DLLEXPORT int vx_state_participant_free( vx_state_participant_t * state_participant)
function vx_state_participant_list_create
VIVOXSDK_DLLEXPORT int vx_state_participant_list_create( int size, vx_state_participant_list_t * list_out)
function vx_state_participant_list_free
VIVOXSDK_DLLEXPORT int vx_state_participant_list_free( vx_state_participant_t ** list, int size)
function vx_state_session_create
VIVOXSDK_DLLEXPORT int vx_state_session_create( vx_state_session_t ** state_session)
function vx_state_session_free
VIVOXSDK_DLLEXPORT int vx_state_session_free( vx_state_session_t * state_session)
function vx_state_session_list_create
VIVOXSDK_DLLEXPORT int vx_state_session_list_create( int size, vx_state_session_list_t * list_out)
function vx_state_session_list_free
VIVOXSDK_DLLEXPORT int vx_state_session_list_free( vx_state_session_t ** list, int size)
function vx_state_sessiongroup_create
VIVOXSDK_DLLEXPORT int vx_state_sessiongroup_create( vx_state_sessiongroup_t ** state_sessiongroup)
function vx_state_sessiongroup_free
VIVOXSDK_DLLEXPORT int vx_state_sessiongroup_free( vx_state_sessiongroup_t * state_sessiongroup)
function vx_state_sessiongroup_list_create
VIVOXSDK_DLLEXPORT int vx_state_sessiongroup_list_create( int size, vx_state_sessiongroup_list_t * list_out)
function vx_state_sessiongroup_list_free
VIVOXSDK_DLLEXPORT int vx_state_sessiongroup_list_free( vx_state_sessiongroup_t ** list, int size)
function vx_state_account_create
VIVOXSDK_DLLEXPORT int vx_state_account_create( vx_state_account_t ** state_account)
function vx_state_account_free
VIVOXSDK_DLLEXPORT int vx_state_account_free( vx_state_account_t * state_account)
function vx_state_account_list_create
VIVOXSDK_DLLEXPORT int vx_state_account_list_create( int size, vx_state_account_list_t * list_out)
function vx_state_account_list_free
VIVOXSDK_DLLEXPORT int vx_state_account_list_free( vx_state_account_t ** list, int size)
function vx_state_connector_create
VIVOXSDK_DLLEXPORT int vx_state_connector_create( vx_state_connector_t ** state_connector)
function vx_state_connector_free
VIVOXSDK_DLLEXPORT int vx_state_connector_free( vx_state_connector_t * state_connector)
function vx_state_connector_list_create
VIVOXSDK_DLLEXPORT int vx_state_connector_list_create( int size, vx_state_connector_list_t * list_out)
function vx_state_connector_list_free
VIVOXSDK_DLLEXPORT int vx_state_connector_list_free( vx_state_connector_t ** list, int size)
function vx_channel_create
VIVOXSDK_DLLEXPORT int vx_channel_create( vx_channel_t ** channel)
function vx_channel_free
VIVOXSDK_DLLEXPORT int vx_channel_free( vx_channel_t * channel)
function vx_channel_list_create
VIVOXSDK_DLLEXPORT int vx_channel_list_create( int size, vx_channel_list_t * list_out)
function vx_channel_list_free
VIVOXSDK_DLLEXPORT int vx_channel_list_free( vx_channel_t ** list, int size)
function vx_voice_font_create
VIVOXSDK_DLLEXPORT int vx_voice_font_create( vx_voice_font_t ** channel)
function vx_voice_font_free
VIVOXSDK_DLLEXPORT int vx_voice_font_free( vx_voice_font_t * channel)
function vx_voice_font_list_create
VIVOXSDK_DLLEXPORT int vx_voice_font_list_create( int size, vx_voice_font_list_t * list_out)
function vx_voice_font_list_free
VIVOXSDK_DLLEXPORT int vx_voice_font_list_free( vx_voice_font_t ** list, int size)
function vx_string_list_create
VIVOXSDK_DLLEXPORT int vx_string_list_create( int size, char *** list_out)
function vx_string_list_free
VIVOXSDK_DLLEXPORT int vx_string_list_free( char ** list)
function vx_block_rule_create
VIVOXSDK_DLLEXPORT int vx_block_rule_create( vx_block_rule_t ** block_rule)
function vx_block_rule_free
VIVOXSDK_DLLEXPORT int vx_block_rule_free( vx_block_rule_t * block_rule)
function vx_block_rules_create
VIVOXSDK_DLLEXPORT int vx_block_rules_create( int size, vx_block_rules_t * list_out)
function vx_block_rules_free
VIVOXSDK_DLLEXPORT int vx_block_rules_free( vx_block_rule_t ** list, int size)
function vx_auto_accept_rule_create
VIVOXSDK_DLLEXPORT int vx_auto_accept_rule_create( vx_auto_accept_rule_t ** auto_accept_rule)
function vx_auto_accept_rule_free
VIVOXSDK_DLLEXPORT int vx_auto_accept_rule_free( vx_auto_accept_rule_t * auto_accept_rule)
function vx_auto_accept_rules_create
VIVOXSDK_DLLEXPORT int vx_auto_accept_rules_create( int size, vx_auto_accept_rules_t * list_out)
function vx_auto_accept_rules_free
VIVOXSDK_DLLEXPORT int vx_auto_accept_rules_free( vx_auto_accept_rule_t ** list, int size)
function vx_user_channel_create
VIVOXSDK_DLLEXPORT int vx_user_channel_create( vx_user_channel_t ** user_channel)
function vx_user_channel_free
VIVOXSDK_DLLEXPORT int vx_user_channel_free( vx_user_channel_t * user_channel)
function vx_user_channels_create
VIVOXSDK_DLLEXPORT int vx_user_channels_create( int size, vx_user_channels_t * list_out)
function vx_user_channels_free
VIVOXSDK_DLLEXPORT int vx_user_channels_free( vx_user_channel_t ** list, int size)
function vx_connectivity_test_result_create
VIVOXSDK_DLLEXPORT int vx_connectivity_test_result_create( vx_connectivity_test_result_t ** connectivity_test_result, ND_TEST_TYPE tt)
function vx_connectivity_test_result_free
VIVOXSDK_DLLEXPORT int vx_connectivity_test_result_free( vx_connectivity_test_result_t * connectivity_test_result)
function vx_connectivity_test_results_create
VIVOXSDK_DLLEXPORT int vx_connectivity_test_results_create( int size, vx_connectivity_test_results_t * list_out)
function vx_connectivity_test_results_free
VIVOXSDK_DLLEXPORT int vx_connectivity_test_results_free( vx_connectivity_test_result_t ** list, int size)
function vx_account_create
VIVOXSDK_DLLEXPORT int vx_account_create( vx_account_t ** account)
function vx_account_free
VIVOXSDK_DLLEXPORT int vx_account_free( vx_account_t * account)
function vx_device_create
VIVOXSDK_DLLEXPORT int vx_device_create( vx_device_t ** device)
function vx_device_free
VIVOXSDK_DLLEXPORT int vx_device_free( vx_device_t * device)
function vx_devices_create
VIVOXSDK_DLLEXPORT int vx_devices_create( int size, vx_devices_t * list_out)
function vx_devices_free
VIVOXSDK_DLLEXPORT int vx_devices_free( vx_device_t ** list, int size)
function vx_buddy_create
VIVOXSDK_DLLEXPORT int vx_buddy_create( vx_buddy_t ** buddy)
function vx_buddy_free
VIVOXSDK_DLLEXPORT int vx_buddy_free( vx_buddy_t * buddy)
function vx_buddy_list_create
VIVOXSDK_DLLEXPORT int vx_buddy_list_create( int size, vx_buddy_list_t * list_out)
function vx_buddy_list_free
VIVOXSDK_DLLEXPORT int vx_buddy_list_free( vx_buddy_t ** list, int size)
function vx_group_create
VIVOXSDK_DLLEXPORT int vx_group_create( vx_group_t ** group)
function vx_group_free
VIVOXSDK_DLLEXPORT int vx_group_free( vx_group_t * group)
function vx_group_list_create
VIVOXSDK_DLLEXPORT int vx_group_list_create( int size, vx_group_list_t * list_out)
function vx_group_list_free
VIVOXSDK_DLLEXPORT int vx_group_list_free( vx_group_t ** list, int size)
function vx_name_value_pair_create
VIVOXSDK_DLLEXPORT int vx_name_value_pair_create( vx_name_value_pair_t ** nvpair)
function vx_name_value_pair_free
VIVOXSDK_DLLEXPORT int vx_name_value_pair_free( vx_name_value_pair_t * nvpair)
function vx_name_value_pairs_create
VIVOXSDK_DLLEXPORT int vx_name_value_pairs_create( int size, vx_name_value_pairs_t * list_out)
function vx_name_value_pairs_free
VIVOXSDK_DLLEXPORT int vx_name_value_pairs_free( vx_name_value_pair_t ** list, int size)
function vx_conversation_create
VIVOXSDK_DLLEXPORT int vx_conversation_create( vx_conversation_t ** conversation)
function vx_conversation_free
VIVOXSDK_DLLEXPORT int vx_conversation_free( vx_conversation_t * conversation)
function vx_conversation_list_create
VIVOXSDK_DLLEXPORT int vx_conversation_list_create( int size, vx_conversation_list_t * list_out)
function vx_conversation_list_free
VIVOXSDK_DLLEXPORT int vx_conversation_list_free( int size, vx_conversation_t ** list)
function vx_strdup
Allocate string data to send to the SDK. Note: This function will not work until vx_initialize3() is called and after vx_uninitialize() is called.VIVOXSDK_DLLEXPORT char * vx_strdup( const char * )
function vx_free
Free string data returned to the application. Note: This function will not work until vx_initialize3() is called and after vx_uninitialize() is called. This function is rarely used in practice.VIVOXSDK_DLLEXPORT int vx_free( char * )
function vx_unallocate
VIVOXSDK_DLLEXPORT int vx_unallocate( void * p)
function vx_allocate
VIVOXSDK_DLLEXPORT void * vx_allocate( size_t nBytes)
function vx_reallocate
VIVOXSDK_DLLEXPORT void * vx_reallocate( void * p, size_t nBytes)
function vx_calloc
VIVOXSDK_DLLEXPORT void * vx_calloc( size_t num, size_t bytesPerElement)
function vx_allocate_aligned
VIVOXSDK_DLLEXPORT void * vx_allocate_aligned( size_t alignment, size_t size)
function vx_unallocate_aligned
VIVOXSDK_DLLEXPORT int vx_unallocate_aligned( void * p)
function vx_get_message
The VxSDK polling function. Parameters:VIVOXSDK_DLLEXPORT int vx_get_message( vx_message_base_t ** message)
- message [out] The object containing the message data.
function vx_issue_request
Parameters:VIVOXSDK_DLLEXPORT int vx_issue_request( vx_req_base_t * request)
- request The request object to execute. This is of one of the vx_req_* structs.
function vx_issue_request2
Execute the given request. Parameters:VIVOXSDK_DLLEXPORT int vx_issue_request2( vx_req_base_t * request)
- request The request object to execute. This is of one of the vx_req_* structs.
function vx_issue_request3
Execute the given request. Parameters:VIVOXSDK_DLLEXPORT int vx_issue_request3( vx_req_base_t * request, int * request_count)
- request The request object to execute. This is of one of the vx_req_* structs.
- request_count If non-null, vx_issue_request3 outputs the number of requests that are still outstanding. Requests at a rate of 12 requests per second - an application can use this value to determine if the application is issuing requests at an unacceptable rate.
function vx_request_to_xml
Get the XML for the given request. Parameters:VIVOXSDK_DLLEXPORT int vx_request_to_xml( void * request, char ** xml)
- request The request object.
- xml [out] The XML string.
function vx_xml_to_request
Get a request for the given XML string. Parameters:VIVOXSDK_DLLEXPORT vx_request_type vx_xml_to_request( const char * xml, void ** request, char ** error)
- xml The XML string.
- request [out] The request struct.
- error [out] The XML parse error string (if any error occurs). NULL otherwise.
function vx_response_to_xml
Get the XML for the given response. Parameters:VIVOXSDK_DLLEXPORT int vx_response_to_xml( void * response, char ** xml)
- response The response object.
- xml [out] The XML string.
function vx_xml_to_response
Get a response for the given XML string. Parameters:VIVOXSDK_DLLEXPORT vx_response_type vx_xml_to_response( const char * xml, void ** response, char ** error)
- xml The XML string.
- response [out] The response struct.
- error [out] The XML parse error string (if any error occurs). NULL otherwise.
function vx_event_to_xml
Get the XML for the given event. Parameters:VIVOXSDK_DLLEXPORT int vx_event_to_xml( void * event, char ** xml)
- event The event object.
- xml [out] The XML string.
function vx_xml_to_event
Get a event for the given XML string. Parameters:VIVOXSDK_DLLEXPORT vx_event_type vx_xml_to_event( const char * xml, void ** event, char ** error)
- xml The XML string.
- event [out] The event struct.
- error [out] The XML parse error string (if any error occurs). NULL otherwise.
function vx_get_message_type
Determine whether the XML refers to a request, response, or event.VIVOXSDK_DLLEXPORT vx_message_type vx_get_message_type( const char * xml)
function vx_get_time_ms
Get Millisecond Counter.VIVOXSDK_DLLEXPORT unsigned long long vx_get_time_ms( void )
function vx_get_time_milli_seconds
Get Millisecond Counter.VIVOXSDK_DLLEXPORT unsigned long long vx_get_time_milli_seconds( void )
function vx_get_time_micro_seconds
Get Microsecond Counter.VIVOXSDK_DLLEXPORT unsigned long long vx_get_time_micro_seconds( void )
function vx_sleep_milli_seconds
Sleep for the specified number of milliseconds. Parameters:VIVOXSDK_DLLEXPORT long long vx_sleep_milli_seconds( unsigned long long milli_seconds)
- milli_seconds [in] Duration to sleep in milliseconds.
function vx_register_message_notification_handler
Register a callback that is called when a message is placed in the queue. The application should use this to signal the main application thread that will then wakeup and call vx_get_message;VIVOXSDK_DLLEXPORT int vx_register_message_notification_handler( void(*)(void *) pf_handler, void * cookie)
function vx_unregister_message_notification_handler
Unregister a notification handler.VIVOXSDK_DLLEXPORT int vx_unregister_message_notification_handler( void(*)(void *) pf_handler, void * cookie)
function vx_wait_for_message
Block the caller until a message is available. Returns NULL if no message was available within the allotted time.VIVOXSDK_DLLEXPORT vx_message_base_t * vx_wait_for_message( int msTimeout)
function vx_register_logging_initialization
Register a callback that is called to initialize logging. The application should use this to signal the main application thread that will then wakeup and call vx_get_message;VIVOXSDK_DLLEXPORT int vx_register_logging_initialization( vx_log_type log_type, const char * log_folder, const char * log_filename_prefix, const char * log_filename_suffix, int log_level, void(*)(const char *source, const char *level, const char *message) pf_handler)
function vx_get_log_file_path
Deprecated: File logging is not supported. Get the SDK log file path.VIVOXSDK_DLLEXPORT char * vx_get_log_file_path( void )
function vx_unregister_logging_handler
Unregister the logging callback notification handler. Parameters:VIVOXSDK_DLLEXPORT int vx_unregister_logging_handler( void(*)(void *) pf_handler, void * cookie)
- pf_handler - OBSOLETE AND UNUSED
- cookie - OBSOLETE AND UNUSED
function vx_create_account
VIVOXSDK_DLLEXPORT int vx_create_account( const char * acct_mgmt_server, const char * admin_name, const char * admin_pw, const char * uname, const char * pw)
function vx_get_crash_dump_count
The number of crash dumps stored on disk. Note: Not supported on mobile or console platforms.VIVOXSDK_DLLEXPORT int vx_get_crash_dump_count( void )
function vx_set_crash_dump_generation_enabled
Enable crash dump generation. Note: Not supported on mobile or console platforms.VIVOXSDK_DLLEXPORT int vx_set_crash_dump_generation_enabled( int value)
function vx_get_crash_dump_generation
Determine if crash dump generation is enabled. Note: Not supported on mobile or console platforms.VIVOXSDK_DLLEXPORT int vx_get_crash_dump_generation( void )
function vx_read_crash_dump
Get the Base64-encoded crash dump information. Note: Not supported on mobile or console platforms.VIVOXSDK_DLLEXPORT char * vx_read_crash_dump( int index)
function vx_get_crash_dump_timestamp
Get the timestamp of a crash. Note: Not supported on mobile or console platforms.VIVOXSDK_DLLEXPORT time_t vx_get_crash_dump_timestamp( int index)
function vx_delete_crash_dump
Delete the crash dump. Note: Not supported on mobile or console platforms.VIVOXSDK_DLLEXPORT int vx_delete_crash_dump( int index)
function vx_on_application_exit
Some applications may need to call this routine before exiting. Note: Applications must call vx_uninitialize() before calling this routine. Attention: PC, console, and mobile applications are not required to call this routine because it has no effect for applications on these platforms.VIVOXSDK_DLLEXPORT int vx_on_application_exit( void )
function vx_get_sdk_version_info
Get the SDK version info.VIVOXSDK_DLLEXPORT const char * vx_get_sdk_version_info( void )
function vx_get_sdk_version_info_ex
Get the SDK extended version info.VIVOXSDK_DLLEXPORT const char * vx_get_sdk_version_info_ex( void )
function vx_apply_font_to_file
Apply a Vivox voice font to a .wav file. Parameters:VIVOXSDK_DLLEXPORT int vx_apply_font_to_file( const char * fontDefinition, const char * inputFile, const char * outputFile)
- fontDefinition - A string that contains the font "definition" in XML format.
- inputFile - A string that contains the path to the input .wav file, which contains the "unmodified" voice.
- outputFile - A string that contains the path to the output .wav file with the font applied.
function vx_apply_font_to_file_return_energy_ratio
Apply a Vivox voice font to a .wav file and return the energy ratio (Output Energy/Input Energy). Parameters:VIVOXSDK_DLLEXPORT int vx_apply_font_to_file_return_energy_ratio( const char * fontDefinition, const char * inputFile, const char * outputFile, double * energyRatio)
- fontDefinition - A string that contains the font "definition" in XML format.
- inputFile - A string that contains the path to the input .wav file, which contains the "unmodified" voice.
- outputFile - A string that contains the path to the output .wav file with the font applied.
- energyRatio - The Raw Energy ratio between the input and output audio.
function vx_apply_font_to_vxz_file_return_energy_ratio
Apply a Vivox voice font to a .vxz file and return the energy ratio (Output Energy/Input Energy) Parameters:VIVOXSDK_DLLEXPORT int vx_apply_font_to_vxz_file_return_energy_ratio( const char * fontDefinition, const char * inputFile, const char * outputFile, double * energyRatio)
- fontDefinition - A string that contains the font "definition" in XML format.
- inputFile - A string that contains the path to the input .vxz file, which contans the "unmodified" voice.
- outputFile - A string that contains the path to the output .wav file with the font applied.
- energyRatio - The Raw Energy ratio between the input and output audio.
function vx_copy_audioBuffer
Create a copy of the internal local audio buffer associated with the vx_req_aux_start_buffer_capture_t request/response. Parameters:VIVOXSDK_DLLEXPORT void * vx_copy_audioBuffer( void * audioBufferPtr)
- audioBufferPtr - A void pointer that should be passed in uninitialized.
function vx_get_audioBuffer_duration
Get the duration of the audio buffer in seconds. Parameters:VIVOXSDK_DLLEXPORT double vx_get_audioBuffer_duration( void * audioBufferPtr)
- audioBufferPtr - A void pointer that should be passed in uninitialized.
function vx_get_audioBuffer_sample_rate
Get the sample rate of the audio buffer. Parameters:VIVOXSDK_DLLEXPORT int vx_get_audioBuffer_sample_rate( void * audioBufferPtr)
- audioBufferPtr - A pointer to audio data in a Vivox proprietary format.
function vx_free_audioBuffer
Free up all memory associated with an allocated Vivox audioBufferPtr. Parameters:VIVOXSDK_DLLEXPORT int vx_free_audioBuffer( void ** audioBufferPtr)
- audioBufferPtr - A pointer to audio data in a Vivox proprietary format.
function vx_export_audioBuffer_to_pcm
Export audio data in an audioBufferPtr to a memory buffer as PCM. Parameters:VIVOXSDK_DLLEXPORT int vx_export_audioBuffer_to_pcm( void * audioBufferPtr, short * pcmBuffer, int maxSamples)
- audioBufferPtr - A pointer to audio data in a Vivox proprietary format.
- pcmBuffer - A pointer to the pre-allocated memory buffer.
- maxSamples - The length of the buffer in samples.
function vx_export_audioBuffer_to_wav_file
Export audio data in an audioBufferPtr to a .wav file. Parameters:VIVOXSDK_DLLEXPORT int vx_export_audioBuffer_to_wav_file( void * audioBufferPtr, const char * outputFile)
- audioBufferPtr - A pointer to audio data in a Vivox proprietary format.
- outputFile - A string that contains the path to the output .wav file.
function vx_export_audioBuffer_to_memory
Export audio data in an audioBufferPtr to memory. Parameters:VIVOXSDK_DLLEXPORT int vx_export_audioBuffer_to_memory( void * audioBufferPtr, short ** audioBufferOut, int * nSamplesOut, int * sampleRateOut, int * nChannelsOut)
- audioBufferPtr - A pointer to audio data in a Vivox proprietary format.
- audioBufferOut - An interleaved (if stereo) audio buffer of PCM-encoded audio. Note that this must be freed with vx_free().
- nSamplesOut - The number of samples.
- sampleRateOut - The sample rate of the audio buffer.
- nChannelsOut - The number of channels in the buffer.
function vx_set_out_of_process_server_address
Set the default out of process server address. Parameters:VIVOXSDK_DLLEXPORT int vx_set_out_of_process_server_address( const char * address, unsigned short port)
- address - The address of the out of process server. Use "127.0.0.1" for most applications.
- port - port - Use 44125 for most applications.
function vx_initialize
Return: - 0 if successful, non-zero if failed.VIVOXSDK_DLLEXPORT int vx_initialize( void )
function vx_initialize3
An application must call this API before calling any other Vivox API, except vx_get_default_config3();. Return: - 0 if successful, non-zero if failed.VIVOXSDK_DLLEXPORT int vx_initialize3( vx_sdk_config_t * config, size_t config_size)
function vx_is_initialized
Check if the Vivox SDK was initialized with an vx_initialize3() call, and not yet uninitialized with an vx_uninitialize() call. Return: - 0 if not initialized, non-zero if initialized.VIVOXSDK_DLLEXPORT int vx_is_initialized( void )
function vx_get_default_config3
An application must call this API before calling any other Vivox API. Return: - 0 if successful, non-zero if failed.VIVOXSDK_DLLEXPORT int vx_get_default_config3( vx_sdk_config_t * config, size_t config_size)
function vx_uninitialize
An application must call this before exit. Return: - 0 if successful, non-zero if failed.VIVOXSDK_DLLEXPORT int vx_uninitialize( void )
function vx_debug_call
VIVOXSDK_DLLEXPORT int vx_debug_call( void * )
function vx_get_system_stats
Get statistics about various system internals. Return: - 0 if successful, non-zero if failed.VIVOXSDK_DLLEXPORT int vx_get_system_stats( vx_system_stats_t * system_stats)
function vx_get_int_var
Get named variables. Parameters:VIVOXSDK_DLLEXPORT int vx_get_int_var( const char * var_name, int * p_value)
- var_name - The name of the variable.
- p_value - Where to store the value of the variable.
function vx_set_int_var
Set named variables. Parameters:VIVOXSDK_DLLEXPORT int vx_set_int_var( const char * var_name, int value)
- var_name - The name of the variable.
- - The integer value to set.
function vx_destroy_message
Deallocate any message of any type.VIVOXSDK_DLLEXPORT int vx_destroy_message( vx_message_base_t * message)
function vx_debug_generate_token
Generate a Vivox Access Token. Parameters:VIVOXSDK_DLLEXPORT char * vx_debug_generate_token( const char * issuer, vx_time_t expiration, const char * vxa, unsigned long long serial, const char * subject, const char * from_uri, const char * to_uri, const unsigned char * key, size_t key_len)
- issuer - A standard issuer claim.
- expiration - A standard expiration time claim. If set to (vx_time_t)-1, uses the default time of now(0)+300.
- vxa - A Vivox action, for example, "login", "join", "kick", or "mute".
- serial number - Use this to guarantee uniqueness within an epoch second.
- subject - Optional: The URI of the target of the actions "kick" and "mute". NULL otherwise.
- from_uri - A SIP From URI.
- to_uri - A SIP To URI.
- key - A token-signing key
- key_len - The length of the token-signing key.
function vx_get_http
Synchronously download the contents of the specified URL with the GET method. Parameters:VIVOXSDK_DLLEXPORT unsigned int vx_get_http( const char * url, unsigned int * response_code, char ** content, size_t * content_len, char ** content_type, size_t * content_type_len)
- url - [in] The URL of the resource to download.
- response_code - [out] A pointer to the returned response code (0 on error, >= 200 after the request finished).
- content - [out] A pointer to the downloaded content is stored here, and is guaranteed to be NULL-terminated. The memory is allocated automatically. Use vx_free_http() to free up the allocated buffers.
- content_len - [out] A pointer to the returned content length.
- content_type - [out] A pointer to the downloaded content type is stored here, and is guaranteed to be NULL-terminated. The memory is allocated automatically. Use vx_free_http() to free up the allocated buffers.
- content_type_len - [out] A pointer to the returned content type length.
function vx_free_http
Free the memory allocated during the vx_get_http() call. Parameters:VIVOXSDK_DLLEXPORT int vx_free_http( char ** content, char ** content_type)
- content - [in] The same value as what is passed to vx_get_http().
- content_type - [in] The same value as what is passed to vx_get_http().
function vx_get_random_user_id
Get a random guest user ID with the given prefix. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_random_user_id( const char * prefix)
- - [in] prefix The prefix for the user.
function vx_get_random_user_id_ex
Get a random guest user ID for the given issuer with the given prefix. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_random_user_id_ex( const char * prefix, const char * issuer)
- prefix - [in] The prefix for the user.
- issuer - [in, optional] The issuer. If NULL or an empty string is passed, the generated user ID is the same as what is generated by vx_get_random_user_id().
function vx_get_random_channel_uri
Get a random ephemeral channel ID with the given prefix for the specific realm. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_random_channel_uri( const char * prefix, const char * realm)
- prefix - [in] The prefix for the channel.
- realm - [in] The realm for that channel (for example, mt1s.vivox.com).
function vx_get_random_channel_uri_ex
Get a random ephemeral channel ID for the given issuer with the given prefix for the specific realm. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_random_channel_uri_ex( const char * prefix, const char * realm, const char * issuer)
- prefix - [in] The prefix for the channel.
- realm - [in] The realm for that channel (for example, mt1s.vivox.com).
- issuer - [in, optional] The issuer. If NULL or an empty string is passed, the generated channel ID is the same as what is generated by vx_get_random_channel_uri().
function vx_get_user_uri
Generate the fully specified URI of a user with the given name for the given realm and issuer. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_user_uri( const char * name, const char * realm, const char * issuer)
- name - [in] The unique account name that you assigned to the user.
- realm - [in] The realm for that user (for example, mt1s.vivox.com).
- issuer - [in, optional] The issuer. If NULL or an empty string is passed, the generated user URI is the same as what is generated with no argument.
function vx_get_echo_channel_uri
Generate the fully specified URI of an echo channel with the given name for the given realm and issuer. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_echo_channel_uri( const char * name, const char * realm, const char * issuer)
- name - [in] The name you assigned to the channel.
- realm - [in] The realm for that channel (for example, mt1s.vivox.com).
- issuer - [in, optional] The issuer. If NULL or an empty string is passed, the generated user URI is the same as what is generated with no argument.
function vx_get_general_channel_uri
Generate the fully specified URI of a general non-positional channel with the given name for the given realm and issuer. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_general_channel_uri( const char * name, const char * realm, const char * issuer)
- name - [in] The name you assigned to the channel.
- realm - [in] The realm for that channel (for example, mt1s.vivox.com).
- issuer - [in, optional] The issuer. If NULL or an empty string is passed, the generated user URI is the same as what is generated with no argument.
function vx_get_positional_channel_uri
Generate the fully specified URI of a positional channel with the given name and 3D properties for the given realm and issuer. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_positional_channel_uri( const char * name, const char * realm, int max_range, int clamping_distance, double rolloff, vx_channel_rolloff_curve_type distance_model, const char * issuer)
- name - [in] The name you assigned to the channel.
- realm - [in] The realm for that channel (for example, mt1s.vivox.com).
- max_range - [in] The maximum distance from the listener at which a speaker can be heard. This must be an integer > 0.
- clamping_distance - [in] The distance from the listener at which a speaker’s voice is heard at its original volume. This must be an integer in the range 0 <= clamping_distance <= max_range.
- rolloff - [in] The strength of the volume attenuation as the speaker moves away from the listener. This must be a floating point value >= 0 that is rounded to three decimal places.
- distance_model - [in] The curve that determines volume attenuation at distances between the clamping_distance and max_range, scaled by the rolloff.
- issuer - [in, optional] The issuer. If NULL or an empty string is passed, the generated user URI is the same as what is generated with no argument.
function vx_uri_to_string
Return a textual representation of the compositional elements of a Vivox URI, suitable for logging. Parameters:VIVOXSDK_DLLEXPORT char * vx_uri_to_string( int is_multitenant, const char * uri)
- is_multitenant - [in] 1 if the URI includes a token issuer, or 0 otherwise.
- uri - [in] A fully specified URI representing a Vivox user or channel.
function vx_opus_set_bit_rate
Set the bitrate for all OPUS encoders. Parameters:VIVOXSDK_DLLEXPORT int vx_opus_set_bit_rate( int bits_per_second)
- bits_per_second - [in] The requested bitrate, 6000-128000 bit/s.
function vx_opus_get_bit_rate
Get the current OPUS bitrate. Parameters:VIVOXSDK_DLLEXPORT int vx_opus_get_bit_rate( int * p_bits_per_second)
- p_bits_per_second - [out] A pointer to the returned value.
function vx_opus_set_complexity
Set the complexity for all OPUS encoders. Parameters:VIVOXSDK_DLLEXPORT int vx_opus_set_complexity( int complexity)
- complexity - [in] The requested complexity, 0-10.
function vx_opus_get_complexity
Get the current OPUS complexity. Parameters:VIVOXSDK_DLLEXPORT int vx_opus_get_complexity( int * p_complexity)
- p_complexity - [out] A pointer to the returned value.
function vx_opus_set_vbr_mode
Set the VBR mode for all OPUS encoders. Parameters:VIVOXSDK_DLLEXPORT int vx_opus_set_vbr_mode( int vbr_mode)
- vbr_mode - [in] The requested mode (vx_opus_vbr_mode).
function vx_opus_get_vbr_mode
Get the current OPUS VBR mode. Parameters:VIVOXSDK_DLLEXPORT int vx_opus_get_vbr_mode( int * p_vbr_mode)
- p_vbr_mode - [out] A pointer to the returned value (vx_opus_vbr_mode).
function vx_opus_set_bandwidth
Set the bandwidth for all OPUS encoders. Parameters:VIVOXSDK_DLLEXPORT int vx_opus_set_bandwidth( int bandwidth)
- bandwidth - [in] The requested bandwidth (vx_opus_bandwidth).
function vx_opus_get_bandwidth
Get the current OPUS bandwidth. Parameters:VIVOXSDK_DLLEXPORT int vx_opus_get_bandwidth( int * p_bandwidth)
- p_bandwidth - [out] A pointer to the returned value (vx_opus_bandwidth).
function vx_get_available_codecs_mask
Get a mask for all available codecs (to be used as configured_codecs).VIVOXSDK_DLLEXPORT unsigned int vx_get_available_codecs_mask( void )
function vx_get_default_codecs_mask
Get a recommended default mask for available codecs (to be used as configured_codecs).VIVOXSDK_DLLEXPORT unsigned int vx_get_default_codecs_mask( void )
function vx_get_dump_memory_interval
Get the current period of the Memory Usage information dumping to logcat. Return: - The sampling interval in seconds. 0 if memory dump is turned off. Note: Android platform only. Does nothing on other platforms.VIVOXSDK_DLLEXPORT int vx_get_dump_memory_interval( void )
function vx_cpumonitor_start
Start the CPU load information dumping to logcat. Parameters:VIVOXSDK_DLLEXPORT int vx_cpumonitor_start( int interval, int report_interval)
- interval - [in] The sampling interval in milliseconds. The recommended value is 1000 milliseconds. It is not recommended to have this value under 100 milliseconds.
- report_interval - [in] The reporting interval in milliseconds. The SDK will dump the collected data to logcat once per reporting interval. The recommended value is 5000 milliseconds. It is not recommended to have this value under 1000 milliseconds.
function vx_cpumonitor_stop
Stop the CPU load information dumping to logcat. Note: Android platform only. Does nothing on other platforms.VIVOXSDK_DLLEXPORT int vx_cpumonitor_stop( void )
function vx_cpumonitor_start_eater
Start the requested number of tight loop threads with the requested priority. Parameters:VIVOXSDK_DLLEXPORT int vx_cpumonitor_start_eater( int nthreads, int priority)
- nthreads - [in] The number of threads with tight loops to start. Passing 0 starts the number of threads matching the number of available device processor cores.
- priority - [in] The scheduling priority to be used for each created thread. 0 leaves the default priority. Valid non-zero values are from -20 (the maximum priority - this is dangerous and should not be used) to 20 (the minimum possible priority). It is recommended that you use value 0 for priority.
function vx_cpumonitor_stop_eater
Stop all the CPU eater threads started with vx_cpumonitor_start_eater() call. Note: Android platform only. Does nothing on other platforms.VIVOXSDK_DLLEXPORT int vx_cpumonitor_stop_eater( void )
function vx_crash_test
Crash the program. Parameters:VIVOXSDK_DLLEXPORT int vx_crash_test( vx_crash_test_type_t crash_type)
- crash_type - The type of crash (see vx_crash_test_type).
function vx_set_message_rate_params
Change the API message rate parameters. Parameters:VIVOXSDK_DLLEXPORT int vx_set_message_rate_params( unsigned bucketSize, float messageSpeed, int fillBucket)
- messageSpeed - Messages per second.
- fillBucket - is bool
function vx_set_default_message_rate_params
Return the API message rate parameters to their default state.VIVOXSDK_DLLEXPORT int vx_set_default_message_rate_params( void )
function vx_android_set_mic_mute
Mute or unmute the mic on Android. Parameters:VIVOXSDK_DLLEXPORT int vx_android_set_mic_mute( int mute)
- mute - Non-zero mutes the microphone; 0 unmutes.
function vx_internal_enable_debug_mode_disable_strict_checks
Internal: enable debug mode and disable the strict parameter check of some requests. Attention: Do not call this function if you are not completely sure of what are you doing!VIVOXSDK_DLLEXPORT int vx_internal_enable_debug_mode_disable_strict_checks( void )
function vx_internal_disable_debug_mode_enable_strict_checks
Internal: disable the debug mode enabled by vx_internal_enable_debug_mode_disable_strict_checks. Attention: Do not call this function if you are not completely sure of what are you doing!VIVOXSDK_DLLEXPORT int vx_internal_disable_debug_mode_enable_strict_checks( void )
function vx_is_access_token_well_formed
Verify whether the passed access token is well-formed. Parameters:VIVOXSDK_DLLEXPORT int vx_is_access_token_well_formed( const char * access_token, char ** error)
- access_token - [in] An access token to check.
- error - [out] An optional pointer to the returned verbose error description. Can be NULL. The returned string must be disposed of with vx_free() call.
function vx_vxd_send
Send VXD into the channel. Parameters:VIVOXSDK_DLLEXPORT int vx_vxd_send( VX_HANDLE session_handle, const char * data, size_t size)
- session_handle - [in] The session handle to send VXD to.
- data - [in] The data to be sent.
- size - [in] The data size in bytes.
function vx_vxd_recv
Receive VXD from the channel. Parameters:VIVOXSDK_DLLEXPORT int vx_vxd_recv( VX_HANDLE session_handle, vx_vxd_t ** vxd_ptr)
- session_handle - [in] The session handle to receive VXD from.
- vxd_ptr - [out] On success, will contain a pointer to the received VXD. Untouched on failure. The caller is responsible for disposing of it with vx_vxd_destroy().
function vx_vxd_destroy
Dispose of the VXD object returned by vx_vxd_recv(). Parameters:VIVOXSDK_DLLEXPORT int vx_vxd_destroy( vx_vxd_t * vxd)
- vxd - [in] VXD to dispose
function vx_get_path
Get a specific path of various files and folders used by the SDK. Parameters:VIVOXSDK_DLLEXPORT char * vx_get_path( unsigned int path_id)
- - The path ID.
function vx_get_dynamic_voice_processing_switching_enabled
Get the current value of the dynamic voice processing switching enabled setting. Parameters:VIVOXSDK_DLLEXPORT int vx_get_dynamic_voice_processing_switching_enabled( int * enabled)
- enabled - [out] A pointer to the returned value (0 if disabled, 1 if enabled).
function vx_set_dynamic_voice_processing_switching_enabled
Enable and disable dynamic voice processing switching. Parameters:VIVOXSDK_DLLEXPORT int vx_set_dynamic_voice_processing_switching_enabled( int enabled)
- enabled - 1 to enable dynamic voice processing switching, and 0 to disable.
function vx_get_ios_voice_processing_io_mode
Get the mode for the ios_voice_processing_io_mode configuration field. Parameters:VIVOXSDK_DLLEXPORT int vx_get_ios_voice_processing_io_mode( int * mode)
- enabled - [out] A pointer to the returned value (2 to always use VPIO, 1 to use VPIO only for speakerphone, 0 to never use the VPIO).
function vx_set_ios_voice_processing_io_mode
Set the mode for the ios_voice_processing_io_mode configuration field. Parameters:VIVOXSDK_DLLEXPORT int vx_set_ios_voice_processing_io_mode( int mode)
- enabled - 2 to always use VPIO, 1 to use VPIO only for speakerphone, 0 to never use the VPIO
function vx_get_platform_aec_enabled
Return an indication of whether platform-provided AEC is being used. Parameters:VIVOXSDK_DLLEXPORT int vx_get_platform_aec_enabled( int * enabled)
- enabled - [out] A pointer to the returned value (0 if disabled, 1 if enabled).
function vx_set_platform_aec_enabled
Enable and disable platform-provided AEC. Parameters:VIVOXSDK_DLLEXPORT int vx_set_platform_aec_enabled( int enabled)
- enabled - 1 to enable platform-provided AEC, or 0 to disable.
01function vx_get_vivox_aec_enabled
Get the internal AEC enabled/disabled state. Return: - 0 if successful, non-zero if failed (SDK not initialized, internal AEC is not supported). Enabling does not force AEC usage, but allows the SDK to use AEC when it is required.VIVOXSDK_DLLEXPORT int vx_get_vivox_aec_enabled( int * enabled)
function vx_set_vivox_aec_enabled
Enable or disable the SDK's internal AEC. Return: - 0 if successful, non-zero if failed (SDK not initialized, internal AEC is not supported). Enabling does not force AEC usage, but allows the SDK to use AEC when it is required.VIVOXSDK_DLLEXPORT int vx_set_vivox_aec_enabled( int enabled)
function vx_get_noise_suppression_enabled
Get the capture audio noise suppressor enabled/disabled state. Return: - 0 if successful, non-zero if failed (SDK not initialized, invalid arguments).VIVOXSDK_DLLEXPORT int vx_get_noise_suppression_enabled( int * enabled)
function vx_get_noise_suppression_level
Get the capture audio noise suppressor suppression level. Return: - 0 if successful, non-zero if failed (SDK not initialized, invalid arguments). If noise suppression is disabled, 'level' reports the noise suppression level that will be used if noise suppression becomes enabled.VIVOXSDK_DLLEXPORT int vx_get_noise_suppression_level( vx_noise_suppression_level * level)
function vx_set_noise_suppression_enabled
Enable or disable the SDK's capture audio noise suppressor. Return: - 0 if successful, non-zero if failed (SDK not initialized).VIVOXSDK_DLLEXPORT int vx_set_noise_suppression_enabled( int enabled)
function vx_set_noise_suppression_level
Set the capture audio noise suppressor's suppression level. Return: - 0 if successful, non-zero if failed (SDK not initialized). A low suppression level slightly reduces steady-state noise while barely affecting voice. A high suppression level greatly reduces steady-state noise but may distort voice.VIVOXSDK_DLLEXPORT int vx_set_noise_suppression_level( vx_noise_suppression_level level)
function vx_set_agc_enabled
Enable or disable the SDK's internal AGC. Return: - 0 if successful, non-zero if failed (SDK not initialized, internal AGC is not supported). Enabling does not force AGC usage, but allows the SDK to use AGC when it is required.VIVOXSDK_DLLEXPORT int vx_set_agc_enabled( int enabled)
function vx_get_agc_enabled
Get the internal AGC enabled/disabled state. Return: - 0 if successful, non-zero if failed (SDK not initialized, internal AGC is not supported). Enabling does not force AGC usage, but allows the SDK to use AGC when it is required.VIVOXSDK_DLLEXPORT int vx_get_agc_enabled( int * enabled)
function vx_set_volume_based_duplication_suppression_enabled
Enable or disable volume based audio duplication suppression. Return: - 0 if successful, non-zero if failed. By default, when a remote participant is transmitting to multiple channels, the SDK will only render the audio once where the participant is loudest. Note that this does not apply to 3D channels, where the SDK always renders the audio of all participants. Disabling this allows the SDK to duplicate audio for local rendering of 2D channels when a remote participant is transmitting to multiple channels.VIVOXSDK_DLLEXPORT int vx_set_volume_based_duplication_suppression_enabled( int enabled)
function vx_get_volume_based_duplication_suppression_enabled
Get the internal state of the volume based audio duplication suppression. Return: - 0 if successful, non-zero if failed. By default, when a remote participant is transmitting to multiple channels, the SDK will only render the audio once where the participant is loudest. Note that this does not apply to 3D channels, where the SDK always renders the audio of all participants. Disabling this allows the SDK to duplicate audio for local rendering of 2D channels when a remote participant is transmitting to multiple channels.VIVOXSDK_DLLEXPORT int vx_get_volume_based_duplication_suppression_enabled( int * enabled)
function vx_set_3d_channel_volume_protection_enabled
Enable or disable the SDK's internal volume protection for 3D channels. Return: - 0 if successful, non-zero if failed Enabling volume protection lowers 3D channel max loudness so that distortion cannot occur at the default volume while sound is off-center. Disabling volume protection will increase 3D channel max loudness, but slight distortion may occur at the default volume while sound is off-center.VIVOXSDK_DLLEXPORT int vx_set_3d_channel_volume_protection_enabled( int enabled)
function vx_get_3d_channel_volume_protection_enabled
Get the internal 3D channel volume protection state. Return: - 0 if successful, non-zero if failedVIVOXSDK_DLLEXPORT int vx_get_3d_channel_volume_protection_enabled( int * enabled)
function vx_set_audio_clipping_protector_enabled
Enable or disable the SDK's internal audio clipping protector (soft clipper). Parameters:VIVOXSDK_DLLEXPORT int vx_set_audio_clipping_protector_enabled( int enabled)
- enabled - 1 to enable the audio clipping protector, 0 to disable.
function vx_get_audio_clipping_protector_enabled
Get the internal audio clipping protector enabled state. Parameters:VIVOXSDK_DLLEXPORT int vx_get_audio_clipping_protector_enabled( int * enabled)
- enabled - [out] A pointer to the returned value (0 if disabled, 1 if enabled).
function vx_set_audio_clipping_protector_parameters
Change the behavior of the SDK's internal audio clipping protector (soft clipper). Parameters:VIVOXSDK_DLLEXPORT int vx_set_audio_clipping_protector_parameters( float minimum_threshold_db, float threshold_boost_slope)
- minimum_threshold_db - The lowest point in dBFS where clipping protection can be applied. -50.0 <= value < 0.0.
- threshold_boost_slope - The ratio between boost gain and the calculated threshold_db. -1.0 <= value <= -0.1.
function vx_get_audio_clipping_protector_parameters
Get the internal audio clipping protector's parameters. Parameters:VIVOXSDK_DLLEXPORT int vx_get_audio_clipping_protector_parameters( float * minimum_threshold_db, float * threshold_boost_slope)
- minimum_threshold_db - [out] The lowest point in dBFS where clipping protection can be applied. -50.0 <= value < 0.0.
- threshold_boost_slope - [out] The ratio between boost gain and the calculated threshold_db. -1.0 <= value <= -0.1.
function vx_tts_initialize
Initialize a new text-to-speech manager. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_initialize( vx_tts_engine_type engine_type, vx_tts_manager_id * tts_manager_id)
- engine_type - The type of the text-to-speech engine. If unsure what to use, it is recommended that you use the default.
- tts_manager_id - [out] A unique identifier of the newly created text-to-speech manager.
function vx_tts_get_voices
Get the available voices for a text-to-speech manager. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_get_voices( vx_tts_manager_id tts_manager_id, int * num_voices, vx_tts_voice_t ** voices)
- tts_manager_id - A unique identifier of the TTS manager
- num_voices - [out] The number of voices supported by the text-to-speech manager.
- voices - [out] A pointer to the first voice. This does not need to be deleted when you are finished using it.
function vx_tts_shutdown
Uninitialize and shut down a text-to-speech manager. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_shutdown( vx_tts_manager_id * tts_manager_id)
- tts_manager_id - A unique identifier of the TTS manager to shutdown. Passing NULL shuts down all managers.
function vx_get_tts_status_string
Return a textual representation of a text-to-speech status code. Parameters:VIVOXSDK_DLLEXPORT const char * vx_get_tts_status_string( vx_tts_status status_code)
- status_code - The text-to-speech status code.
function vx_tts_speak
Convert the input text into speech and process the generated utterance on the selected destination. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_speak( vx_tts_manager_id tts_manager_id, vx_tts_voice_id voice_id, const char * input_text, vx_tts_destination tts_dest, vx_tts_utterance_id * utterance_id)
- tts_manager_id - A unique identifier of the TTS manager.
- voice_id - A unique identifier of the voice.
- input_text - The text message to be converted into speech.
- tts_dest - The destination on which to play the message.
- utterance_id - [out] A unique identifier of the utterance.
function vx_tts_speak_to_buffer
Convert the input text into speech and return the generated utterance. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_speak_to_buffer( vx_tts_manager_id tts_manager_id, vx_tts_voice_id voice_id, const char * input_text, vx_tts_utterance_t ** utterance)
- tts_manager_id - A unique identifier of the TTS manager.
- voice_id - A unique identifier of the voice.
- input_text - The text message to be converted into speech.
- utterance - [out] The utterance generated from the input text.
function vx_tts_destroy_utterance
Destroy an utterance. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_destroy_utterance( vx_tts_manager_id tts_manager_id, vx_tts_utterance_t * utterance)
- tts_manager_id - A unique identifier of the TTS engine.
- utterance - The utterance to be destroyed.
function vx_tts_cancel_utterance
Cancel playback of an ongoing or an enqueued text-to-speech message by its unique identifier. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_cancel_utterance( vx_tts_manager_id tts_manager_id, vx_tts_utterance_id utterance_id)
- tts_manager_id - A unique identifier of the TTS manager.
- utterance_id - A unique identifier of the utterance.
function vx_tts_cancel_all_in_dest
Cancel playback of ongoing and all enqueued text-to-speech messages in a destination. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_cancel_all_in_dest( vx_tts_manager_id tts_manager_id, vx_tts_destination tts_dest)
- tts_manager_id - A unique identifier of the TTS manager.
- tts_dest - The destination to be cancelled.
function vx_tts_cancel_all
Cancel playback for all ongoing and enqueued text-to-speech messages on all destinations. Parameters:VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_cancel_all( vx_tts_manager_id tts_manager_id)
- tts_manager_id - A unique identifier of the TTS manager.
Macros Documentation
define VIVOX_SDK_HAS_CRASH_REPORTING
#define VIVOX_SDK_HAS_CRASH_REPORTING 1
define VIVOX_SDK_HAS_VOICE_FONTS
#define VIVOX_SDK_HAS_VOICE_FONTS 1
define VIVOX_SDK_HAS_GROUP_IM
#define VIVOX_SDK_HAS_GROUP_IM 1
define VIVOX_SDK_HAS_MUTE_SCOPE
#define VIVOX_SDK_HAS_MUTE_SCOPE 1
define VIVOX_SDK_HAS_PARTICIPANT_TYPE
#define VIVOX_SDK_HAS_PARTICIPANT_TYPE 1
define VIVOX_SDK_HAS_NETWORK_MESSAGE
#define VIVOX_SDK_HAS_NETWORK_MESSAGE 1
define VIVOX_SDK_HAS_AUX_DIAGNOSTIC_STATE
#define VIVOX_SDK_HAS_AUX_DIAGNOSTIC_STATE 1
define VIVOX_SDK_SESSION_RENDER_AUDIO_OBSOLETE
#define VIVOX_SDK_SESSION_RENDER_AUDIO_OBSOLETE 1
define VIVOX_SDK_SESSION_GET_LOCAL_AUDIO_INFO_OBSOLETE
#define VIVOX_SDK_SESSION_GET_LOCAL_AUDIO_INFO_OBSOLETE 1
define VIVOX_SDK_SESSION_MEDIA_RINGBACK_OBSOLETE
#define VIVOX_SDK_SESSION_MEDIA_RINGBACK_OBSOLETE 1
define VIVOX_SDK_SESSION_CONNECT_OBSOLETE
#define VIVOX_SDK_SESSION_CONNECT_OBSOLETE 1
define VIVOX_SDK_EVT_SESSION_PARTICIPANT_LIST_OBSOLETE
#define VIVOX_SDK_EVT_SESSION_PARTICIPANT_LIST_OBSOLETE 1
define VIVOX_SDK_HAS_INTEGRATED_PROXY
#define VIVOX_SDK_HAS_INTEGRATED_PROXY 1
define VIVOX_SDK_HAS_NO_CHANNEL_FOLDERS
#define VIVOX_SDK_HAS_NO_CHANNEL_FOLDERS 1
define VIVOX_SDK_HAS_NO_SCORE
#define VIVOX_SDK_HAS_NO_SCORE 1
define VIVOX_SDK_HAS_GENERIC_APP_NOTIFICATIONS_ONLY
#define VIVOX_SDK_HAS_GENERIC_APP_NOTIFICATIONS_ONLY 1
define VIVOX_SDK_HAS_FRAME_TOTALS
#define VIVOX_SDK_HAS_FRAME_TOTALS 1
define VIVOX_SDK_NO_LEGACY_RECORDING
#define VIVOX_SDK_NO_LEGACY_RECORDING 1
define VIVOX_SDK_NO_IS_AD_PLAYING
#define VIVOX_SDK_NO_IS_AD_PLAYING 1
define VIVOX_SDK_HAS_ACCOUNT_SEND_MSG
#define VIVOX_SDK_HAS_ACCOUNT_SEND_MSG 1
define VIVOX_SDK_HAS_PLC_STATS
#define VIVOX_SDK_HAS_PLC_STATS 1
define VIVOX_SDK_HAS_DEVICE_ADDED_REMOVED
#define VIVOX_SDK_HAS_DEVICE_ADDED_REMOVED 1
define VIVOX_SDK_HAS_AUDIO_UNIT_CALLBACKS
#define VIVOX_SDK_HAS_AUDIO_UNIT_CALLBACKS 1
define VX_MEDIA_FLAGS_AUDIO
Participant media flags.#define VX_MEDIA_FLAGS_AUDIO 0x1
define VX_MEDIA_FLAGS_TEXT
#define VX_MEDIA_FLAGS_TEXT 0x2
define VX_GET_MESSAGE_NO_MESSAGE
#define VX_GET_MESSAGE_NO_MESSAGE -1
define VX_GET_MESSAGE_AVAILABLE
#define VX_GET_MESSAGE_AVAILABLE 0
define VX_GET_MESSAGE_FAILURE
#define VX_GET_MESSAGE_FAILURE 1
define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000_EXPANDED
#define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000_EXPANDED 0x10001
define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000
Deprecated: Use VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000_EXPANDED instead of VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000.#define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000 VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000_EXPANDED
define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN7_16000_EXPANDED
#define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN7_16000_EXPANDED 0x10008
define VIVOX_V_V2_AUDIO_DATA_MONO_OPUS_48000_EXPANDED
#define VIVOX_V_V2_AUDIO_DATA_MONO_OPUS_48000_EXPANDED 0x10009
define VIVOX_VANI_SIREN7
The configured_codecs field in vx_req_connector_create is a mask of these constants.#define VIVOX_VANI_SIREN7 0x2 /* Siren7, 16kHz, 32kbps */
define VIVOX_VANI_SIREN14
#define VIVOX_VANI_SIREN14 0x4 /* Siren14, 32kHz, 32kbps */
define VIVOX_VANI_LEGACY_MASK
#define VIVOX_VANI_LEGACY_MASK 0x6
define VIVOX_VANI_OPUS8
#define VIVOX_VANI_OPUS8 0x10 /* Opus, 48kHz, 8kbps */
define VIVOX_VANI_OPUS40
#define VIVOX_VANI_OPUS40 0x20 /* Opus, 48kHz, 40kbps */
define VIVOX_VANI_OPUS57
#define VIVOX_VANI_OPUS57 0x40 /* Opus, 48kHz, 57kbps */ /* proposed; pending research */
define VIVOX_VANI_OPUS72
#define VIVOX_VANI_OPUS72 0x80 /* Opus, 48kHz, 72kbps */ /* proposed; pending research */
define VIVOX_VANI_OPUS
#define VIVOX_VANI_OPUS VIVOX_VANI_OPUS40
define VIVOX_VANI_OPUS_MASK
#define VIVOX_VANI_OPUS_MASK 0xf0
define VIVOX_VANI_PCMU
Deprecated: PCMU functionality has been removed. Please discontinue use.#define VIVOX_VANI_PCMU VX_DEPRECATED_MACRO(VIVOX_VANI_PCMU, 5.19) VIVOX_VANI_OPUS8
define VX_VAR_DECODER_COUNT_LIMIT
#define VX_VAR_DECODER_COUNT_LIMIT "DecoderLimit"
define VX_VAR_DECODER_HANGOVER_LIMIT
#define VX_VAR_DECODER_HANGOVER_LIMIT "DecoderHangoverLimit"
define VX_VAR_RTP_ENCRYPTION
#define VX_VAR_RTP_ENCRYPTION "RTPEncryption"
define MAX_VXA_DEVICE_COUNT
The maximum number of application-provided capture devices. The maximum number of application-provided render devices.#define MAX_VXA_DEVICE_COUNT 32
define VX_TTS_CHARACTER_COUNT_LIMIT
#define VX_TTS_CHARACTER_COUNT_LIMIT 200
define VX_TTS_MAX_DESTINATION_QUEUE_SIZE
#define VX_TTS_MAX_DESTINATION_QUEUE_SIZE 10
define VX_TTS_DEFAULT_DESTINATION
#define VX_TTS_DEFAULT_DESTINATION tts_dest_remote_transmission
Source code
/* Copyright (c) 2019 Unity Technologies. * * This software is subject to, and made available under, the Unity Terms of Service (see Unity Terms of Service). * Your use of this software constitutes your acceptance of such terms. * Unless expressly provided otherwise, the software under this license is made available strictly on an "AS IS" BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. * Please review the Terms of Service for details on these and other terms and conditions.” */#pragma once#include <VxcExports.h>#include <VxcTypes.h>#define VIVOX_SDK_HAS_CRASH_REPORTING 1#define VIVOX_SDK_HAS_VOICE_FONTS 1#define VIVOX_SDK_HAS_GROUP_IM 1#define VIVOX_SDK_HAS_MUTE_SCOPE 1#define VIVOX_SDK_HAS_PARTICIPANT_TYPE 1#define VIVOX_SDK_HAS_NETWORK_MESSAGE 1#define VIVOX_SDK_HAS_AUX_DIAGNOSTIC_STATE 1#define VIVOX_SDK_SESSION_RENDER_AUDIO_OBSOLETE 1#define VIVOX_SDK_SESSION_GET_LOCAL_AUDIO_INFO_OBSOLETE 1#define VIVOX_SDK_SESSION_MEDIA_RINGBACK_OBSOLETE 1#define VIVOX_SDK_SESSION_CONNECT_OBSOLETE 1#define VIVOX_SDK_EVT_SESSION_PARTICIPANT_LIST_OBSOLETE 1#define VIVOX_SDK_HAS_INTEGRATED_PROXY 1#define VIVOX_SDK_HAS_NO_CHANNEL_FOLDERS 1#define VIVOX_SDK_HAS_NO_SCORE 1#define VIVOX_SDK_HAS_GENERIC_APP_NOTIFICATIONS_ONLY 1#define VIVOX_SDK_HAS_FRAME_TOTALS 1#define VIVOX_SDK_NO_LEGACY_RECORDING 1#define VIVOX_SDK_NO_IS_AD_PLAYING 1#define VIVOX_SDK_HAS_ACCOUNT_SEND_MSG 1#define VIVOX_SDK_HAS_PLC_STATS 1#define VIVOX_SDK_HAS_DEVICE_ADDED_REMOVED 1#define VIVOX_SDK_HAS_AUDIO_UNIT_CALLBACKS 1#pragma pack(push)#pragma pack(8)#ifdef __cplusplusextern "C" {#endiftypedef char *VX_COOKIE;typedef VX_COOKIE VX_HANDLE;typedef unsigned int VX_SDK_HANDLE;#if defined(WIN32)typedef __time64_t vx_time_t;#elsetypedef time_t vx_time_t;#endif#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_cookie_create(const char *value, VX_COOKIE *cookie);VIVOXSDK_DLLEXPORT int vx_cookie_free(VX_COOKIE *cookie);#endiftypedef enum { attempt_stun_unspecified = 0, attempt_stun_on = 1, attempt_stun_off = 2} vx_attempt_stun;typedef enum { connector_mode_normal = 0, connector_mode_legacy = 1} vx_connector_mode;typedef enum { session_handle_type_unique = 0, session_handle_type_legacy = 1, session_handle_type_heirarchical_numeric = 2, session_handle_type_heirarchical_unique = 3} vx_session_handle_type;typedef enum { log_to_none = 0, log_to_file = 1, log_to_callback = 2, log_to_file_and_callback = 3} vx_log_type;typedef enum { msg_none = 0, msg_request = 1, msg_response = 2, msg_event = 3} vx_message_type;typedef enum { VX_SESSIONGROUP_RECORDING_CONTROL_STOP = 0, VX_SESSIONGROUP_RECORDING_CONTROL_START = 1, VX_SESSIONGROUP_RECORDING_CONTROL_FLUSH_TO_FILE = 2} vx_sessiongroup_recording_control_type;typedef enum { VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP = 0, vx_sessiongroup_audio_injection_control_stop = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP, VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_START = 1, vx_sessiongroup_audio_injection_control_start = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_START, VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART = 2, vx_sessiongroup_audio_injection_control_restart = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART, VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_MIN = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_STOP, vx_sessiongroup_audio_injection_control_min = vx_sessiongroup_audio_injection_control_stop, VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_MAX = VX_SESSIONGROUP_AUDIO_INJECTION_CONTROL_RESTART, vx_sessiongroup_audio_injection_control_max = vx_sessiongroup_audio_injection_control_restart} vx_sessiongroup_audio_injection_control_type;typedef enum { VX_SESSIONGROUP_PLAYBACK_CONTROL_STOP = 0, VX_SESSIONGROUP_PLAYBACK_CONTROL_START = 1, VX_SESSIONGROUP_PLAYBACK_CONTROL_PAUSE = 3, VX_SESSIONGROUP_PLAYBACK_CONTROL_UNPAUSE = 4} vx_sessiongroup_playback_control_type;typedef enum { VX_SESSIONGROUP_PLAYBACK_MODE_NORMAL = 0, VX_SESSIONGROUP_PLAYBACK_MODE_VOX = 1} vx_sessiongroup_playback_mode;typedef enum { vx_control_communications_operation_block = 0, vx_control_communications_operation_unblock = 1, vx_control_communications_operation_list = 2, vx_control_communications_operation_block_list = 2, // Alias for vx_control_communications_operation_list vx_control_communications_operation_clear = 3, vx_control_communications_operation_clear_block_list = 3, // Alias for vx_control_communications_operation_clear vx_control_communications_operation_mute = 4, vx_control_communications_operation_unmute = 5, vx_control_communications_operation_mute_list = 6, vx_control_communications_operation_clear_mute_list = 7} vx_control_communications_operation;typedef enum { media_type_none = 0, media_type_text = 1, media_type_audio = 2, media_type_video = 3, media_type_audiovideo = 4} vx_media_type;typedef enum { termination_status_none = 0, termination_status_busy = 1, termination_status_decline = 2} vx_termination_status;typedef enum { diagnostic_dump_level_all = 0, diagnostic_dump_level_sessions = 1} vx_diagnostic_dump_level;typedef enum { media_ringback_none = 0, media_ringback_ringing = 1, // 180 // media_ringback_answer = 2, // 200 media_ringback_busy = 3, // 486 // media_ringback_terminated = 4 // 487} vx_media_ringback;typedef enum { channel_type_normal = 0, channel_type_positional = 2} vx_channel_type;typedef enum { channel_mode_none = 0, channel_mode_normal = 1, channel_mode_presentation = 2, channel_mode_lecture = 3, channel_mode_open = 4, channel_mode_auditorium = 5} vx_channel_mode;typedef enum { channel_search_type_all = 0, channel_search_type_non_positional = 1, channel_search_type_positional = 2} vx_channel_search_type;typedef enum { channel_moderation_type_all = 0, channel_moderation_type_current_user = 1} vx_channel_moderation_type;typedef enum { sessiongroup_type_normal = 0, sessiongroup_type_playback = 1} vx_sessiongroup_type;typedef enum { participant_left = 0, participant_timeout = 1, participant_kicked = 2, participant_banned = 3} vx_participant_removed_reason;typedef enum { connection_state_disconnected = 0, connection_state_connected = 1, connection_state_recovering = 3, connection_state_failed_to_recover = 4, connection_state_recovered = 5} vx_connection_state;typedef struct vx_message_base { vx_message_type type; VX_SDK_HANDLE sdk_handle; unsigned long long create_time_ms; unsigned long long last_step_ms;} vx_message_base_t;typedef enum { req_none = 0, req_connector_create = 1, req_connector_initiate_shutdown = 2, req_account_login = 3, req_account_logout = 4, req_account_set_login_properties = 5, req_sessiongroup_create = 6, req_sessiongroup_terminate = 7, req_sessiongroup_add_session = 8, req_sessiongroup_remove_session = 9, req_sessiongroup_set_focus = 10, req_sessiongroup_unset_focus = 11, req_sessiongroup_reset_focus = 12, req_sessiongroup_set_tx_session = 13, req_sessiongroup_set_tx_all_sessions = 14, req_sessiongroup_set_tx_no_session = 15, req_session_create = 16, req_session_media_connect = 18, req_session_media_disconnect = 19, req_session_terminate = 21, req_session_mute_local_speaker = 22, req_session_set_local_speaker_volume = 23, req_session_set_local_render_volume = 24, req_session_channel_invite_user = 25, req_session_set_participant_volume_for_me = 26, req_session_set_participant_mute_for_me = 27, req_session_set_3d_position = 28, req_session_set_voice_font = 29, req_account_channel_add_acl = 53, req_account_channel_remove_acl = 54, req_account_channel_get_acl = 55, req_channel_mute_user = 56, req_channel_ban_user = 57, req_channel_get_banned_users = 58, req_channel_kick_user = 59, req_channel_mute_all_users = 60, req_connector_mute_local_mic = 61, req_connector_mute_local_speaker = 62, req_connector_set_local_mic_volume = 63, req_connector_set_local_speaker_volume = 64, req_connector_get_local_audio_info = 65, req_account_buddy_set = 67, req_account_buddy_delete = 68, req_account_list_buddies_and_groups = 71, req_session_send_message = 72, req_account_set_presence = 73, req_account_send_subscription_reply = 74, req_session_send_notification = 75, req_account_create_block_rule = 76, req_account_delete_block_rule = 77, req_account_list_block_rules = 78, req_account_create_auto_accept_rule = 79, req_account_delete_auto_accept_rule = 80, req_account_list_auto_accept_rules = 81, req_account_update_account = 82, req_account_get_account = 83, req_account_send_sms = 84, req_aux_connectivity_info = 86, req_aux_get_render_devices = 87, req_aux_get_capture_devices = 88, req_aux_set_render_device = 89, req_aux_set_capture_device = 90, req_aux_get_mic_level = 91, req_aux_get_speaker_level = 92, req_aux_set_mic_level = 93, req_aux_set_speaker_level = 94, req_aux_render_audio_start = 95, req_aux_render_audio_stop = 96, req_aux_capture_audio_start = 97, req_aux_capture_audio_stop = 98, req_aux_global_monitor_keyboard_mouse = 99, req_aux_set_idle_timeout = 100, req_aux_create_account = 101, req_aux_reactivate_account = 102, req_aux_deactivate_account = 103, req_account_post_crash_dump = 104, req_aux_reset_password = 105, req_sessiongroup_set_session_3d_position = 106, req_account_get_session_fonts = 107, req_account_get_template_fonts = 108, req_aux_start_buffer_capture = 109, req_aux_play_audio_buffer = 110, req_sessiongroup_control_recording = 111, req_sessiongroup_control_playback = 112, req_sessiongroup_set_playback_options = 113, req_session_text_connect = 114, req_session_text_disconnect = 115, req_channel_set_lock_mode = 116, req_aux_render_audio_modify = 117, req_session_send_dtmf = 118, req_aux_set_vad_properties = 120, req_aux_get_vad_properties = 121, req_sessiongroup_control_audio_injection = 124, req_account_channel_change_owner = 125, req_account_send_user_app_data = 128, req_aux_diagnostic_state_dump = 129, req_account_web_call = 130, req_account_anonymous_login = 131, req_account_authtoken_login = 132, req_sessiongroup_get_stats = 133, req_account_send_message = 134, req_aux_notify_application_state_change = 135, req_account_control_communications = 136, req_session_archive_query = 137, req_account_archive_query = 138, req_session_transcription_control = 139, req_aux_get_derumbler_properties = 140, req_aux_set_derumbler_properties = 141, req_session_chat_history_query = 142, req_account_chat_history_query = 143, req_account_chat_history_get_last_read = 144, req_session_edit_message = 145, req_account_edit_message = 146, req_session_delete_message = 147, req_account_delete_message = 148, req_account_get_conversations = 149, req_account_chat_history_set_marker = 150, req_account_safe_voice_update_consent = 151, req_account_safe_voice_get_consent = 152, req_max = req_account_safe_voice_get_consent + 1} vx_request_type;typedef enum { resp_none = 0, resp_connector_create = 1, resp_connector_initiate_shutdown = 2, resp_account_login = 3, resp_account_logout = 4, resp_account_set_login_properties = 5, resp_sessiongroup_create = 6, resp_sessiongroup_terminate = 7, resp_sessiongroup_add_session = 8, resp_sessiongroup_remove_session = 9, resp_sessiongroup_set_focus = 10, resp_sessiongroup_unset_focus = 11, resp_sessiongroup_reset_focus = 12, resp_sessiongroup_set_tx_session = 13, resp_sessiongroup_set_tx_all_sessions = 14, resp_sessiongroup_set_tx_no_session = 15, resp_session_create = 16, resp_session_media_connect = 18, resp_session_media_disconnect = 19, resp_session_terminate = 21, resp_session_mute_local_speaker = 22, resp_session_set_local_speaker_volume = 23, resp_session_set_local_render_volume = 24, resp_session_channel_invite_user = 25, resp_session_set_participant_volume_for_me = 26, resp_session_set_participant_mute_for_me = 27, resp_session_set_3d_position = 28, resp_session_set_voice_font = 29, resp_account_channel_get_list = 33, resp_account_channel_add_acl = 53, resp_account_channel_remove_acl = 54, resp_account_channel_get_acl = 55, resp_channel_mute_user = 56, resp_channel_ban_user = 57, resp_channel_get_banned_users = 58, resp_channel_kick_user = 59, resp_channel_mute_all_users = 60, resp_connector_mute_local_mic = 61, resp_connector_mute_local_speaker = 62, resp_connector_set_local_mic_volume = 63, resp_connector_set_local_speaker_volume = 64, resp_connector_get_local_audio_info = 65, resp_account_buddy_set = 67, resp_account_buddy_delete = 68, resp_account_list_buddies_and_groups = 71, resp_session_send_message = 72, resp_account_set_presence = 73, resp_account_send_subscription_reply = 74, resp_session_send_notification = 75, resp_account_create_block_rule = 76, resp_account_delete_block_rule = 77, resp_account_list_block_rules = 78, resp_account_create_auto_accept_rule = 79, resp_account_delete_auto_accept_rule = 80, resp_account_list_auto_accept_rules = 81, resp_account_update_account = 82, resp_account_get_account = 83, resp_account_send_sms = 84, resp_aux_connectivity_info = 86, resp_aux_get_render_devices = 87, resp_aux_get_capture_devices = 88, resp_aux_set_render_device = 89, resp_aux_set_capture_device = 90, resp_aux_get_mic_level = 91, resp_aux_get_speaker_level = 92, resp_aux_set_mic_level = 93, resp_aux_set_speaker_level = 94, resp_aux_render_audio_start = 95, resp_aux_render_audio_stop = 96, resp_aux_capture_audio_start = 97, resp_aux_capture_audio_stop = 98, resp_aux_global_monitor_keyboard_mouse = 99, resp_aux_set_idle_timeout = 100, resp_aux_create_account = 101, resp_aux_reactivate_account = 102, resp_aux_deactivate_account = 103, resp_account_post_crash_dump = 104, resp_aux_reset_password = 105, resp_sessiongroup_set_session_3d_position = 106, resp_account_get_session_fonts = 107, resp_account_get_template_fonts = 108, resp_aux_start_buffer_capture = 109, resp_aux_play_audio_buffer = 110, resp_sessiongroup_control_recording = 111, resp_sessiongroup_control_playback = 112, resp_sessiongroup_set_playback_options = 113, resp_session_text_connect = 114, resp_session_text_disconnect = 115, resp_channel_set_lock_mode = 116, resp_aux_render_audio_modify = 117, resp_session_send_dtmf = 118, resp_aux_set_vad_properties = 120, resp_aux_get_vad_properties = 121, resp_sessiongroup_control_audio_injection = 124, resp_account_channel_change_owner = 125, resp_account_send_user_app_data = 128, resp_aux_diagnostic_state_dump = 129, resp_account_web_call = 130, resp_account_anonymous_login = 131, resp_account_authtoken_login = 132, resp_sessiongroup_get_stats = 133, resp_account_send_message = 134, resp_aux_notify_application_state_change = 135, resp_account_control_communications = 136, resp_session_archive_query = 137, resp_account_archive_query = 138, resp_session_transcription_control = 139, resp_aux_get_derumbler_properties = 140, resp_aux_set_derumbler_properties = 141, resp_session_chat_history_query = 142, resp_account_chat_history_query = 143, resp_account_chat_history_get_last_read = 144, resp_session_edit_message = 145, resp_account_edit_message = 146, resp_session_delete_message = 147, resp_account_delete_message = 148, resp_account_get_conversations = 149, resp_account_chat_history_set_marker = 150, resp_account_safe_voice_update_consent = 151, resp_account_safe_voice_get_consent = 152, resp_max = resp_account_safe_voice_get_consent + 1} vx_response_type;typedef enum { evt_none = 0, evt_account_login_state_change = 2, evt_buddy_presence = 7, evt_subscription = 8, evt_session_notification = 9, evt_message = 10, evt_aux_audio_properties = 11, evt_buddy_changed = 15, evt_buddy_group_changed = 16, evt_buddy_and_group_list_changed = 17, evt_keyboard_mouse = 18, evt_idle_state_changed = 19, evt_media_stream_updated = 20, evt_text_stream_updated = 21, evt_sessiongroup_added = 22, evt_sessiongroup_removed = 23, evt_session_added = 24, evt_session_removed = 25, evt_participant_added = 26, evt_participant_removed = 27, evt_participant_updated = 28, evt_sessiongroup_playback_frame_played = 30, evt_session_updated = 31, evt_sessiongroup_updated = 32, evt_media_completion = 33, evt_server_app_data = 35, evt_user_app_data = 36, evt_network_message = 38, evt_voice_service_connection_state_changed = 39, evt_publication_state_changed = 40, evt_audio_device_hot_swap = 41, evt_user_to_user_message = 42, evt_session_archive_message = 43, evt_session_archive_query_end = 44, evt_account_archive_message = 45, evt_account_archive_query_end = 46, evt_account_send_message_failed = 47, evt_transcribed_message = 48, evt_tts_injection_started = 49, evt_tts_injection_ended = 50, evt_tts_injection_failed = 51, evt_stt_failed = 52, evt_connection_state_changed = 53, evt_presence_updated = 54, evt_session_edit_message = 55, evt_account_edit_message = 56, evt_session_delete_message = 57, evt_account_delete_message = 58, evt_max = evt_account_delete_message + 1} vx_event_type;typedef struct vx_req_base { vx_message_base_t message; vx_request_type type; VX_COOKIE cookie; void *vcookie;} vx_req_base_t;typedef struct vx_resp_base { vx_message_base_t message; vx_response_type type; int return_code; int status_code; char *status_string; vx_req_base_t *request; char *extended_status_info;} vx_resp_base_t;typedef struct vx_evt_base { vx_message_base_t message; vx_event_type type; char *extended_status_info;} vx_evt_base_t;typedef enum { ND_E_NO_ERROR = 0, ND_E_TEST_NOT_RUN = 1, ND_E_NO_INTERFACE = 2, ND_E_NO_INTERFACE_WITH_GATEWAY = 3, ND_E_NO_INTERFACE_WITH_ROUTE = 4, ND_E_TIMEOUT = 5, ND_E_CANT_ICMP = 6, ND_E_CANT_RESOLVE_VIVOX_UDP_SERVER = 7, ND_E_CANT_RESOLVE_ROOT_DNS_SERVER = 8, ND_E_CANT_CONVERT_LOCAL_IP_ADDRESS = 9, ND_E_CANT_CONTACT_STUN_SERVER_ON_UDP_PORT_3478 = 10, ND_E_CANT_CREATE_TCP_SOCKET = 11, ND_E_CANT_LOAD_ICMP_LIBRARY = 12, ND_E_CANT_FIND_SENDECHO2_PROCADDR = 13, ND_E_CANT_CONNECT_TO_ECHO_SERVER = 14, ND_E_ECHO_SERVER_LOGIN_SEND_FAILED = 15, ND_E_ECHO_SERVER_LOGIN_RECV_FAILED = 16, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_STATUS = 17, ND_E_ECHO_SERVER_LOGIN_RESPONSE_FAILED_STATUS = 18, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_SESSIONID = 19, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_SIPPORT = 20, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_AUDIORTP = 21, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_AUDIORTCP = 22, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_VIDEORTP = 23, ND_E_ECHO_SERVER_LOGIN_RESPONSE_MISSING_VIDEORTCP = 24, ND_E_ECHO_SERVER_CANT_ALLOCATE_SIP_SOCKET = 25, ND_E_ECHO_SERVER_CANT_ALLOCATE_MEDIA_SOCKET = 26, ND_E_ECHO_SERVER_SIP_UDP_SEND_FAILED = 27, ND_E_ECHO_SERVER_SIP_UDP_RECV_FAILED = 28, ND_E_ECHO_SERVER_SIP_TCP_SEND_FAILED = 29, ND_E_ECHO_SERVER_SIP_TCP_RECV_FAILED = 30, ND_E_ECHO_SERVER_SIP_NO_UDP_OR_TCP = 31, ND_E_ECHO_SERVER_SIP_NO_UDP = 32, ND_E_ECHO_SERVER_SIP_NO_TCP = 33, ND_E_ECHO_SERVER_SIP_MALFORMED_TCP_PACKET = 34, ND_E_ECHO_SERVER_SIP_UDP_DIFFERENT_LENGTH = 35, ND_E_ECHO_SERVER_SIP_UDP_DATA_DIFFERENT = 36, ND_E_ECHO_SERVER_SIP_TCP_PACKETS_DIFFERENT = 37, ND_E_ECHO_SERVER_SIP_TCP_PACKETS_DIFFERENT_SIZE = 38, ND_E_ECHO_SERVER_LOGIN_RECV_FAILED_TIMEOUT = 39, ND_E_ECHO_SERVER_TCP_SET_ASYNC_FAILED = 40, ND_E_ECHO_SERVER_UDP_SET_ASYNC_FAILED = 41, ND_E_ECHO_SERVER_CANT_RESOLVE_NAME = 42} ND_ERROR;typedef enum { ND_TEST_LOCATE_INTERFACE = 0, ND_TEST_PING_GATEWAY = 1, ND_TEST_DNS = 2, ND_TEST_STUN = 3, ND_TEST_ECHO = 4, ND_TEST_ECHO_SIP_FIRST_PORT = 5, ND_TEST_ECHO_SIP_FIRST_PORT_INVITE_REQUEST = 6, ND_TEST_ECHO_SIP_FIRST_PORT_INVITE_RESPONSE = 7, ND_TEST_ECHO_SIP_FIRST_PORT_REGISTER_REQUEST = 8, ND_TEST_ECHO_SIP_FIRST_PORT_REGISTER_RESPONSE = 9, ND_TEST_ECHO_SIP_SECOND_PORT = 10, ND_TEST_ECHO_SIP_SECOND_PORT_INVITE_REQUEST = 11, ND_TEST_ECHO_SIP_SECOND_PORT_INVITE_RESPONSE = 12, ND_TEST_ECHO_SIP_SECOND_PORT_REGISTER_REQUEST = 13, ND_TEST_ECHO_SIP_SECOND_PORT_REGISTER_RESPONSE = 14, ND_TEST_ECHO_MEDIA = 15, ND_TEST_ECHO_MEDIA_LARGE_PACKET = 16} ND_TEST_TYPE;typedef enum { mode_none = 0, mode_auto_answer = 1, mode_verify_answer = 2, mode_busy_answer = 3} vx_session_answer_mode;typedef enum { mode_auto_accept = 0, mode_auto_add = 1, mode_block = 2, mode_hide = 3, mode_application = 4} vx_buddy_management_mode;typedef enum { rule_none = 0, rule_allow = 1, rule_block = 2, rule_hide = 3} vx_rule_type;typedef enum { type_none = 0, type_root = 1, type_user = 2} vx_font_type;typedef enum { status_none = 0, status_free = 1, status_not_free = 2} vx_font_status;typedef enum { subscription_presence = 0} vx_subscription_type;typedef enum { notification_not_typing = 0, notification_typing = 1, notification_hand_lowered = 2, notification_hand_raised = 3, notification_min = notification_not_typing, notification_max = notification_hand_raised} vx_notification_type;typedef enum { dtmf_0 = 0, dtmf_1 = 1, dtmf_2 = 2, dtmf_3 = 3, dtmf_4 = 4, dtmf_5 = 5, dtmf_6 = 6, dtmf_7 = 7, dtmf_8 = 8, dtmf_9 = 9, dtmf_pound = 10, dtmf_star = 11, dtmf_A = 12, dtmf_B = 13, dtmf_C = 14, dtmf_D = 15, dtmf_max = dtmf_D} vx_dtmf_type;typedef enum { text_mode_disabled = 0, text_mode_enabled = 1} vx_text_mode;typedef enum { channel_unlock = 0, channel_lock = 1} vx_channel_lock_mode;typedef enum { mute_scope_all = 0, mute_scope_audio = 1, mute_scope_text = 2} vx_mute_scope;typedef enum { VX_RECORDING_FRAME_TYPE_DELTA = 0, VX_RECORDING_FRAME_TYPE_CONTROL = 1} vx_recording_frame_type_t;typedef enum { op_none = 0, op_safeupdate = 1, op_delete = 2} vx_audiosource_operation;typedef enum { aux_audio_properties_none = 0} vx_aux_audio_properties_state;typedef enum { login_state_logged_out = 0, login_state_logged_in = 1, login_state_logging_in = 2, login_state_logging_out = 3, login_state_resetting = 4, login_state_error = 100} vx_login_state_change_state;typedef enum { publication_state_success = 0, publication_state_transient_error = 1, publication_state_permanent_error = 2} vx_publication_state_change_state;typedef enum { buddy_presence_unknown = 0, buddy_presence_pending = 1, buddy_presence_online = 2, buddy_presence_busy = 3, buddy_presence_brb = 4, buddy_presence_away = 5, buddy_presence_onthephone = 6, buddy_presence_outtolunch = 7, buddy_presence_custom = 8, buddy_presence_online_slc = 9, buddy_presence_closed = 0, buddy_presence_offline = 0, buddy_presence_chat = 10, buddy_presence_extended_away = 11, buddy_presence_min = buddy_presence_unknown, buddy_presence_max = buddy_presence_extended_away} vx_buddy_presence_state;typedef enum { presence_online = 0, presence_busy = 1, presence_brb = 2, presence_away = 3, presence_onthephone = 4, presence_offline = 5, presence_chat = 6, presence_extended_away = 7, presence_min = presence_online, presence_max = presence_extended_away} vx_presence_state;typedef enum { session_notification_none = 0} vx_session_notification_state;typedef enum { message_none = 0} vx_message_state;typedef enum { // NB: Keep in sync with enum TextState in sessionproperties.h session_text_disconnected = 0, session_text_connected = 1, session_text_connecting = 2, session_text_disconnecting = 3} vx_session_text_state;typedef enum { // NB: Keep in sync with enum MediaState in sessionproperties.h // NB: MediaState has the additional state MediaStateIncoming, which is mapped to session_media_ringing or session_media_disconnected in different places. session_media_disconnected = 1, session_media_connected = 2, session_media_ringing = 3, session_media_connecting = 6, session_media_disconnecting = 7} vx_session_media_state;typedef enum { participant_user = 0, part_user = participant_user, // For backward compatibility. participant_moderator = 1, part_moderator = participant_moderator, // For backward compatibility. participant_owner = 2, part_focus = participant_owner // For backward compatibility.} vx_participant_type;typedef enum { orientation_default = 0, orientation_legacy = 1, orientation_vivox = 2} orientation_type;typedef enum { media_completion_type_none = 0, aux_buffer_audio_capture = 1, aux_buffer_audio_render = 2, sessiongroup_audio_injection = 3} vx_media_completion_type;#define VX_MEDIA_FLAGS_AUDIO 0x1#define VX_MEDIA_FLAGS_TEXT 0x2// Buddy for state dump.typedef struct vx_state_buddy_contact { vx_buddy_presence_state presence; char *display_name; char *application; char *custom_message; char *contact; char *priority; char *id;} vx_state_buddy_contact_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_buddy_contact_create(vx_state_buddy_contact_t **contact);VIVOXSDK_DLLEXPORT int vx_state_buddy_contact_free(vx_state_buddy_contact_t *contact);#endiftypedef vx_state_buddy_contact_t *vx_state_buddy_contact_ref_t;typedef vx_state_buddy_contact_ref_t *vx_state_buddy_contact_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_buddy_contact_list_create(int size, vx_state_buddy_contact_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_state_buddy_contact_list_free(vx_state_buddy_contact_t **list, int size);#endif// Buddy for state dump.typedef struct vx_state_buddy { char *buddy_uri; char *display_name; int parent_group_id; char *buddy_data; // char* account_name; int state_buddy_contact_count; vx_state_buddy_contact_t **state_buddy_contacts;} vx_state_buddy_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_buddy_create(vx_state_buddy_t **buddy);VIVOXSDK_DLLEXPORT int vx_state_buddy_free(vx_state_buddy_t *buddy);#endiftypedef vx_state_buddy_t *vx_state_buddy_ref_t;typedef vx_state_buddy_ref_t *vx_state_buddy_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_buddy_list_create(int size, vx_state_buddy_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_state_buddy_list_free(vx_state_buddy_t **list, int size);#endiftypedef struct vx_state_buddy_group { int group_id; char *group_name; char *group_data;} vx_state_buddy_group_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_buddy_group_create(vx_state_buddy_group_t **group);VIVOXSDK_DLLEXPORT int vx_state_buddy_group_free(vx_state_buddy_group_t *group);#endiftypedef vx_state_buddy_group_t *vx_state_buddy_group_ref_t;typedef vx_state_buddy_group_ref_t *vx_state_buddy_group_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_buddy_group_list_create(int size, vx_state_buddy_group_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_state_buddy_group_list_free(vx_state_buddy_group_t **list, int size);#endiftypedef struct vx_participant { char *uri; char *first_name; char *last_name; char *display_name; char *username; int is_moderator; int is_moderator_muted; int is_moderator_text_muted; int is_muted_for_me; // NOT CURRENTLY IMPLEMENTED int is_owner; int account_id; } vx_participant_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_participant_create(vx_participant_t **participant);VIVOXSDK_DLLEXPORT int vx_participant_free(vx_participant_t *participant);#endiftypedef vx_participant_t *vx_participant_ref_t;typedef vx_participant_ref_t *vx_participant_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_participant_list_create(int size, vx_participant_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_participant_list_free(vx_participant_t **list, int size);#endiftypedef struct vx_state_participant { char *uri; char *display_name; int is_audio_enabled; int is_text_enabled; int is_audio_muted_for_me; int is_text_muted_for_me; // Not currently supported. int is_audio_moderator_muted; int is_text_moderator_muted; int is_hand_raised; int is_typing; int is_speaking; int volume; double energy; vx_participant_type type; int is_anonymous_login;} vx_state_participant_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_participant_create(vx_state_participant_t **state_participant);VIVOXSDK_DLLEXPORT int vx_state_participant_free(vx_state_participant_t *state_participant);#endiftypedef vx_state_participant_t *vx_state_participant_ref_t;typedef vx_state_participant_ref_t *vx_state_participant_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_participant_list_create(int size, vx_state_participant_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_state_participant_list_free(vx_state_participant_t **list, int size);#endiftypedef struct vx_state_session { char *session_handle; char *uri; char *name; int is_audio_muted_for_me; int is_text_muted_for_me; // Not currently supported. int is_transmitting; int is_focused; int volume; int session_font_id; int has_audio; int has_text; int is_incoming; int is_positional; int is_connected; int state_participant_count; vx_state_participant_t **state_participants; char *durable_media_id;} vx_state_session_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_session_create(vx_state_session_t **state_session);VIVOXSDK_DLLEXPORT int vx_state_session_free(vx_state_session_t *state_session);#endiftypedef vx_state_session_t *vx_state_session_ref_t;typedef vx_state_session_ref_t *vx_state_session_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_session_list_create(int size, vx_state_session_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_state_session_list_free(vx_state_session_t **list, int size);#endiftypedef struct vx_state_sessiongroup { char *sessiongroup_handle; int state_sessions_count; vx_state_session_t **state_sessions; int in_delayed_playback; double current_playback_speed; vx_sessiongroup_playback_mode current_playback_mode; int playback_paused; int loop_buffer_capacity; int first_loop_frame; int total_loop_frames_captured; int last_loop_frame_played; char *current_recording_filename; int total_recorded_frames;} vx_state_sessiongroup_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_sessiongroup_create(vx_state_sessiongroup_t **state_sessiongroup);VIVOXSDK_DLLEXPORT int vx_state_sessiongroup_free(vx_state_sessiongroup_t *state_sessiongroup);#endiftypedef vx_state_sessiongroup_t *vx_state_sessiongroup_ref_t;typedef vx_state_sessiongroup_ref_t *vx_state_sessiongroup_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_sessiongroup_list_create(int size, vx_state_sessiongroup_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_state_sessiongroup_list_free(vx_state_sessiongroup_t **list, int size);#endiftypedef struct vx_state_account { char *account_handle; char *account_uri; char *display_name; int is_anonymous_login; int state_sessiongroups_count; vx_login_state_change_state state; vx_state_sessiongroup_t **state_sessiongroups; int state_buddy_count; int state_buddy_group_count; vx_state_buddy_t **state_buddies; vx_state_buddy_group_t **state_buddy_groups;} vx_state_account_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_account_create(vx_state_account_t **state_account);VIVOXSDK_DLLEXPORT int vx_state_account_free(vx_state_account_t *state_account);#endiftypedef vx_state_account_t *vx_state_account_ref_t;typedef vx_state_account_ref_t *vx_state_account_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_account_list_create(int size, vx_state_account_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_state_account_list_free(vx_state_account_t **list, int size);#endiftypedef struct vx_state_connector { char *connector_handle; int state_accounts_count; vx_state_account_t **state_accounts; int mic_vol; int mic_mute; int speaker_vol; int speaker_mute;} vx_state_connector_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_connector_create(vx_state_connector_t **state_connector);VIVOXSDK_DLLEXPORT int vx_state_connector_free(vx_state_connector_t *state_connector);#endiftypedef vx_state_connector_t *vx_state_connector_ref_t;typedef vx_state_connector_ref_t *vx_state_connector_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_state_connector_list_create(int size, vx_state_connector_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_state_connector_list_free(vx_state_connector_t **list, int size);#endiftypedef struct vx_channel { char *channel_name; char *channel_desc; char *host; int channel_id; int limit; int capacity; char *modified; char *owner; char *owner_user_name; int is_persistent; /* 1 true, <= 0 false */ int is_protected; /* 1 true, <= 0 false */ int size; int type; vx_channel_mode mode; char *channel_uri; int max_range; int clamping_dist; double roll_off; double max_gain; int dist_model; int encrypt_audio; char *owner_display_name; int active_participants;} vx_channel_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_channel_create(vx_channel_t **channel);VIVOXSDK_DLLEXPORT int vx_channel_free(vx_channel_t *channel);#endiftypedef vx_channel_t *vx_channel_ref_t;typedef vx_channel_ref_t *vx_channel_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_channel_list_create(int size, vx_channel_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_channel_list_free(vx_channel_t **list, int size);#endiftypedef struct vx_voice_font { int id; int parent_id; vx_font_type type; char *name; char *description; char *expiration_date; int expired; // 0 is false, 1 is true char *font_delta; char *font_rules; vx_font_status status;} vx_voice_font_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_voice_font_create(vx_voice_font_t **channel);VIVOXSDK_DLLEXPORT int vx_voice_font_free(vx_voice_font_t *channel);#endiftypedef vx_voice_font_t *vx_voice_font_ref_t;typedef vx_voice_font_ref_t *vx_voice_font_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_voice_font_list_create(int size, vx_voice_font_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_voice_font_list_free(vx_voice_font_t **list, int size);VIVOXSDK_DLLEXPORT int vx_string_list_create(int size, char ***list_out);VIVOXSDK_DLLEXPORT int vx_string_list_free(char **list);#endiftypedef struct vx_block_rule { char *block_mask; int presence_only;} vx_block_rule_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_block_rule_create(vx_block_rule_t **block_rule);VIVOXSDK_DLLEXPORT int vx_block_rule_free(vx_block_rule_t *block_rule);#endiftypedef vx_block_rule_t *vx_block_rule_ref_t;typedef vx_block_rule_ref_t *vx_block_rules_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_block_rules_create(int size, vx_block_rules_t *list_out);VIVOXSDK_DLLEXPORT int vx_block_rules_free(vx_block_rule_t **list, int size);#endiftypedef struct vx_auto_accept_rule { char *auto_accept_mask; int auto_add_as_buddy; char *auto_accept_nickname;} vx_auto_accept_rule_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_auto_accept_rule_create(vx_auto_accept_rule_t **auto_accept_rule);VIVOXSDK_DLLEXPORT int vx_auto_accept_rule_free(vx_auto_accept_rule_t *auto_accept_rule);#endiftypedef vx_auto_accept_rule_t *vx_auto_accept_rule_ref_t;typedef vx_auto_accept_rule_ref_t *vx_auto_accept_rules_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_auto_accept_rules_create(int size, vx_auto_accept_rules_t *list_out);VIVOXSDK_DLLEXPORT int vx_auto_accept_rules_free(vx_auto_accept_rule_t **list, int size);#endiftypedef struct vx_user_channel { char *uri; char *name;} vx_user_channel_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_user_channel_create(vx_user_channel_t **user_channel);VIVOXSDK_DLLEXPORT int vx_user_channel_free(vx_user_channel_t *user_channel);#endiftypedef vx_user_channel_t *vx_user_channel_ref_t;typedef vx_user_channel_ref_t *vx_user_channels_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_user_channels_create(int size, vx_user_channels_t *list_out);VIVOXSDK_DLLEXPORT int vx_user_channels_free(vx_user_channel_t **list, int size);#endiftypedef struct vx_connectivity_test_result { ND_TEST_TYPE test_type; ND_ERROR test_error_code; char *test_additional_info;} vx_connectivity_test_result_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_connectivity_test_result_create(vx_connectivity_test_result_t **connectivity_test_result, ND_TEST_TYPE tt);VIVOXSDK_DLLEXPORT int vx_connectivity_test_result_free(vx_connectivity_test_result_t *connectivity_test_result);#endiftypedef vx_connectivity_test_result_t *vx_connectivity_test_result_ref_t;typedef vx_connectivity_test_result_ref_t *vx_connectivity_test_results_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_connectivity_test_results_create(int size, vx_connectivity_test_results_t *list_out);VIVOXSDK_DLLEXPORT int vx_connectivity_test_results_free(vx_connectivity_test_result_t **list, int size);#endiftypedef struct vx_account { char *uri; char *firstname; char *lastname; char *username; char *displayname; char *email; char *phone; char *carrier; // Not currently implemented. char *created_date;} vx_account_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_account_create(vx_account_t **account);VIVOXSDK_DLLEXPORT int vx_account_free(vx_account_t *account);#endiftypedef enum vx_device_type { vx_device_type_specific_device = 0, vx_device_type_default_system = 1, vx_device_type_null = 2, vx_device_type_default_communication = 3} vx_device_type_t;typedef struct vx_device { char *device; char *display_name; vx_device_type_t device_type;} vx_device_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_device_create(vx_device_t **device);VIVOXSDK_DLLEXPORT int vx_device_free(vx_device_t *device);#endiftypedef vx_device_t *vx_device_ref_t;typedef vx_device_ref_t *vx_devices_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_devices_create(int size, vx_devices_t *list_out);VIVOXSDK_DLLEXPORT int vx_devices_free(vx_device_t **list, int size);#endiftypedef struct vx_buddy { char *buddy_uri; char *display_name; int parent_group_id; char *buddy_data; int account_id; char *account_name;} vx_buddy_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_buddy_create(vx_buddy_t **buddy);VIVOXSDK_DLLEXPORT int vx_buddy_free(vx_buddy_t *buddy);#endiftypedef vx_buddy_t *vx_buddy_ref_t;typedef vx_buddy_ref_t *vx_buddy_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_buddy_list_create(int size, vx_buddy_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_buddy_list_free(vx_buddy_t **list, int size);#endiftypedef struct vx_group { int group_id; char *group_name; char *group_data;} vx_group_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_group_create(vx_group_t **group);VIVOXSDK_DLLEXPORT int vx_group_free(vx_group_t *group);#endiftypedef vx_group_t *vx_group_ref_t;typedef vx_group_ref_t *vx_group_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_group_list_create(int size, vx_group_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_group_list_free(vx_group_t **list, int size);#endiftypedef struct vx_name_value_pair { char *name; char *value;} vx_name_value_pair_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_name_value_pair_create(vx_name_value_pair_t **nvpair);VIVOXSDK_DLLEXPORT int vx_name_value_pair_free(vx_name_value_pair_t *nvpair);#endiftypedef vx_name_value_pair_t *vx_name_value_pair_ref_t;typedef vx_name_value_pair_ref_t *vx_name_value_pairs_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_name_value_pairs_create(int size, vx_name_value_pairs_t *list_out);VIVOXSDK_DLLEXPORT int vx_name_value_pairs_free(vx_name_value_pair_t **list, int size);#endiftypedef enum { vx_conversation_channel = 0, vx_conversation_direct = 1} vx_conversation_type;typedef struct vx_conversation { char *name; vx_conversation_type type; char *display_name; int unread_count;} vx_conversation_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_conversation_create(vx_conversation_t **conversation);VIVOXSDK_DLLEXPORT int vx_conversation_free(vx_conversation_t *conversation);#endiftypedef vx_conversation_t *vx_conversation_ref_t;typedef vx_conversation_ref_t *vx_conversation_list_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_conversation_list_create(int size, vx_conversation_list_t *list_out);VIVOXSDK_DLLEXPORT int vx_conversation_list_free(int size, vx_conversation_t **list);#endif/* Vivox SDK functions */#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT char *vx_strdup(const char *);VIVOXSDK_DLLEXPORT int vx_free(char *);VIVOXSDK_DLLEXPORT int vx_unallocate(void *p);VIVOXSDK_DLLEXPORT void *vx_allocate(size_t nBytes);VIVOXSDK_DLLEXPORT void *vx_reallocate(void *p, size_t nBytes);VIVOXSDK_DLLEXPORT void *vx_calloc(size_t num, size_t bytesPerElement);VIVOXSDK_DLLEXPORT void *vx_allocate_aligned(size_t alignment, size_t size);VIVOXSDK_DLLEXPORT int vx_unallocate_aligned(void *p);#define VX_GET_MESSAGE_NO_MESSAGE -1#define VX_GET_MESSAGE_AVAILABLE 0#define VX_GET_MESSAGE_FAILURE 1VIVOXSDK_DLLEXPORT int vx_get_message(vx_message_base_t **message);VIVOXSDK_DLLEXPORT int vx_issue_request(vx_req_base_t *request);VIVOXSDK_DLLEXPORT int vx_issue_request2(vx_req_base_t *request);VIVOXSDK_DLLEXPORT int vx_issue_request3(vx_req_base_t *request, int *request_count);VIVOXSDK_DLLEXPORT int vx_request_to_xml(void *request, char **xml);VIVOXSDK_DLLEXPORT vx_request_type vx_xml_to_request(const char *xml, void **request, char **error);VIVOXSDK_DLLEXPORT int vx_response_to_xml(void *response, char **xml);VIVOXSDK_DLLEXPORT vx_response_type vx_xml_to_response(const char *xml, void **response, char **error);VIVOXSDK_DLLEXPORT int vx_event_to_xml(void *event, char **xml);VIVOXSDK_DLLEXPORT vx_event_type vx_xml_to_event(const char *xml, void **event, char **error);VIVOXSDK_DLLEXPORT vx_message_type vx_get_message_type(const char *xml);VIVOXSDK_DLLEXPORT unsigned long long vx_get_time_ms(void);VIVOXSDK_DLLEXPORT unsigned long long vx_get_time_milli_seconds(void);VIVOXSDK_DLLEXPORT unsigned long long vx_get_time_micro_seconds(void);VIVOXSDK_DLLEXPORT long long vx_sleep_milli_seconds(unsigned long long milli_seconds);VIVOXSDK_DLLEXPORT int vx_register_message_notification_handler(void (*pf_handler)(void *), void *cookie);VIVOXSDK_DLLEXPORT int vx_unregister_message_notification_handler(void (*pf_handler)(void *), void *cookie);VIVOXSDK_DLLEXPORT vx_message_base_t *vx_wait_for_message(int msTimeout);VIVOXSDK_DLLEXPORT int vx_register_logging_initialization( vx_log_type log_type, const char *log_folder, const char *log_filename_prefix, const char *log_filename_suffix, int log_level, void (*pf_handler)(const char *source, const char *level, const char *message));VIVOXSDK_DLLEXPORT char *vx_get_log_file_path(void);VIVOXSDK_DLLEXPORT int vx_unregister_logging_handler(void (*pf_handler)(void *), void *cookie);VIVOXSDK_DLLEXPORT int vx_create_account(const char *acct_mgmt_server, const char *admin_name, const char *admin_pw, const char *uname, const char *pw);VIVOXSDK_DLLEXPORT int vx_get_crash_dump_count(void);VIVOXSDK_DLLEXPORT int vx_set_crash_dump_generation_enabled(int value);VIVOXSDK_DLLEXPORT int vx_get_crash_dump_generation(void);VIVOXSDK_DLLEXPORT char *vx_read_crash_dump(int index);VIVOXSDK_DLLEXPORT time_t vx_get_crash_dump_timestamp(int index);VIVOXSDK_DLLEXPORT int vx_delete_crash_dump(int index);VIVOXSDK_DLLEXPORT int vx_on_application_exit(void);VIVOXSDK_DLLEXPORT const char *vx_get_sdk_version_info(void);VIVOXSDK_DLLEXPORT const char *vx_get_sdk_version_info_ex(void);VIVOXSDK_DLLEXPORT int vx_apply_font_to_file(const char *fontDefinition, const char *inputFile, const char *outputFile);VIVOXSDK_DLLEXPORT int vx_apply_font_to_file_return_energy_ratio(const char *fontDefinition, const char *inputFile, const char *outputFile, double *energyRatio);VIVOXSDK_DLLEXPORT int vx_apply_font_to_vxz_file_return_energy_ratio(const char *fontDefinition, const char *inputFile, const char *outputFile, double *energyRatio);VIVOXSDK_DLLEXPORT void *vx_copy_audioBuffer(void *audioBufferPtr);VIVOXSDK_DLLEXPORT double vx_get_audioBuffer_duration(void *audioBufferPtr);VIVOXSDK_DLLEXPORT int vx_get_audioBuffer_sample_rate(void *audioBufferPtr);VIVOXSDK_DLLEXPORT int vx_free_audioBuffer(void **audioBufferPtr);VIVOXSDK_DLLEXPORT int vx_export_audioBuffer_to_pcm(void *audioBufferPtr, short *pcmBuffer, int maxSamples);VIVOXSDK_DLLEXPORT int vx_export_audioBuffer_to_wav_file(void *audioBufferPtr, const char *outputFile);VIVOXSDK_DLLEXPORT int vx_export_audioBuffer_to_memory(void *audioBufferPtr, short **audioBufferOut, int *nSamplesOut, int *sampleRateOut, int *nChannelsOut);VIVOXSDK_DLLEXPORT int vx_set_out_of_process_server_address(const char *address, unsigned short port);VIVOXSDK_DLLEXPORT int vx_initialize(void);VIVOXSDK_DLLEXPORT int vx_initialize3(vx_sdk_config_t *config, size_t config_size);VIVOXSDK_DLLEXPORT int vx_is_initialized(void);VIVOXSDK_DLLEXPORT int vx_get_default_config3(vx_sdk_config_t *config, size_t config_size);VIVOXSDK_DLLEXPORT int vx_uninitialize(void);#endif#define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000_EXPANDED 0x10001#define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000 VIVOX_V_V2_AUDIO_DATA_MONO_SIREN14_32000_EXPANDED#define VIVOX_V_V2_AUDIO_DATA_MONO_SIREN7_16000_EXPANDED 0x10008#define VIVOX_V_V2_AUDIO_DATA_MONO_OPUS_48000_EXPANDED 0x10009#define VIVOX_VANI_SIREN7 0x2 /* Siren7, 16kHz, 32kbps */#define VIVOX_VANI_SIREN14 0x4 /* Siren14, 32kHz, 32kbps */#define VIVOX_VANI_LEGACY_MASK 0x6#define VIVOX_VANI_OPUS8 0x10 /* Opus, 48kHz, 8kbps */#define VIVOX_VANI_OPUS40 0x20 /* Opus, 48kHz, 40kbps */#define VIVOX_VANI_OPUS57 0x40 /* Opus, 48kHz, 57kbps */ /* proposed; pending research */#define VIVOX_VANI_OPUS72 0x80 /* Opus, 48kHz, 72kbps */ /* proposed; pending research */#define VIVOX_VANI_OPUS VIVOX_VANI_OPUS40#define VIVOX_VANI_OPUS_MASK 0xf0#define VIVOX_VANI_PCMU VX_DEPRECATED_MACRO(VIVOX_VANI_PCMU, 5.19) VIVOX_VANI_OPUS8typedef enum { vx_codec_siren7 = VIVOX_VANI_SIREN7, /* Siren7, 16kHz, 32kbps */ vx_codec_siren14 = VIVOX_VANI_SIREN14, /* Siren14, 32kHz, 32kbps */ vx_codec_opus8 = VIVOX_VANI_OPUS8, /* Opus, 48kHz, 8kbps */ vx_codec_opus40 = VIVOX_VANI_OPUS40, /* Opus, 48kHz, 40kbps -- recommended Opus default */ vx_codec_opus57 = VIVOX_VANI_OPUS57, /* Opus, 48kHz, 57kbps -- proposed; pending research */ vx_codec_opus72 = VIVOX_VANI_OPUS72, /* Opus, 48kHz, 72kbps -- proposed; pending research */ VX_DEPRECATED_ENUM_GCC(vx_codec_pcmu, 5.19) = VIVOX_VANI_OPUS8 /* PCMU functionality has been removed */} vx_codec;VX_DEPRECATED_ENUM_MSC(vx_codec_pcmu)typedef struct vx_stat_sample { double sample_count; double sum; double sum_of_squares; double mean; double stddev; double min; double max; double last;} vx_stat_sample_t;typedef struct vx_stat_thread { int interval; int count_poll_lt_1ms; int count_poll_lt_5ms; int count_poll_lt_10ms; int count_poll_lt_16ms; int count_poll_lt_20ms; int count_poll_lt_25ms; int count_poll_gte_25ms;} vx_stat_thread_t;typedef struct vx_system_stats { int ss_size; int ar_source_count; int ar_source_queue_limit; int ar_source_queue_overflows; int ar_source_poll_count; unsigned msgovrld_count; vx_stat_sample_t ar_source_free_buffers; vx_stat_sample_t ar_source_queue_depth; vx_stat_thread_t vp_thread; vx_stat_thread_t ticker_thread; int clnt_count; int lc_count; int mps_count; int mpsg_count; int strms_count; int strr_count; int strss_count; int vp_count;} vx_system_stats_t;typedef enum vx_application_state_notification_type { vx_application_state_notification_type_before_background = 0, vx_application_state_notification_type_after_foreground = 1, vx_application_state_notification_type_periodic_background_idle = 2} vx_application_state_notification_type_t;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT int vx_debug_call(void *);VIVOXSDK_DLLEXPORT int vx_get_system_stats(vx_system_stats_t *system_stats);#define VX_VAR_DECODER_COUNT_LIMIT "DecoderLimit"#define VX_VAR_DECODER_HANGOVER_LIMIT "DecoderHangoverLimit"#define VX_VAR_RTP_ENCRYPTION "RTPEncryption"VIVOXSDK_DLLEXPORT int vx_get_int_var(const char *var_name, int *p_value);VIVOXSDK_DLLEXPORT int vx_set_int_var(const char *var_name, int value);VIVOXSDK_DLLEXPORT int vx_destroy_message(vx_message_base_t *message);#endiftypedef enum { VXA_SUCCESS = 0, VXA_INVALID_PARAMETER = 1, VXA_DEVICE_DOES_NOT_EXIST = 2, VXA_INTERNAL_ERROR = 3, VXA_OUT_OF_MEMORY = 4, VXA_INVALID_STATE = 5, VXA_NO_MORE_DATA = 6, VXA_FEATURE_NOT_SUPPORTED = 7, VXA_MAX_DEVICES_EXCEEDED = 8, VXA_NO_BUFFERS_AVAILABLE = 9, VXA_ACCESS_DENIED = 10} VXA_ERROR_CODES;typedef enum { VXA_CAPTURE_OPEN_FLAG_USE_AEC = 0x00000001, VXA_CAPTURE_OPEN_FLAG_USE_AGC = 0x00000002} VXA_CAPTURE_FLAGS;typedef int vxa_status_t;typedef struct vxa_capture_device_stats_t { int buffer_underrun_count; int buffer_overrun_count; int other_error_count; int audio_queue_read_count; // Correlate with buffer_underrun_count int audio_queue_write_count; // Correlate with buffer_overrun_count} vxa_capture_device_stats_t;typedef struct vxa_render_device_stats_t { int current_output_queue_depth_milliseconds; int buffer_underrun_count; int buffer_overrun_count; int other_error_count; int audio_queue_read_count; // Correlate with buffer_underrun_count int audio_queue_write_count; // Correlate with buffer_overrun_count int hardware_output_channels; int hardware_preferred_samplerate; int hardware_preferred_buffer_duration;} vxa_render_device_stats_t;#define MAX_VXA_DEVICE_COUNT 32typedef enum { channel_rolloff_curve_type_none = 0, channel_rolloff_curve_type_inverse_distance_clamped = 1, channel_rolloff_curve_type_linear_distance_clamped = 2, channel_rolloff_curve_type_exponential_distance_clamped = 3} vx_channel_rolloff_curve_type;#ifndef VIVOX_TYPES_ONLYVIVOXSDK_DLLEXPORT char *vx_debug_generate_token(const char *issuer, vx_time_t expiration, const char *vxa, unsigned long long serial, const char *subject, const char *from_uri, const char *to_uri, const unsigned char *key, size_t key_len);VIVOXSDK_DLLEXPORT unsigned int vx_get_http(const char *url, unsigned int *response_code, char **content, size_t *content_len, char **content_type, size_t *content_type_len);VIVOXSDK_DLLEXPORT int vx_free_http(char **content, char **content_type);VIVOXSDK_DLLEXPORT char *vx_get_random_user_id(const char *prefix);VIVOXSDK_DLLEXPORT char *vx_get_random_user_id_ex(const char *prefix, const char *issuer);VIVOXSDK_DLLEXPORT char *vx_get_random_channel_uri(const char *prefix, const char *realm);VIVOXSDK_DLLEXPORT char *vx_get_random_channel_uri_ex(const char *prefix, const char *realm, const char *issuer);VIVOXSDK_DLLEXPORT char *vx_get_user_uri(const char *name, const char *realm, const char *issuer);VIVOXSDK_DLLEXPORT char *vx_get_echo_channel_uri(const char *name, const char *realm, const char *issuer);VIVOXSDK_DLLEXPORT char *vx_get_general_channel_uri(const char *name, const char *realm, const char *issuer);VIVOXSDK_DLLEXPORT char *vx_get_positional_channel_uri(const char *name, const char *realm, int max_range, int clamping_distance, double rolloff, vx_channel_rolloff_curve_type distance_model, const char *issuer);VIVOXSDK_DLLEXPORT char *vx_uri_to_string(int is_multitenant, const char *uri);#endif/* Audio Quality Controls functions */typedef enum { opus_mode_cbr = 0, opus_mode_lvbr = 1, opus_mode_vbr = 2} vx_opus_vbr_mode;typedef enum { opus_bandwidth_auto = 0, opus_bandwidth_nb = 1, opus_bandwidth_mb = 2, opus_bandwidth_wb = 3, opus_bandwidth_swb = 4, opus_bandwidth_fb = 5} vx_opus_bandwidth;VIVOXSDK_DLLEXPORT int vx_opus_set_bit_rate(int bits_per_second);VIVOXSDK_DLLEXPORT int vx_opus_get_bit_rate(int *p_bits_per_second);VIVOXSDK_DLLEXPORT int vx_opus_set_complexity(int complexity);VIVOXSDK_DLLEXPORT int vx_opus_get_complexity(int *p_complexity);VIVOXSDK_DLLEXPORT int vx_opus_set_vbr_mode(int vbr_mode);VIVOXSDK_DLLEXPORT int vx_opus_get_vbr_mode(int *p_vbr_mode);VIVOXSDK_DLLEXPORT int vx_opus_set_bandwidth(int bandwidth);VIVOXSDK_DLLEXPORT int vx_opus_get_bandwidth(int *p_bandwidth);VIVOXSDK_DLLEXPORT unsigned int vx_get_available_codecs_mask(void);VIVOXSDK_DLLEXPORT unsigned int vx_get_default_codecs_mask(void);VIVOXSDK_DLLEXPORT int vx_get_dump_memory_interval(void);VIVOXSDK_DLLEXPORT int vx_cpumonitor_start(int interval, int report_interval);VIVOXSDK_DLLEXPORT int vx_cpumonitor_stop(void);VIVOXSDK_DLLEXPORT int vx_cpumonitor_start_eater(int nthreads, int priority);VIVOXSDK_DLLEXPORT int vx_cpumonitor_stop_eater(void);typedef enum vx_crash_test_type { vx_crash_access_zero_pointer = 0, vx_crash_access_violation = 1, vx_crash_stack_overflow = 2, vx_crash_heap_corruption = 3,#ifdef __clang__ vx_crash_builtin_trap = 4#endif} vx_crash_test_type_t;VIVOXSDK_DLLEXPORT int vx_crash_test(vx_crash_test_type_t crash_type);VIVOXSDK_DLLEXPORT int vx_set_message_rate_params(unsigned bucketSize, float messageSpeed, int fillBucket);VIVOXSDK_DLLEXPORT int vx_set_default_message_rate_params(void);VIVOXSDK_DLLEXPORT int vx_android_set_mic_mute(int mute);VIVOXSDK_DLLEXPORT int vx_internal_enable_debug_mode_disable_strict_checks(void);VIVOXSDK_DLLEXPORT int vx_internal_disable_debug_mode_enable_strict_checks(void);VIVOXSDK_DLLEXPORT int vx_is_access_token_well_formed(const char *access_token, char **error);typedef struct vx_vxd { size_t version; char *participant_uri; char *data; size_t data_size;} vx_vxd_t;VIVOXSDK_DLLEXPORT int vx_vxd_send(VX_HANDLE session_handle, const char *data, size_t size);VIVOXSDK_DLLEXPORT int vx_vxd_recv(VX_HANDLE session_handle, vx_vxd_t **vxd_ptr);VIVOXSDK_DLLEXPORT int vx_vxd_destroy(vx_vxd_t *vxd);typedef enum { path_cache_folder = 0} vx_path_id;VIVOXSDK_DLLEXPORT char *vx_get_path(unsigned int path_id);VIVOXSDK_DLLEXPORT int vx_get_dynamic_voice_processing_switching_enabled(int *enabled);VIVOXSDK_DLLEXPORT int vx_set_dynamic_voice_processing_switching_enabled(int enabled);VIVOXSDK_DLLEXPORT int vx_get_ios_voice_processing_io_mode(int *mode);VIVOXSDK_DLLEXPORT int vx_set_ios_voice_processing_io_mode(int mode);VIVOXSDK_DLLEXPORT int vx_get_platform_aec_enabled(int *enabled);VIVOXSDK_DLLEXPORT int vx_set_platform_aec_enabled(int enabled);VIVOXSDK_DLLEXPORT int vx_get_vivox_aec_enabled(int *enabled);VIVOXSDK_DLLEXPORT int vx_set_vivox_aec_enabled(int enabled);typedef enum { noise_suppression_low = 0, noise_suppression_moderate = 1, noise_suppression_high = 2, noise_suppression_very_high = 3} vx_noise_suppression_level;VIVOXSDK_DLLEXPORT int vx_get_noise_suppression_enabled(int *enabled);VIVOXSDK_DLLEXPORT int vx_get_noise_suppression_level(vx_noise_suppression_level *level);VIVOXSDK_DLLEXPORT int vx_set_noise_suppression_enabled(int enabled);VIVOXSDK_DLLEXPORT int vx_set_noise_suppression_level(vx_noise_suppression_level level);VIVOXSDK_DLLEXPORT int vx_set_agc_enabled(int enabled);VIVOXSDK_DLLEXPORT int vx_get_agc_enabled(int *enabled);VIVOXSDK_DLLEXPORT int vx_set_volume_based_duplication_suppression_enabled(int enabled);VIVOXSDK_DLLEXPORT int vx_get_volume_based_duplication_suppression_enabled(int *enabled);VIVOXSDK_DLLEXPORT int vx_set_3d_channel_volume_protection_enabled(int enabled);VIVOXSDK_DLLEXPORT int vx_get_3d_channel_volume_protection_enabled(int *enabled);VIVOXSDK_DLLEXPORT int vx_set_audio_clipping_protector_enabled(int enabled);VIVOXSDK_DLLEXPORT int vx_get_audio_clipping_protector_enabled(int *enabled);VIVOXSDK_DLLEXPORT int vx_set_audio_clipping_protector_parameters(float minimum_threshold_db, float threshold_boost_slope);VIVOXSDK_DLLEXPORT int vx_get_audio_clipping_protector_parameters(float *minimum_threshold_db, float *threshold_boost_slope);typedef enum { tts_dest_remote_transmission = 0, tts_dest_local_playback = 1, tts_dest_remote_transmission_with_local_playback = 2, tts_dest_queued_remote_transmission = 3, tts_dest_queued_local_playback = 4, tts_dest_queued_remote_transmission_with_local_playback = 5, tts_dest_screen_reader = 6 } vx_tts_destination;typedef enum { tts_status_success = 0, tts_error_invalid_engine_type = -1001, tts_error_engine_allocation_failed = -1002, tts_error_not_supported = -1003, tts_error_max_characters_exceeded = -1004, tts_error_utterance_below_min_duration = -1005, tts_status_input_text_was_enqueued = -1006, tts_error_sdk_not_initialized = -1007, tts_error_destination_queue_is_full = -1008, tts_status_enqueue_not_necessary = -1009, tts_error_utterance_not_found = -1010, tts_error_manager_not_found = -1011, tts_error_invalid_argument = -1012, tts_error_internal = -1013 } vx_tts_status;typedef unsigned int vx_tts_manager_id;typedef unsigned int vx_tts_utterance_id;typedef unsigned int vx_tts_voice_id;/* End definitions outside of #ifndef VX_DISABLE_TTS */#ifndef VX_DISABLE_TTS#define VX_TTS_CHARACTER_COUNT_LIMIT 200#define VX_TTS_MAX_DESTINATION_QUEUE_SIZE 10#define VX_TTS_DEFAULT_DESTINATION tts_dest_remote_transmissiontypedef enum { tts_engine_vivox_default = 0} vx_tts_engine_type;typedef struct vx_tts_utterance_impl vx_tts_utterance_impl_t;typedef struct vx_tts_utterance { const vx_tts_utterance_impl_t * const utterance_obj; const short *speech_buffer; int sample_rate; int num_frames; int num_channels; } vx_tts_utterance_t;typedef struct vx_tts_voice { vx_tts_voice_id voice_id; const char *name; } vx_tts_voice_t;VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_initialize(vx_tts_engine_type engine_type, vx_tts_manager_id *tts_manager_id);VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_get_voices(vx_tts_manager_id tts_manager_id, int *num_voices, vx_tts_voice_t **voices);VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_shutdown(vx_tts_manager_id *tts_manager_id);VIVOXSDK_DLLEXPORT const char *vx_get_tts_status_string(vx_tts_status status_code);VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_speak(vx_tts_manager_id tts_manager_id, vx_tts_voice_id voice_id, const char *input_text, vx_tts_destination tts_dest, vx_tts_utterance_id *utterance_id);VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_speak_to_buffer(vx_tts_manager_id tts_manager_id, vx_tts_voice_id voice_id, const char *input_text, vx_tts_utterance_t **utterance);VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_destroy_utterance(vx_tts_manager_id tts_manager_id, vx_tts_utterance_t *utterance);VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_cancel_utterance(vx_tts_manager_id tts_manager_id, vx_tts_utterance_id utterance_id);VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_cancel_all_in_dest(vx_tts_manager_id tts_manager_id, vx_tts_destination tts_dest);VIVOXSDK_DLLEXPORT vx_tts_status vx_tts_cancel_all(vx_tts_manager_id tts_manager_id);#endif#ifdef __cplusplus}#endif#pragma pack(pop)