# sdk/VxcErrors.h

> Reference the Vivox Core SDK API.

## Functions

|                                   | Name                                                                                                                                                                                                                                     |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_error\_string](./group__diagnostics#function-vx_get_error_string)**(int errorCode)Get an error string for a particular error code.                                                                                           |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_request\_type\_string](./_vxc_errors_8h#function-vx_get_request_type_string)**([vx\_request\_type](./_vxc_8h#enum-vx_request_type) t)                                                                                        |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_response\_type\_string](./_vxc_errors_8h#function-vx_get_response_type_string)**([vx\_response\_type](./_vxc_8h#enum-vx_response_type) t)                                                                                    |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_event\_type\_string](./_vxc_errors_8h#function-vx_get_event_type_string)**([vx\_event\_type](./_vxc_8h#enum-vx_event_type) t)                                                                                                |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_login\_state\_string](./_vxc_errors_8h#function-vx_get_login_state_string)**([vx\_login\_state\_change\_state](./_vxc_8h#enum-vx_login_state_change_state) t)                                                                |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_presence\_state\_string](./_vxc_errors_8h#function-vx_get_presence_state_string)**([vx\_buddy\_presence\_state](./_vxc_8h#enum-vx_buddy_presence_state) t)                                                                   |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_self\_presence\_state\_string](./_vxc_errors_8h#function-vx_get_self_presence_state_string)**([vx\_presence\_state](./_vxc_8h#enum-vx_presence_state) t)                                                                     |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_notification\_type\_string](./_vxc_errors_8h#function-vx_get_notification_type_string)**([vx\_notification\_type](./_vxc_8h#enum-vx_notification_type) t)                                                                    |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_session\_media\_state\_string](./_vxc_errors_8h#function-vx_get_session_media_state_string)**([vx\_session\_media\_state](./_vxc_8h#enum-vx_session_media_state) t)                                                          |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_session\_text\_state\_string](./_vxc_errors_8h#function-vx_get_session_text_state_string)**([vx\_session\_text\_state](./_vxc_8h#enum-vx_session_text_state) t)                                                              |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_media\_completion\_type\_string](./_vxc_errors_8h#function-vx_get_media_completion_type_string)**([vx\_media\_completion\_type](./_vxc_8h#enum-vx_media_completion_type) t)                                                  |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_participant\_removed\_reason\_string](./_vxc_errors_8h#function-vx_get_participant_removed_reason_string)**([vx\_participant\_removed\_reason](./_vxc_8h#enum-vx_participant_removed_reason) t)                              |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_audio\_device\_hot\_swap\_type\_string](./_vxc_errors_8h#function-vx_get_audio_device_hot_swap_type_string)**([vx\_audio\_device\_hot\_swap\_event\_type\_t](./_vxc_events_8h#enum-vx_audio_device_hot_swap_event_type_t) t) |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_channel\_rolloff\_curve\_type\_string](./_vxc_errors_8h#function-vx_get_channel_rolloff_curve_type_string)**([vx\_channel\_rolloff\_curve\_type](./_vxc_8h#enum-vx_channel_rolloff_curve_type) t)                            |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_tts\_dest\_string](./_vxc_errors_8h#function-vx_get_tts_dest_string)**([vx\_tts\_destination](./_vxc_8h#enum-vx_tts_destination) t)                                                                                          |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_connection\_state\_string](./_vxc_errors_8h#function-vx_get_connection_state_string)**([vx\_connection\_state](./_vxc_8h#enum-vx_connection_state) t)                                                                        |
| VIVOXSDK\_DLLEXPORT const char \* | **[vx\_get\_log\_level\_string](./_vxc_errors_8h#function-vx_get_log_level_string)**([vx\_log\_level](./_vxc_types_8h#enum-vx_log_level) level)Translate a vx\_log\_level to a string.                                                   |

## Defines

|   | Name                                                                                                                                          |
| - | --------------------------------------------------------------------------------------------------------------------------------------------- |
|   | **[VX\_E\_NO\_MESSAGE\_AVAILABLE](./_vxc_errors_8h#define-vx_e_no_message_available)**                                                        |
|   | **[VX\_E\_SUCCESS](./_vxc_errors_8h#define-vx_e_success)**                                                                                    |
|   | **[VX\_E\_INVALID\_XML](./_vxc_errors_8h#define-vx_e_invalid_xml)**                                                                           |
|   | **[VX\_E\_NO\_EXIST](./_vxc_errors_8h#define-vx_e_no_exist)**                                                                                 |
|   | **[VX\_E\_MAX\_CONNECTOR\_LIMIT\_EXCEEDED](./_vxc_errors_8h#define-vx_e_max_connector_limit_exceeded)**                                       |
|   | **[VX\_E\_MAX\_SESSION\_LIMIT\_EXCEEDED](./_vxc_errors_8h#define-vx_e_max_session_limit_exceeded)**                                           |
|   | **[VX\_E\_FAILED](./_vxc_errors_8h#define-vx_e_failed)**                                                                                      |
|   | **[VX\_E\_ALREADY\_LOGGED\_IN](./_vxc_errors_8h#define-vx_e_already_logged_in)**                                                              |
|   | **[VX\_E\_ALREADY\_LOGGED\_OUT](./_vxc_errors_8h#define-vx_e_already_logged_out)**                                                            |
|   | **[VX\_E\_NOT\_LOGGED\_IN](./_vxc_errors_8h#define-vx_e_not_logged_in)**                                                                      |
|   | **[VX\_E\_INVALID\_ARGUMENT](./_vxc_errors_8h#define-vx_e_invalid_argument)**                                                                 |
|   | **[VX\_E\_INVALID\_USERNAME\_OR\_PASSWORD](./_vxc_errors_8h#define-vx_e_invalid_username_or_password)**                                       |
|   | **[VX\_E\_INSUFFICIENT\_PRIVILEGE](./_vxc_errors_8h#define-vx_e_insufficient_privilege)**                                                     |
|   | **[VX\_E\_NO\_SUCH\_SESSION](./_vxc_errors_8h#define-vx_e_no_such_session)**                                                                  |
|   | **[VX\_E\_NOT\_INITIALIZED](./_vxc_errors_8h#define-vx_e_not_initialized)**                                                                   |
|   | **[VX\_E\_REQUESTCONTEXT\_NOT\_FOUND](./_vxc_errors_8h#define-vx_e_requestcontext_not_found)**                                                |
|   | **[VX\_E\_LOGIN\_FAILED](./_vxc_errors_8h#define-vx_e_login_failed)**                                                                         |
|   | **[VX\_E\_SESSION\_MAX](./_vxc_errors_8h#define-vx_e_session_max)**                                                                           |
|   | **[VX\_E\_WRONG\_CONNECTOR](./_vxc_errors_8h#define-vx_e_wrong_connector)**                                                                   |
|   | **[VX\_E\_NOT\_IMPL](./_vxc_errors_8h#define-vx_e_not_impl)**                                                                                 |
|   | **[VX\_E\_REQUEST\_CANCELLED](./_vxc_errors_8h#define-vx_e_request_cancelled)**                                                               |
|   | **[VX\_E\_INVALID\_SESSION\_STATE](./_vxc_errors_8h#define-vx_e_invalid_session_state)**                                                      |
|   | **[VX\_E\_SESSION\_CREATE\_PENDING](./_vxc_errors_8h#define-vx_e_session_create_pending)**                                                    |
|   | **[VX\_E\_SESSION\_TERMINATE\_PENDING](./_vxc_errors_8h#define-vx_e_session_terminate_pending)**                                              |
|   | **[VX\_E\_SESSION\_CHANNEL\_TEXT\_DENIED](./_vxc_errors_8h#define-vx_e_session_channel_text_denied)**                                         |
|   | **[VX\_E\_SESSION\_TEXT\_DENIED](./_vxc_errors_8h#define-vx_e_session_text_denied)**                                                          |
|   | **[VX\_E\_SESSION\_MESSAGE\_BUILD\_FAILED](./_vxc_errors_8h#define-vx_e_session_message_build_failed)**                                       |
|   | **[VX\_E\_SESSION\_MSG\_CONTENT\_TYPE\_FAILED](./_vxc_errors_8h#define-vx_e_session_msg_content_type_failed)**                                |
|   | **[VX\_E\_SESSION\_MEDIA\_CONNECT\_FAILED](./_vxc_errors_8h#define-vx_e_session_media_connect_failed)**                                       |
|   | **[VX\_E\_SESSION\_MEDIA\_DISCONNECT\_FAILED](./_vxc_errors_8h#define-vx_e_session_media_disconnect_failed)**                                 |
|   | **[VX\_E\_SESSION\_DOES\_NOT\_HAVE\_TEXT](./_vxc_errors_8h#define-vx_e_session_does_not_have_text)**                                          |
|   | **[VX\_E\_SESSION\_DOES\_NOT\_HAVE\_AUDIO](./_vxc_errors_8h#define-vx_e_session_does_not_have_audio)**                                        |
|   | **[VX\_E\_SESSION\_MUST\_HAVE\_MEDIA](./_vxc_errors_8h#define-vx_e_session_must_have_media)**                                                 |
|   | **[VX\_E\_SESSION\_IS\_NOT\_3D](./_vxc_errors_8h#define-vx_e_session_is_not_3d)**                                                             |
|   | **[VX\_E\_SESSIONGROUP\_NOT\_FOUND](./_vxc_errors_8h#define-vx_e_sessiongroup_not_found)**                                                    |
|   | **[VX\_E\_REQUEST\_TYPE\_NOT\_SUPPORTED](./_vxc_errors_8h#define-vx_e_request_type_not_supported)**                                           |
|   | **[VX\_E\_REQUEST\_NOT\_SUPPORTED](./_vxc_errors_8h#define-vx_e_request_not_supported)**                                                      |
|   | **[VX\_E\_MULTI\_CHANNEL\_DENIED](./_vxc_errors_8h#define-vx_e_multi_channel_denied)**                                                        |
|   | **[VX\_E\_MEDIA\_DISCONNECT\_NOT\_ALLOWED](./_vxc_errors_8h#define-vx_e_media_disconnect_not_allowed)**                                       |
|   | **[VX\_E\_PRELOGIN\_INFO\_NOT\_RETURNED](./_vxc_errors_8h#define-vx_e_prelogin_info_not_returned)**                                           |
|   | **[VX\_E\_SUBSCRIPTION\_NOT\_FOUND](./_vxc_errors_8h#define-vx_e_subscription_not_found)**                                                    |
|   | **[VX\_E\_INVALID\_SUBSCRIPTION\_RULE\_TYPE](./_vxc_errors_8h#define-vx_e_invalid_subscription_rule_type)**                                   |
|   | **[VX\_E\_INVALID\_MASK](./_vxc_errors_8h#define-vx_e_invalid_mask)**                                                                         |
|   | **[VX\_E\_INVALID\_CONNECTOR\_STATE](./_vxc_errors_8h#define-vx_e_invalid_connector_state)**                                                  |
|   | **[VX\_E\_BUFSIZE](./_vxc_errors_8h#define-vx_e_bufsize)**                                                                                    |
|   | **[VX\_E\_FILE\_OPEN\_FAILED](./_vxc_errors_8h#define-vx_e_file_open_failed)**                                                                |
|   | **[VX\_E\_FILE\_CORRUPT](./_vxc_errors_8h#define-vx_e_file_corrupt)**                                                                         |
|   | **[VX\_E\_FILE\_WRITE\_FAILED](./_vxc_errors_8h#define-vx_e_file_write_failed)**                                                              |
|   | **[VX\_E\_INVALID\_FILE\_OPERATION](./_vxc_errors_8h#define-vx_e_invalid_file_operation)**                                                    |
|   | **[VX\_E\_NO\_MORE\_FRAMES](./_vxc_errors_8h#define-vx_e_no_more_frames)**                                                                    |
|   | **[VX\_E\_UNEXPECTED\_END\_OF\_FILE](./_vxc_errors_8h#define-vx_e_unexpected_end_of_file)**                                                   |
|   | **[VX\_E\_FILE\_WRITE\_FAILED\_REACHED\_MAX\_FILESIZE](./_vxc_errors_8h#define-vx_e_file_write_failed_reached_max_filesize)**                 |
|   | **[VX\_E\_TERMINATESESSION\_NOT\_VALID](./_vxc_errors_8h#define-vx_e_terminatesession_not_valid)**                                            |
|   | **[VX\_E\_MAX\_PLAYBACK\_SESSIONGROUPS\_EXCEEDED](./_vxc_errors_8h#define-vx_e_max_playback_sessiongroups_exceeded)**                         |
|   | **[VX\_E\_TEXT\_DISCONNECT\_NOT\_ALLOWED](./_vxc_errors_8h#define-vx_e_text_disconnect_not_allowed)**                                         |
|   | **[VX\_E\_TEXT\_CONNECT\_NOT\_ALLOWED](./_vxc_errors_8h#define-vx_e_text_connect_not_allowed)**                                               |
|   | **[VX\_E\_SESSION\_TEXT\_DISABLED](./_vxc_errors_8h#define-vx_e_session_text_disabled)**                                                      |
|   | **[VX\_E\_SESSIONGROUP\_TRANSMIT\_NOT\_ALLOWED](./_vxc_errors_8h#define-vx_e_sessiongroup_transmit_not_allowed)**                             |
|   | **[VX\_E\_CALL\_CREATION\_FAILED](./_vxc_errors_8h#define-vx_e_call_creation_failed)**                                                        |
|   | **[VX\_E\_RTP\_TIMEOUT](./_vxc_errors_8h#define-vx_e_rtp_timeout)**                                                                           |
|   | **[VX\_E\_ACCOUNT\_MISCONFIGURED](./_vxc_errors_8h#define-vx_e_account_misconfigured)**                                                       |
|   | **[VX\_E\_MAXIMUM\_NUMBER\_OF\_CALLS\_EXCEEEDED](./_vxc_errors_8h#define-vx_e_maximum_number_of_calls_exceeeded)**                            |
|   | **[VX\_E\_NO\_SESSION\_PORTS\_AVAILABLE](./_vxc_errors_8h#define-vx_e_no_session_ports_available)**                                           |
|   | **[VX\_E\_INVALID\_MEDIA\_FORMAT](./_vxc_errors_8h#define-vx_e_invalid_media_format)**                                                        |
|   | **[VX\_E\_INVALID\_CODEC\_TYPE](./_vxc_errors_8h#define-vx_e_invalid_codec_type)**                                                            |
|   | **[VX\_E\_RENDER\_DEVICE\_DOES\_NOT\_EXIST](./_vxc_errors_8h#define-vx_e_render_device_does_not_exist)**                                      |
|   | **[VX\_E\_RENDER\_CONTEXT\_DOES\_NOT\_EXIST](./_vxc_errors_8h#define-vx_e_render_context_does_not_exist)**                                    |
|   | **[VX\_E\_RENDER\_SOURCE\_DOES\_NOT\_EXIST](./_vxc_errors_8h#define-vx_e_render_source_does_not_exist)**                                      |
|   | **[VX\_E\_RECORDING\_ALREADY\_ACTIVE](./_vxc_errors_8h#define-vx_e_recording_already_active)**                                                |
|   | **[VX\_E\_RECORDING\_LOOP\_BUFFER\_EMPTY](./_vxc_errors_8h#define-vx_e_recording_loop_buffer_empty)**                                         |
|   | **[VX\_E\_STREAM\_READ\_FAILED](./_vxc_errors_8h#define-vx_e_stream_read_failed)**                                                            |
|   | **[VX\_E\_INVALID\_SDK\_HANDLE](./_vxc_errors_8h#define-vx_e_invalid_sdk_handle)**                                                            |
|   | **[VX\_E\_FAILED\_TO\_CONNECT\_TO\_VOICE\_SERVICE](./_vxc_errors_8h#define-vx_e_failed_to_connect_to_voice_service)**                         |
|   | **[VX\_E\_FAILED\_TO\_SEND\_REQUEST\_TO\_VOICE\_SERVICE](./_vxc_errors_8h#define-vx_e_failed_to_send_request_to_voice_service)**              |
|   | **[VX\_E\_MAX\_LOGINS\_PER\_USER\_EXCEEDED](./_vxc_errors_8h#define-vx_e_max_logins_per_user_exceeded)**                                      |
|   | **[VX\_E\_MAX\_HTTP\_DATA\_RESPONSE\_SIZE\_EXCEEDED](./_vxc_errors_8h#define-vx_e_max_http_data_response_size_exceeded)**                     |
|   | **[VX\_E\_CHANNEL\_URI\_REQUIRED](./_vxc_errors_8h#define-vx_e_channel_uri_required)**                                                        |
|   | **[VX\_E\_INVALID\_CAPTURE\_DEVICE\_FOR\_REQUESTED\_OPERATION](./_vxc_errors_8h#define-vx_e_invalid_capture_device_for_requested_operation)** |
|   | **[VX\_E\_LOOP\_MODE\_RECORDING\_NOT\_ENABLED](./_vxc_errors_8h#define-vx_e_loop_mode_recording_not_enabled)**                                |
|   | **[VX\_E\_TEXT\_DISABLED](./_vxc_errors_8h#define-vx_e_text_disabled)**                                                                       |
|   | **[VX\_E\_VOICE\_FONT\_NOT\_FOUND](./_vxc_errors_8h#define-vx_e_voice_font_not_found)**                                                       |
|   | **[VX\_E\_CROSS\_DOMAIN\_LOGINS\_DISABLED](./_vxc_errors_8h#define-vx_e_cross_domain_logins_disabled)**                                       |
|   | **[VX\_E\_INVALID\_AUTH\_TOKEN](./_vxc_errors_8h#define-vx_e_invalid_auth_token)**                                                            |
|   | **[VX\_E\_INVALID\_APP\_TOKEN](./_vxc_errors_8h#define-vx_e_invalid_app_token)**                                                              |
|   | **[VX\_E\_CAPACITY\_EXCEEDED](./_vxc_errors_8h#define-vx_e_capacity_exceeded)**                                                               |
|   | **[VX\_E\_ALREADY\_INITIALIZED](./_vxc_errors_8h#define-vx_e_already_initialized)**                                                           |
|   | **[VX\_E\_NOT\_UNINITIALIZED\_YET](./_vxc_errors_8h#define-vx_e_not_uninitialized_yet)**                                                      |
|   | **[VX\_E\_NETWORK\_ADDRESS\_CHANGE](./_vxc_errors_8h#define-vx_e_network_address_change)**                                                    |
|   | **[VX\_E\_NETWORK\_DOWN](./_vxc_errors_8h#define-vx_e_network_down)**                                                                         |
|   | **[VX\_E\_POWER\_STATE\_CHANGE](./_vxc_errors_8h#define-vx_e_power_state_change)**                                                            |
|   | **[VX\_E\_HANDLE\_ALREADY\_TAKEN](./_vxc_errors_8h#define-vx_e_handle_already_taken)**                                                        |
|   | **[VX\_E\_HANDLE\_IS\_RESERVED](./_vxc_errors_8h#define-vx_e_handle_is_reserved)**                                                            |
|   | **[VX\_E\_XNETCONNECT\_FAILED](./_vxc_errors_8h#define-vx_e_xnetconnect_failed)**                                                             |
|   | **[VX\_E\_REQUEST\_CANCELED](./_vxc_errors_8h#define-vx_e_request_canceled)**                                                                 |
|   | **[VX\_E\_CALL\_TERMINATED\_NO\_RTP\_RXED](./_vxc_errors_8h#define-vx_e_call_terminated_no_rtp_rxed)**                                        |
|   | **[VX\_E\_CALL\_TERMINATED\_NO\_ANSWER\_LOCAL](./_vxc_errors_8h#define-vx_e_call_terminated_no_answer_local)**                                |
|   | **[VX\_E\_CHANNEL\_URI\_TOO\_LONG](./_vxc_errors_8h#define-vx_e_channel_uri_too_long)**                                                       |
|   | **[VX\_E\_CALL\_TERMINATED\_BAN](./_vxc_errors_8h#define-vx_e_call_terminated_ban)**                                                          |
|   | **[VX\_E\_CALL\_TERMINATED\_KICK](./_vxc_errors_8h#define-vx_e_call_terminated_kick)**                                                        |
|   | **[VX\_E\_CALL\_TERMINATED\_BY\_SERVER](./_vxc_errors_8h#define-vx_e_call_terminated_by_server)**                                             |
|   | **[VX\_E\_ALREADY\_EXIST](./_vxc_errors_8h#define-vx_e_already_exist)**                                                                       |
|   | **[VX\_E\_FEATURE\_DISABLED](./_vxc_errors_8h#define-vx_e_feature_disabled)**                                                                 |
|   | **[VX\_E\_SIZE\_LIMIT\_EXCEEDED](./_vxc_errors_8h#define-vx_e_size_limit_exceeded)**                                                          |
|   | **[VX\_E\_RTP\_SESSION\_SOCKET\_ERROR](./_vxc_errors_8h#define-vx_e_rtp_session_socket_error)**                                               |
|   | **[VX\_E\_SIP\_BACKEND\_REQUIRED](./_vxc_errors_8h#define-vx_e_sip_backend_required)**                                                        |
|   | **[VX\_E\_DEPRECATED](./_vxc_errors_8h#define-vx_e_deprecated)**                                                                              |
|   | **[VX\_E\_NO\_RENDER\_DEVICES\_FOUND](./_vxc_errors_8h#define-vx_e_no_render_devices_found)**                                                 |
|   | **[VX\_E\_NO\_CAPTURE\_DEVICES\_FOUND](./_vxc_errors_8h#define-vx_e_no_capture_devices_found)**                                               |
|   | **[VX\_E\_INVALID\_RENDER\_DEVICE\_SPECIFIER](./_vxc_errors_8h#define-vx_e_invalid_render_device_specifier)**                                 |
|   | **[VX\_E\_RENDER\_DEVICE\_IN\_USE](./_vxc_errors_8h#define-vx_e_render_device_in_use)**                                                       |
|   | **[VX\_E\_INVALID\_CAPTURE\_DEVICE\_SPECIFIER](./_vxc_errors_8h#define-vx_e_invalid_capture_device_specifier)**                               |
|   | **[VX\_E\_CAPTURE\_DEVICE\_IN\_USE](./_vxc_errors_8h#define-vx_e_capture_device_in_use)**                                                     |
|   | **[VX\_E\_UNABLE\_TO\_OPEN\_CAPTURE\_DEVICE](./_vxc_errors_8h#define-vx_e_unable_to_open_capture_device)**                                    |
|   | **[VX\_E\_FAILED\_TO\_CONNECT\_TO\_SERVER](./_vxc_errors_8h#define-vx_e_failed_to_connect_to_server)**                                        |
|   | **[VX\_E\_ACCESSTOKEN\_ALREADY\_USED](./_vxc_errors_8h#define-vx_e_accesstoken_already_used)**                                                |
|   | **[VX\_E\_ACCESSTOKEN\_EXPIRED](./_vxc_errors_8h#define-vx_e_accesstoken_expired)**                                                           |
|   | **[VX\_E\_ACCESSTOKEN\_INVALID\_SIGNATURE](./_vxc_errors_8h#define-vx_e_accesstoken_invalid_signature)**                                      |
|   | **[VX\_E\_ACCESSTOKEN\_CLAIMS\_MISMATCH](./_vxc_errors_8h#define-vx_e_accesstoken_claims_mismatch)**                                          |
|   | **[VX\_E\_ACCESSTOKEN\_MALFORMED](./_vxc_errors_8h#define-vx_e_accesstoken_malformed)**                                                       |
|   | **[VX\_E\_ACCESSTOKEN\_INTERNAL\_ERROR](./_vxc_errors_8h#define-vx_e_accesstoken_internal_error)**                                            |
|   | **[VX\_E\_ACCESSTOKEN\_SERVICE\_UNAVAILABLE](./_vxc_errors_8h#define-vx_e_accesstoken_service_unavailable)**                                  |
|   | **[VX\_E\_ACCESSTOKEN\_ISSUER\_MISMATCH](./_vxc_errors_8h#define-vx_e_accesstoken_issuer_mismatch)**                                          |
|   | **[VxErrorNoMessageAvailable](./_vxc_errors_8h#define-vxerrornomessageavailable)**                                                            |
|   | **[VxErrorSuccess](./_vxc_errors_8h#define-vxerrorsuccess)**                                                                                  |
|   | **[VxErrorAsyncOperationCanceled](./_vxc_errors_8h#define-vxerrorasyncoperationcanceled)**                                                    |
|   | **[VxErrorCaptureDeviceInUse](./_vxc_errors_8h#define-vxerrorcapturedeviceinuse)**                                                            |
|   | **[VxErrorConnectionTerminated](./_vxc_errors_8h#define-vxerrorconnectionterminated)**                                                        |
|   | **[VxErrorFileOpenFailed](./_vxc_errors_8h#define-vxerrorfileopenfailed)**                                                                    |
|   | **[VxErrorHandleReserved](./_vxc_errors_8h#define-vxerrorhandlereserved)**                                                                    |
|   | **[VxErrorHandleTaken](./_vxc_errors_8h#define-vxerrorhandletaken)**                                                                          |
|   | **[VxErrorInternalError](./_vxc_errors_8h#define-vxerrorinternalerror)**                                                                      |
|   | **[VxErrorInvalidArgument](./_vxc_errors_8h#define-vxerrorinvalidargument)**                                                                  |
|   | **[VxErrorInvalidFormat](./_vxc_errors_8h#define-vxerrorinvalidformat)**                                                                      |
|   | **[VxErrorInvalidOperation](./_vxc_errors_8h#define-vxerrorinvalidoperation)**                                                                |
|   | **[VxErrorInvalidState](./_vxc_errors_8h#define-vxerrorinvalidstate)**                                                                        |
|   | **[VxErrorInvalidValueTypeXmlQuery](./_vxc_errors_8h#define-vxerrorinvalidvaluetypexmlquery)**                                                |
|   | **[VxErrorNoMatchingXmlAttributeFound](./_vxc_errors_8h#define-vxerrornomatchingxmlattributefound)**                                          |
|   | **[VxErrorNoMatchingXmlNodeFound](./_vxc_errors_8h#define-vxerrornomatchingxmlnodefound)**                                                    |
|   | **[VxErrorNoMemory](./_vxc_errors_8h#define-vxerrornomemory)**                                                                                |
|   | **[VxErrorNoMoreData](./_vxc_errors_8h#define-vxerrornomoredata)**                                                                            |
|   | **[VxErrorNotSupported](./_vxc_errors_8h#define-vxerrornotsupported)**                                                                        |
|   | **[VxErrorPortNotAvailable](./_vxc_errors_8h#define-vxerrorportnotavailable)**                                                                |
|   | **[VxErrorRtpTimeout](./_vxc_errors_8h#define-vxerrorrtptimeout)**                                                                            |
|   | **[VxErrorUnableToOpenCaptureDevice](./_vxc_errors_8h#define-vxerrorunabletoopencapturedevice)**                                              |
|   | **[VxErrorXmppBackEndRequired](./_vxc_errors_8h#define-vxerrorxmppbackendrequired)**                                                          |
|   | **[VxErrorPreloginDownloadFailed](./_vxc_errors_8h#define-vxerrorprelogindownloadfailed)**                                                    |
|   | **[VxErrorNotLoggedIn](./_vxc_errors_8h#define-vxerrornotloggedin)**                                                                          |
|   | **[VxErrorPresenceMustBeEnabled](./_vxc_errors_8h#define-vxerrorpresencemustbeenabled)**                                                      |
|   | **[VxErrorConnectorLimitExceeded](./_vxc_errors_8h#define-vxerrorconnectorlimitexceeded)**                                                    |
|   | **[VxErrorTargetObjectNotRelated](./_vxc_errors_8h#define-vxerrortargetobjectnotrelated)**                                                    |
|   | **[VxErrorTargetObjectDoesNotExist](./_vxc_errors_8h#define-vxerrortargetobjectdoesnotexist)**                                                |
|   | **[VxErrorMaxLoginsPerUserExceeded](./_vxc_errors_8h#define-vxerrormaxloginsperuserexceeded)**                                                |
|   | **[VxErrorRequestCanceled](./_vxc_errors_8h#define-vxerrorrequestcanceled)**                                                                  |
|   | **[VxErrorBuddyDoesNotExist](./_vxc_errors_8h#define-vxerrorbuddydoesnotexist)**                                                              |
|   | **[VxErrorChannelUriRequired](./_vxc_errors_8h#define-vxerrorchannelurirequired)**                                                            |
|   | **[VxErrorTargetObjectAlreadyExists](./_vxc_errors_8h#define-vxerrortargetobjectalreadyexists)**                                              |
|   | **[VxErrorInvalidCaptureDeviceForRequestedOperation](./_vxc_errors_8h#define-vxerrorinvalidcapturedeviceforrequestedoperation)**              |
|   | **[VxErrorInvalidCaptureDeviceSpecifier](./_vxc_errors_8h#define-vxerrorinvalidcapturedevicespecifier)**                                      |
|   | **[VxErrorInvalidRenderDeviceSpecifier](./_vxc_errors_8h#define-vxerrorinvalidrenderdevicespecifier)**                                        |
|   | **[VxErrorDeviceLimitReached](./_vxc_errors_8h#define-vxerrordevicelimitreached)**                                                            |
|   | **[VxErrorInvalidEventType](./_vxc_errors_8h#define-vxerrorinvalideventtype)**                                                                |
|   | **[VxErrorNotInitialized](./_vxc_errors_8h#define-vxerrornotinitialized)**                                                                    |
|   | **[VxErrorAlreadyInitialized](./_vxc_errors_8h#define-vxerroralreadyinitialized)**                                                            |
|   | **[VxErrorNotImplemented](./_vxc_errors_8h#define-vxerrornotimplemented)**                                                                    |
|   | **[VxErrorTimeout](./_vxc_errors_8h#define-vxerrortimeout)**                                                                                  |
|   | **[VxNoAuthenticationStanzaReceived](./_vxc_errors_8h#define-vxnoauthenticationstanzareceived)**                                              |
|   | **[VxFailedToConnectToXmppServer](./_vxc_errors_8h#define-vxfailedtoconnecttoxmppserver)**                                                    |
|   | **[VxSSLNegotiationToXmppServerFailed](./_vxc_errors_8h#define-vxsslnegotiationtoxmppserverfailed)**                                          |
|   | **[VxErrorUserOffLineOrDoesNotExist](./_vxc_errors_8h#define-vxerroruserofflineordoesnotexist)**                                              |
|   | **[VxErrorCaptureDeviceInvalidated](./_vxc_errors_8h#define-vxerrorcapturedeviceinvalidated)**                                                |
|   | **[VxErrorMaxEtherChannelLimitReached](./_vxc_errors_8h#define-vxerrormaxetherchannellimitreached)**                                          |
|   | **[VxErrorHostUnknown](./_vxc_errors_8h#define-vxerrorhostunknown)**                                                                          |
|   | **[VxErrorChannelUriTooLong](./_vxc_errors_8h#define-vxerrorchanneluritoolong)**                                                              |
|   | **[VxErrorUserUriTooLong](./_vxc_errors_8h#define-vxerroruseruritoolong)**                                                                    |
|   | **[VxErrorInvalidChannelUri](./_vxc_errors_8h#define-vxerrorinvalidchanneluri)**                                                              |
|   | **[VxErrorCrossDomainLoginDisabled](./_vxc_errors_8h#define-vxerrorcrossdomainlogindisabled)**                                                |
|   | **[VxErrorSipRegistrationAuthorizationFailure](./_vxc_errors_8h#define-vxerrorsipregistrationauthorizationfailure)**                          |
|   | **[VxErrorUserAlreadyLoggingOut](./_vxc_errors_8h#define-vxerroruseralreadyloggingout)**                                                      |
|   | **[VxErrorBuddyGroupDoesNotExist](./_vxc_errors_8h#define-vxerrorbuddygroupdoesnotexist)**                                                    |
|   | **[VxErrorPowerEvent](./_vxc_errors_8h#define-vxerrorpowerevent)**                                                                            |
|   | **[VxErrorNetworkAddressChanged](./_vxc_errors_8h#define-vxerrornetworkaddresschanged)**                                                      |
|   | **[VxErrorNetworkDown](./_vxc_errors_8h#define-vxerrornetworkdown)**                                                                          |
|   | **[VxErrorNotUninitializedYet](./_vxc_errors_8h#define-vxerrornotuninitializedyet)**                                                          |
|   | **[VxErrorCallTerminatedBanned](./_vxc_errors_8h#define-vxerrorcallterminatedbanned)**                                                        |
|   | **[VxErrorCallTerminatedKick](./_vxc_errors_8h#define-vxerrorcallterminatedkick)**                                                            |
|   | **[VxErrorCallTerminatedByServer](./_vxc_errors_8h#define-vxerrorcallterminatedbyserver)**                                                    |
|   | **[VxErrorServerRtpTimeout](./_vxc_errors_8h#define-vxerrorserverrtptimeout)**                                                                |
|   | **[VxErrorDeprecated](./_vxc_errors_8h#define-vxerrordeprecated)**                                                                            |
|   | **[VxErrorUserBlocked](./_vxc_errors_8h#define-vxerroruserblocked)**                                                                          |
|   | **[VxErrorMessageTextTooLong](./_vxc_errors_8h#define-vxerrormessagetexttoolong)**                                                            |
|   | **[VxErrorNoMicrophonePermission](./_vxc_errors_8h#define-vxerrornomicrophonepermission)**                                                    |
|   | **[VxErrorMessageTextRateExceeded](./_vxc_errors_8h#define-vxerrormessagetextrateexceeded)**                                                  |
|   | **[VxErrorSessionDoesNotHaveAudio](./_vxc_errors_8h#define-vxerrorsessiondoesnothaveaudio)**                                                  |
|   | **[VxSafeVoiceConsentUnauthorized](./_vxc_errors_8h#define-vxsafevoiceconsentunauthorized)**                                                  |
|   | **[VxSafeVoiceConsentInvalidProjectOrEnvironment](./_vxc_errors_8h#define-vxsafevoiceconsentinvalidprojectorenvironment)**                    |
|   | **[VxSafeVoiceInternalError](./_vxc_errors_8h#define-vxsafevoiceinternalerror)**                                                              |
|   | **[VxSafeVoiceConsentNotSet](./_vxc_errors_8h#define-vxsafevoiceconsentnotset)**                                                              |
|   | **[VxSafeVoiceUnknownError](./_vxc_errors_8h#define-vxsafevoiceunknownerror)**                                                                |
|   | **[VxXmppErrorCodesRangeStart](./_vxc_errors_8h#define-vxxmpperrorcodesrangestart)**                                                          |
|   | **[VxUnknownXmppError](./_vxc_errors_8h#define-vxunknownxmpperror)**                                                                          |
|   | **[VxAccessTokenAlreadyUsed](./_vxc_errors_8h#define-vxaccesstokenalreadyused)**                                                              |
|   | **[VxAccessTokenExpired](./_vxc_errors_8h#define-vxaccesstokenexpired)**                                                                      |
|   | **[VxAccessTokenInvalidSignature](./_vxc_errors_8h#define-vxaccesstokeninvalidsignature)**                                                    |
|   | **[VxAccessTokenClaimsMismatch](./_vxc_errors_8h#define-vxaccesstokenclaimsmismatch)**                                                        |
|   | **[VxAccessTokenMalformed](./_vxc_errors_8h#define-vxaccesstokenmalformed)**                                                                  |
|   | **[VxAccessTokenInternalError](./_vxc_errors_8h#define-vxaccesstokeninternalerror)**                                                          |
|   | **[VxAccessTokenServiceUnavailable](./_vxc_errors_8h#define-vxaccesstokenserviceunavailable)**                                                |
|   | **[VxAccessTokenIssuerMismatch](./_vxc_errors_8h#define-vxaccesstokenissuermismatch)**                                                        |
|   | **[VxErrorTitleDisabled](./_vxc_errors_8h#define-vxerrortitledisabled)**                                                                      |
|   | **[VxXmppErrorBadRequest](./_vxc_errors_8h#define-vxxmpperrorbadrequest)**                                                                    |
|   | **[VxXmppErrorNotAuthorized](./_vxc_errors_8h#define-vxxmpperrornotauthorized)**                                                              |
|   | **[VxXmppErrorItemNotFound](./_vxc_errors_8h#define-vxxmpperroritemnotfound)**                                                                |
|   | **[VxXmppErrorNotAllowed](./_vxc_errors_8h#define-vxxmpperrornotallowed)**                                                                    |
|   | **[VxXmppInternalServerError](./_vxc_errors_8h#define-vxxmppinternalservererror)**                                                            |
|   | **[VxXmppErrorFeatureNotImplemented](./_vxc_errors_8h#define-vxxmpperrorfeaturenotimplemented)**                                              |
|   | **[VxXmppServerErrorServiceUnavailable](./_vxc_errors_8h#define-vxxmppservererrorserviceunavailable)**                                        |
|   | **[VxXmppErrorServiceUnavailable](./_vxc_errors_8h#define-vxxmpperrorserviceunavailable)**                                                    |
|   | **[VxXmppErrorChannelAtCapacity](./_vxc_errors_8h#define-vxxmpperrorchannelatcapacity)**                                                      |
|   | **[VxXmppErrorCodesRangeEnd](./_vxc_errors_8h#define-vxxmpperrorcodesrangeend)**                                                              |
|   | **[VxErrorXmppServerResponseMalformed](./_vxc_errors_8h#define-vxerrorxmppserverresponsemalformed)**                                          |
|   | **[VxErrorXmppServerResponseBadSdp](./_vxc_errors_8h#define-vxerrorxmppserverresponsebadsdp)**                                                |
|   | **[VxErrorXmppServerResponseInviteMissing](./_vxc_errors_8h#define-vxerrorxmppserverresponseinvitemissing)**                                  |
|   | **[VxErrorXmppServerResponseChanAddMissing](./_vxc_errors_8h#define-vxerrorxmppserverresponsechanaddmissing)**                                |
|   | **[VxNetworkSocketErrorUnknown](./_vxc_errors_8h#define-vxnetworksocketerrorunknown)**                                                        |
|   | **[VxNetworkNameResolutionFailed](./_vxc_errors_8h#define-vxnetworknameresolutionfailed)**                                                    |
|   | **[VxNetworkUnableToConnectToServer](./_vxc_errors_8h#define-vxnetworkunabletoconnecttoserver)**                                              |
|   | **[VxNetworkHttpTimeout](./_vxc_errors_8h#define-vxnetworkhttptimeout)**                                                                      |
|   | **[VxNetworkHttpInvalidUrl](./_vxc_errors_8h#define-vxnetworkhttpinvalidurl)**                                                                |
|   | **[VxNetworkHttpInvalidCertificate](./_vxc_errors_8h#define-vxnetworkhttpinvalidcertificate)**                                                |
|   | **[VxNetworkHttpConnectionReset](./_vxc_errors_8h#define-vxnetworkhttpconnectionreset)**                                                      |
|   | **[VxNetworkHttpInvalidServerResponse](./_vxc_errors_8h#define-vxnetworkhttpinvalidserverresponse)**                                          |
|   | **[VxNetworkHttpGeneralConnectionFailure](./_vxc_errors_8h#define-vxnetworkhttpgeneralconnectionfailure)**                                    |
|   | **[VxNetworkReconnectFailure](./_vxc_errors_8h#define-vxnetworkreconnectfailure)**                                                            |
|   | **[VX\_E\_XMPP\_BACKEND\_REQUIRED](./_vxc_errors_8h#define-vx_e_xmpp_backend_required)**                                                      |
|   | **[VxErrorSipBackEndRequired](./_vxc_errors_8h#define-vxerrorsipbackendrequired)**                                                            |

## Functions Documentation

### function vx\_get\_error\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_error_string(
    int errorCode
)
```

Get an error string for a particular error code.

### function vx\_get\_request\_type\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_request_type_string(
    vx_request_type t
)
```

### function vx\_get\_response\_type\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_response_type_string(
    vx_response_type t
)
```

### function vx\_get\_event\_type\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_event_type_string(
    vx_event_type t
)
```

### function vx\_get\_login\_state\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_login_state_string(
    vx_login_state_change_state t
)
```

### function vx\_get\_presence\_state\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_presence_state_string(
    vx_buddy_presence_state t
)
```

### function vx\_get\_self\_presence\_state\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_self_presence_state_string(
    vx_presence_state t
)
```

### function vx\_get\_notification\_type\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_notification_type_string(
    vx_notification_type t
)
```

### function vx\_get\_session\_media\_state\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_session_media_state_string(
    vx_session_media_state t
)
```

### function vx\_get\_session\_text\_state\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_session_text_state_string(
    vx_session_text_state t
)
```

### function vx\_get\_media\_completion\_type\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_media_completion_type_string(
    vx_media_completion_type t
)
```

### function vx\_get\_participant\_removed\_reason\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_participant_removed_reason_string(
    vx_participant_removed_reason t
)
```

### function vx\_get\_audio\_device\_hot\_swap\_type\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_audio_device_hot_swap_type_string(
    vx_audio_device_hot_swap_event_type_t t
)
```

### function vx\_get\_channel\_rolloff\_curve\_type\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_channel_rolloff_curve_type_string(
    vx_channel_rolloff_curve_type t
)
```

### function vx\_get\_tts\_dest\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_tts_dest_string(
    vx_tts_destination t
)
```

### function vx\_get\_connection\_state\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_connection_state_string(
    vx_connection_state t
)
```

### function vx\_get\_log\_level\_string

```cpp
VIVOXSDK_DLLEXPORT const char * vx_get_log_level_string(
    vx_log_level level
)
```

Translate a vx\_log\_level to a string.

## Macros Documentation

### define VX\_E\_NO\_MESSAGE\_AVAILABLE

```cpp
#define VX_E_NO_MESSAGE_AVAILABLE -1
```

### define VX\_E\_SUCCESS

```cpp
#define VX_E_SUCCESS 0
```

### define VX\_E\_INVALID\_XML

```cpp
#define VX_E_INVALID_XML 1000
```

### define VX\_E\_NO\_EXIST

```cpp
#define VX_E_NO_EXIST 1001
```

### define VX\_E\_MAX\_CONNECTOR\_LIMIT\_EXCEEDED

```cpp
#define VX_E_MAX_CONNECTOR_LIMIT_EXCEEDED 1002
```

### define VX\_E\_MAX\_SESSION\_LIMIT\_EXCEEDED

```cpp
#define VX_E_MAX_SESSION_LIMIT_EXCEEDED 1003
```

### define VX\_E\_FAILED

```cpp
#define VX_E_FAILED 1004
```

### define VX\_E\_ALREADY\_LOGGED\_IN

```cpp
#define VX_E_ALREADY_LOGGED_IN 1005
```

### define VX\_E\_ALREADY\_LOGGED\_OUT

```cpp
#define VX_E_ALREADY_LOGGED_OUT 1006
```

### define VX\_E\_NOT\_LOGGED\_IN

```cpp
#define VX_E_NOT_LOGGED_IN 1007
```

### define VX\_E\_INVALID\_ARGUMENT

```cpp
#define VX_E_INVALID_ARGUMENT 1008
```

### define VX\_E\_INVALID\_USERNAME\_OR\_PASSWORD

```cpp
#define VX_E_INVALID_USERNAME_OR_PASSWORD 1009
```

### define VX\_E\_INSUFFICIENT\_PRIVILEGE

```cpp
#define VX_E_INSUFFICIENT_PRIVILEGE 1010
```

### define VX\_E\_NO\_SUCH\_SESSION

```cpp
#define VX_E_NO_SUCH_SESSION 1011
```

### define VX\_E\_NOT\_INITIALIZED

```cpp
#define VX_E_NOT_INITIALIZED 1012
```

### define VX\_E\_REQUESTCONTEXT\_NOT\_FOUND

```cpp
#define VX_E_REQUESTCONTEXT_NOT_FOUND 1013
```

### define VX\_E\_LOGIN\_FAILED

```cpp
#define VX_E_LOGIN_FAILED 1014
```

### define VX\_E\_SESSION\_MAX

```cpp
#define VX_E_SESSION_MAX 1015
```

### define VX\_E\_WRONG\_CONNECTOR

```cpp
#define VX_E_WRONG_CONNECTOR 1016
```

### define VX\_E\_NOT\_IMPL

```cpp
#define VX_E_NOT_IMPL 1017
```

### define VX\_E\_REQUEST\_CANCELLED

```cpp
#define VX_E_REQUEST_CANCELLED 1018
```

### define VX\_E\_INVALID\_SESSION\_STATE

```cpp
#define VX_E_INVALID_SESSION_STATE 1019
```

### define VX\_E\_SESSION\_CREATE\_PENDING

```cpp
#define VX_E_SESSION_CREATE_PENDING 1020
```

### define VX\_E\_SESSION\_TERMINATE\_PENDING

```cpp
#define VX_E_SESSION_TERMINATE_PENDING 1021
```

### define VX\_E\_SESSION\_CHANNEL\_TEXT\_DENIED

```cpp
#define VX_E_SESSION_CHANNEL_TEXT_DENIED 1022
```

### define VX\_E\_SESSION\_TEXT\_DENIED

```cpp
#define VX_E_SESSION_TEXT_DENIED 1023
```

### define VX\_E\_SESSION\_MESSAGE\_BUILD\_FAILED

```cpp
#define VX_E_SESSION_MESSAGE_BUILD_FAILED 1024
```

### define VX\_E\_SESSION\_MSG\_CONTENT\_TYPE\_FAILED

```cpp
#define VX_E_SESSION_MSG_CONTENT_TYPE_FAILED 1025
```

### define VX\_E\_SESSION\_MEDIA\_CONNECT\_FAILED

```cpp
#define VX_E_SESSION_MEDIA_CONNECT_FAILED 1026
```

### define VX\_E\_SESSION\_MEDIA\_DISCONNECT\_FAILED

```cpp
#define VX_E_SESSION_MEDIA_DISCONNECT_FAILED 1026
```

### define VX\_E\_SESSION\_DOES\_NOT\_HAVE\_TEXT

```cpp
#define VX_E_SESSION_DOES_NOT_HAVE_TEXT 1027
```

### define VX\_E\_SESSION\_DOES\_NOT\_HAVE\_AUDIO

```cpp
#define VX_E_SESSION_DOES_NOT_HAVE_AUDIO 1028
```

### define VX\_E\_SESSION\_MUST\_HAVE\_MEDIA

```cpp
#define VX_E_SESSION_MUST_HAVE_MEDIA 1029
```

### define VX\_E\_SESSION\_IS\_NOT\_3D

```cpp
#define VX_E_SESSION_IS_NOT_3D 1030
```

### define VX\_E\_SESSIONGROUP\_NOT\_FOUND

```cpp
#define VX_E_SESSIONGROUP_NOT_FOUND 1031
```

### define VX\_E\_REQUEST\_TYPE\_NOT\_SUPPORTED

```cpp
#define VX_E_REQUEST_TYPE_NOT_SUPPORTED 1032
```

### define VX\_E\_REQUEST\_NOT\_SUPPORTED

```cpp
#define VX_E_REQUEST_NOT_SUPPORTED 1033
```

### define VX\_E\_MULTI\_CHANNEL\_DENIED

```cpp
#define VX_E_MULTI_CHANNEL_DENIED 1034
```

### define VX\_E\_MEDIA\_DISCONNECT\_NOT\_ALLOWED

```cpp
#define VX_E_MEDIA_DISCONNECT_NOT_ALLOWED 1035
```

### define VX\_E\_PRELOGIN\_INFO\_NOT\_RETURNED

```cpp
#define VX_E_PRELOGIN_INFO_NOT_RETURNED 1036
```

### define VX\_E\_SUBSCRIPTION\_NOT\_FOUND

```cpp
#define VX_E_SUBSCRIPTION_NOT_FOUND 1037
```

### define VX\_E\_INVALID\_SUBSCRIPTION\_RULE\_TYPE

```cpp
#define VX_E_INVALID_SUBSCRIPTION_RULE_TYPE 1038
```

### define VX\_E\_INVALID\_MASK

```cpp
#define VX_E_INVALID_MASK 1040
```

### define VX\_E\_INVALID\_CONNECTOR\_STATE

```cpp
#define VX_E_INVALID_CONNECTOR_STATE 1041
```

### define VX\_E\_BUFSIZE

```cpp
#define VX_E_BUFSIZE 1042
```

### define VX\_E\_FILE\_OPEN\_FAILED

```cpp
#define VX_E_FILE_OPEN_FAILED 1043
```

### define VX\_E\_FILE\_CORRUPT

```cpp
#define VX_E_FILE_CORRUPT 1044
```

### define VX\_E\_FILE\_WRITE\_FAILED

```cpp
#define VX_E_FILE_WRITE_FAILED 1045
```

### define VX\_E\_INVALID\_FILE\_OPERATION

```cpp
#define VX_E_INVALID_FILE_OPERATION 1046
```

### define VX\_E\_NO\_MORE\_FRAMES

```cpp
#define VX_E_NO_MORE_FRAMES 1047
```

### define VX\_E\_UNEXPECTED\_END\_OF\_FILE

```cpp
#define VX_E_UNEXPECTED_END_OF_FILE 1048
```

### define VX\_E\_FILE\_WRITE\_FAILED\_REACHED\_MAX\_FILESIZE

```cpp
#define VX_E_FILE_WRITE_FAILED_REACHED_MAX_FILESIZE 1049
```

### define VX\_E\_TERMINATESESSION\_NOT\_VALID

```cpp
#define VX_E_TERMINATESESSION_NOT_VALID 1050
```

### define VX\_E\_MAX\_PLAYBACK\_SESSIONGROUPS\_EXCEEDED

```cpp
#define VX_E_MAX_PLAYBACK_SESSIONGROUPS_EXCEEDED 1051
```

### define VX\_E\_TEXT\_DISCONNECT\_NOT\_ALLOWED

```cpp
#define VX_E_TEXT_DISCONNECT_NOT_ALLOWED 1052
```

### define VX\_E\_TEXT\_CONNECT\_NOT\_ALLOWED

```cpp
#define VX_E_TEXT_CONNECT_NOT_ALLOWED 1053
```

### define VX\_E\_SESSION\_TEXT\_DISABLED

```cpp
#define VX_E_SESSION_TEXT_DISABLED 1055
```

### define VX\_E\_SESSIONGROUP\_TRANSMIT\_NOT\_ALLOWED

```cpp
#define VX_E_SESSIONGROUP_TRANSMIT_NOT_ALLOWED 1056
```

### define VX\_E\_CALL\_CREATION\_FAILED

```cpp
#define VX_E_CALL_CREATION_FAILED 1057
```

### define VX\_E\_RTP\_TIMEOUT

```cpp
#define VX_E_RTP_TIMEOUT 1058
```

### define VX\_E\_ACCOUNT\_MISCONFIGURED

```cpp
#define VX_E_ACCOUNT_MISCONFIGURED 1059
```

### define VX\_E\_MAXIMUM\_NUMBER\_OF\_CALLS\_EXCEEEDED

```cpp
#define VX_E_MAXIMUM_NUMBER_OF_CALLS_EXCEEEDED 1060
```

### define VX\_E\_NO\_SESSION\_PORTS\_AVAILABLE

```cpp
#define VX_E_NO_SESSION_PORTS_AVAILABLE 1061
```

### define VX\_E\_INVALID\_MEDIA\_FORMAT

```cpp
#define VX_E_INVALID_MEDIA_FORMAT 1062
```

### define VX\_E\_INVALID\_CODEC\_TYPE

```cpp
#define VX_E_INVALID_CODEC_TYPE 1063
```

### define VX\_E\_RENDER\_DEVICE\_DOES\_NOT\_EXIST

```cpp
#define VX_E_RENDER_DEVICE_DOES_NOT_EXIST 1064
```

### define VX\_E\_RENDER\_CONTEXT\_DOES\_NOT\_EXIST

```cpp
#define VX_E_RENDER_CONTEXT_DOES_NOT_EXIST 1065
```

### define VX\_E\_RENDER\_SOURCE\_DOES\_NOT\_EXIST

```cpp
#define VX_E_RENDER_SOURCE_DOES_NOT_EXIST 1067
```

### define VX\_E\_RECORDING\_ALREADY\_ACTIVE

```cpp
#define VX_E_RECORDING_ALREADY_ACTIVE 1068
```

### define VX\_E\_RECORDING\_LOOP\_BUFFER\_EMPTY

```cpp
#define VX_E_RECORDING_LOOP_BUFFER_EMPTY 1069
```

### define VX\_E\_STREAM\_READ\_FAILED

```cpp
#define VX_E_STREAM_READ_FAILED 1070
```

### define VX\_E\_INVALID\_SDK\_HANDLE

```cpp
#define VX_E_INVALID_SDK_HANDLE 1071
```

### define VX\_E\_FAILED\_TO\_CONNECT\_TO\_VOICE\_SERVICE

```cpp
#define VX_E_FAILED_TO_CONNECT_TO_VOICE_SERVICE 1072
```

### define VX\_E\_FAILED\_TO\_SEND\_REQUEST\_TO\_VOICE\_SERVICE

```cpp
#define VX_E_FAILED_TO_SEND_REQUEST_TO_VOICE_SERVICE 1073
```

### define VX\_E\_MAX\_LOGINS\_PER\_USER\_EXCEEDED

```cpp
#define VX_E_MAX_LOGINS_PER_USER_EXCEEDED 1074
```

### define VX\_E\_MAX\_HTTP\_DATA\_RESPONSE\_SIZE\_EXCEEDED

```cpp
#define VX_E_MAX_HTTP_DATA_RESPONSE_SIZE_EXCEEDED 1075
```

### define VX\_E\_CHANNEL\_URI\_REQUIRED

```cpp
#define VX_E_CHANNEL_URI_REQUIRED 1076
```

### define VX\_E\_INVALID\_CAPTURE\_DEVICE\_FOR\_REQUESTED\_OPERATION

```cpp
#define VX_E_INVALID_CAPTURE_DEVICE_FOR_REQUESTED_OPERATION 1077
```

### define VX\_E\_LOOP\_MODE\_RECORDING\_NOT\_ENABLED

```cpp
#define VX_E_LOOP_MODE_RECORDING_NOT_ENABLED 1078
```

### define VX\_E\_TEXT\_DISABLED

```cpp
#define VX_E_TEXT_DISABLED 1079
```

### define VX\_E\_VOICE\_FONT\_NOT\_FOUND

```cpp
#define VX_E_VOICE_FONT_NOT_FOUND 1080
```

### define VX\_E\_CROSS\_DOMAIN\_LOGINS\_DISABLED

```cpp
#define VX_E_CROSS_DOMAIN_LOGINS_DISABLED 1081
```

### define VX\_E\_INVALID\_AUTH\_TOKEN

```cpp
#define VX_E_INVALID_AUTH_TOKEN 1082
```

### define VX\_E\_INVALID\_APP\_TOKEN

```cpp
#define VX_E_INVALID_APP_TOKEN 1083
```

### define VX\_E\_CAPACITY\_EXCEEDED

```cpp
#define VX_E_CAPACITY_EXCEEDED 1084
```

### define VX\_E\_ALREADY\_INITIALIZED

```cpp
#define VX_E_ALREADY_INITIALIZED 1085
```

### define VX\_E\_NOT\_UNINITIALIZED\_YET

```cpp
#define VX_E_NOT_UNINITIALIZED_YET 1086
```

### define VX\_E\_NETWORK\_ADDRESS\_CHANGE

```cpp
#define VX_E_NETWORK_ADDRESS_CHANGE 1087
```

### define VX\_E\_NETWORK\_DOWN

```cpp
#define VX_E_NETWORK_DOWN 1088
```

### define VX\_E\_POWER\_STATE\_CHANGE

```cpp
#define VX_E_POWER_STATE_CHANGE 1089
```

### define VX\_E\_HANDLE\_ALREADY\_TAKEN

```cpp
#define VX_E_HANDLE_ALREADY_TAKEN 1090
```

### define VX\_E\_HANDLE\_IS\_RESERVED

```cpp
#define VX_E_HANDLE_IS_RESERVED 1091
```

### define VX\_E\_XNETCONNECT\_FAILED

```cpp
#define VX_E_XNETCONNECT_FAILED 1093
```

### define VX\_E\_REQUEST\_CANCELED

```cpp
#define VX_E_REQUEST_CANCELED 1094
```

### define VX\_E\_CALL\_TERMINATED\_NO\_RTP\_RXED

```cpp
#define VX_E_CALL_TERMINATED_NO_RTP_RXED 1095
```

### define VX\_E\_CALL\_TERMINATED\_NO\_ANSWER\_LOCAL

```cpp
#define VX_E_CALL_TERMINATED_NO_ANSWER_LOCAL 1096
```

### define VX\_E\_CHANNEL\_URI\_TOO\_LONG

```cpp
#define VX_E_CHANNEL_URI_TOO_LONG 1097
```

### define VX\_E\_CALL\_TERMINATED\_BAN

```cpp
#define VX_E_CALL_TERMINATED_BAN 1098
```

### define VX\_E\_CALL\_TERMINATED\_KICK

```cpp
#define VX_E_CALL_TERMINATED_KICK 1099
```

### define VX\_E\_CALL\_TERMINATED\_BY\_SERVER

```cpp
#define VX_E_CALL_TERMINATED_BY_SERVER 1100
```

### define VX\_E\_ALREADY\_EXIST

```cpp
#define VX_E_ALREADY_EXIST 1101
```

### define VX\_E\_FEATURE\_DISABLED

```cpp
#define VX_E_FEATURE_DISABLED 1102
```

### define VX\_E\_SIZE\_LIMIT\_EXCEEDED

```cpp
#define VX_E_SIZE_LIMIT_EXCEEDED 1103
```

### define VX\_E\_RTP\_SESSION\_SOCKET\_ERROR

```cpp
#define VX_E_RTP_SESSION_SOCKET_ERROR 1104
```

### define VX\_E\_SIP\_BACKEND\_REQUIRED

```cpp
#define VX_E_SIP_BACKEND_REQUIRED 1105
```

### define VX\_E\_DEPRECATED

```cpp
#define VX_E_DEPRECATED 1106
```

### define VX\_E\_NO\_RENDER\_DEVICES\_FOUND

```cpp
#define VX_E_NO_RENDER_DEVICES_FOUND 7001
```

### define VX\_E\_NO\_CAPTURE\_DEVICES\_FOUND

```cpp
#define VX_E_NO_CAPTURE_DEVICES_FOUND 7002
```

### define VX\_E\_INVALID\_RENDER\_DEVICE\_SPECIFIER

```cpp
#define VX_E_INVALID_RENDER_DEVICE_SPECIFIER 7003
```

### define VX\_E\_RENDER\_DEVICE\_IN\_USE

```cpp
#define VX_E_RENDER_DEVICE_IN_USE 7004
```

### define VX\_E\_INVALID\_CAPTURE\_DEVICE\_SPECIFIER

```cpp
#define VX_E_INVALID_CAPTURE_DEVICE_SPECIFIER 7005
```

### define VX\_E\_CAPTURE\_DEVICE\_IN\_USE

```cpp
#define VX_E_CAPTURE_DEVICE_IN_USE 7006
```

### define VX\_E\_UNABLE\_TO\_OPEN\_CAPTURE\_DEVICE

```cpp
#define VX_E_UNABLE_TO_OPEN_CAPTURE_DEVICE 7009
```

### define VX\_E\_FAILED\_TO\_CONNECT\_TO\_SERVER

```cpp
#define VX_E_FAILED_TO_CONNECT_TO_SERVER 10007
```

### define VX\_E\_ACCESSTOKEN\_ALREADY\_USED

```cpp
#define VX_E_ACCESSTOKEN_ALREADY_USED 20120
```

### define VX\_E\_ACCESSTOKEN\_EXPIRED

```cpp
#define VX_E_ACCESSTOKEN_EXPIRED 20121
```

### define VX\_E\_ACCESSTOKEN\_INVALID\_SIGNATURE

```cpp
#define VX_E_ACCESSTOKEN_INVALID_SIGNATURE 20122
```

### define VX\_E\_ACCESSTOKEN\_CLAIMS\_MISMATCH

```cpp
#define VX_E_ACCESSTOKEN_CLAIMS_MISMATCH 20123
```

### define VX\_E\_ACCESSTOKEN\_MALFORMED

```cpp
#define VX_E_ACCESSTOKEN_MALFORMED 20124
```

### define VX\_E\_ACCESSTOKEN\_INTERNAL\_ERROR

```cpp
#define VX_E_ACCESSTOKEN_INTERNAL_ERROR 20125
```

### define VX\_E\_ACCESSTOKEN\_SERVICE\_UNAVAILABLE

```cpp
#define VX_E_ACCESSTOKEN_SERVICE_UNAVAILABLE 20127
```

### define VX\_E\_ACCESSTOKEN\_ISSUER\_MISMATCH

```cpp
#define VX_E_ACCESSTOKEN_ISSUER_MISMATCH 20128
```

### define VxErrorNoMessageAvailable

```cpp
#define VxErrorNoMessageAvailable VX_E_NO_MESSAGE_AVAILABLE
```

### define VxErrorSuccess

```cpp
#define VxErrorSuccess VX_E_SUCCESS
```

### define VxErrorAsyncOperationCanceled

```cpp
#define VxErrorAsyncOperationCanceled 5001
```

### define VxErrorCaptureDeviceInUse

```cpp
#define VxErrorCaptureDeviceInUse 5002
```

### define VxErrorConnectionTerminated

```cpp
#define VxErrorConnectionTerminated 5003
```

### define VxErrorFileOpenFailed

```cpp
#define VxErrorFileOpenFailed VX_E_FILE_OPEN_FAILED
```

### define VxErrorHandleReserved

```cpp
#define VxErrorHandleReserved 5005
```

### define VxErrorHandleTaken

```cpp
#define VxErrorHandleTaken 5006
```

### define VxErrorInternalError

```cpp
#define VxErrorInternalError VX_E_FAILED
```

### define VxErrorInvalidArgument

```cpp
#define VxErrorInvalidArgument VX_E_INVALID_ARGUMENT
```

### define VxErrorInvalidFormat

```cpp
#define VxErrorInvalidFormat 5009
```

### define VxErrorInvalidOperation

```cpp
#define VxErrorInvalidOperation 5010
```

### define VxErrorInvalidState

```cpp
#define VxErrorInvalidState VX_E_INVALID_SESSION_STATE
```

### define VxErrorInvalidValueTypeXmlQuery

```cpp
#define VxErrorInvalidValueTypeXmlQuery 5012
```

### define VxErrorNoMatchingXmlAttributeFound

```cpp
#define VxErrorNoMatchingXmlAttributeFound 5013
```

### define VxErrorNoMatchingXmlNodeFound

```cpp
#define VxErrorNoMatchingXmlNodeFound 5014
```

### define VxErrorNoMemory

```cpp
#define VxErrorNoMemory 5015
```

### define VxErrorNoMoreData

```cpp
#define VxErrorNoMoreData 5016
```

### define VxErrorNotSupported

```cpp
#define VxErrorNotSupported 5018
```

### define VxErrorPortNotAvailable

```cpp
#define VxErrorPortNotAvailable 5019
```

### define VxErrorRtpTimeout

```cpp
#define VxErrorRtpTimeout VX_E_RTP_TIMEOUT
```

### define VxErrorUnableToOpenCaptureDevice

```cpp
#define VxErrorUnableToOpenCaptureDevice 5021
```

### define VxErrorXmppBackEndRequired

```cpp
#define VxErrorXmppBackEndRequired 5023
```

### define VxErrorPreloginDownloadFailed

```cpp
#define VxErrorPreloginDownloadFailed 5024
```

### define VxErrorNotLoggedIn

```cpp
#define VxErrorNotLoggedIn 5025
```

### define VxErrorPresenceMustBeEnabled

```cpp
#define VxErrorPresenceMustBeEnabled 5026
```

### define VxErrorConnectorLimitExceeded

```cpp
#define VxErrorConnectorLimitExceeded 5027
```

### define VxErrorTargetObjectNotRelated

```cpp
#define VxErrorTargetObjectNotRelated 5028
```

### define VxErrorTargetObjectDoesNotExist

```cpp
#define VxErrorTargetObjectDoesNotExist VX_E_NO_EXIST
```

### define VxErrorMaxLoginsPerUserExceeded

```cpp
#define VxErrorMaxLoginsPerUserExceeded 5030
```

### define VxErrorRequestCanceled

```cpp
#define VxErrorRequestCanceled 5031
```

### define VxErrorBuddyDoesNotExist

```cpp
#define VxErrorBuddyDoesNotExist 5032
```

### define VxErrorChannelUriRequired

```cpp
#define VxErrorChannelUriRequired 5033
```

### define VxErrorTargetObjectAlreadyExists

```cpp
#define VxErrorTargetObjectAlreadyExists 5034
```

### define VxErrorInvalidCaptureDeviceForRequestedOperation

```cpp
#define VxErrorInvalidCaptureDeviceForRequestedOperation 5035
```

### define VxErrorInvalidCaptureDeviceSpecifier

```cpp
#define VxErrorInvalidCaptureDeviceSpecifier 5036
```

### define VxErrorInvalidRenderDeviceSpecifier

```cpp
#define VxErrorInvalidRenderDeviceSpecifier 5037
```

### define VxErrorDeviceLimitReached

```cpp
#define VxErrorDeviceLimitReached 5038
```

### define VxErrorInvalidEventType

```cpp
#define VxErrorInvalidEventType 5039
```

### define VxErrorNotInitialized

```cpp
#define VxErrorNotInitialized VX_E_NOT_INITIALIZED
```

### define VxErrorAlreadyInitialized

```cpp
#define VxErrorAlreadyInitialized VX_E_ALREADY_INITIALIZED
```

### define VxErrorNotImplemented

```cpp
#define VxErrorNotImplemented VX_E_NOT_IMPL
```

### define VxErrorTimeout

```cpp
#define VxErrorTimeout 5043
```

### define VxNoAuthenticationStanzaReceived

```cpp
#define VxNoAuthenticationStanzaReceived 5044
```

### define VxFailedToConnectToXmppServer

```cpp
#define VxFailedToConnectToXmppServer 5045
```

### define VxSSLNegotiationToXmppServerFailed

```cpp
#define VxSSLNegotiationToXmppServerFailed 5046
```

### define VxErrorUserOffLineOrDoesNotExist

```cpp
#define VxErrorUserOffLineOrDoesNotExist 5047
```

### define VxErrorCaptureDeviceInvalidated

```cpp
#define VxErrorCaptureDeviceInvalidated 5048
```

### define VxErrorMaxEtherChannelLimitReached

```cpp
#define VxErrorMaxEtherChannelLimitReached 5049
```

### define VxErrorHostUnknown

```cpp
#define VxErrorHostUnknown 5050
```

### define VxErrorChannelUriTooLong

```cpp
#define VxErrorChannelUriTooLong 5051
```

### define VxErrorUserUriTooLong

```cpp
#define VxErrorUserUriTooLong 5052
```

### define VxErrorInvalidChannelUri

```cpp
#define VxErrorInvalidChannelUri 5053
```

### define VxErrorCrossDomainLoginDisabled

```cpp
#define VxErrorCrossDomainLoginDisabled 5054
```

### define VxErrorSipRegistrationAuthorizationFailure

```cpp
#define VxErrorSipRegistrationAuthorizationFailure 5055
```

### define VxErrorUserAlreadyLoggingOut

```cpp
#define VxErrorUserAlreadyLoggingOut 5056
```

### define VxErrorBuddyGroupDoesNotExist

```cpp
#define VxErrorBuddyGroupDoesNotExist 5057
```

### define VxErrorPowerEvent

```cpp
#define VxErrorPowerEvent 5058
```

### define VxErrorNetworkAddressChanged

```cpp
#define VxErrorNetworkAddressChanged 5059
```

### define VxErrorNetworkDown

```cpp
#define VxErrorNetworkDown 5060
```

### define VxErrorNotUninitializedYet

```cpp
#define VxErrorNotUninitializedYet VX_E_NOT_UNINITIALIZED_YET
```

### define VxErrorCallTerminatedBanned

```cpp
#define VxErrorCallTerminatedBanned 5098
```

### define VxErrorCallTerminatedKick

```cpp
#define VxErrorCallTerminatedKick 5099
```

### define VxErrorCallTerminatedByServer

```cpp
#define VxErrorCallTerminatedByServer 5100
```

### define VxErrorServerRtpTimeout

```cpp
#define VxErrorServerRtpTimeout VX_E_CALL_TERMINATED_NO_RTP_RXED
```

### define VxErrorDeprecated

```cpp
#define VxErrorDeprecated VX_E_DEPRECATED
```

### define VxErrorUserBlocked

```cpp
#define VxErrorUserBlocked 5102
```

### define VxErrorMessageTextTooLong

```cpp
#define VxErrorMessageTextTooLong 5103
```

### define VxErrorNoMicrophonePermission

```cpp
#define VxErrorNoMicrophonePermission 5104
```

### define VxErrorMessageTextRateExceeded

```cpp
#define VxErrorMessageTextRateExceeded 5105
```

### define VxErrorSessionDoesNotHaveAudio

```cpp
#define VxErrorSessionDoesNotHaveAudio VX_E_SESSION_DOES_NOT_HAVE_AUDIO
```

### define VxSafeVoiceConsentUnauthorized

```cpp
#define VxSafeVoiceConsentUnauthorized 5106
```

### define VxSafeVoiceConsentInvalidProjectOrEnvironment

```cpp
#define VxSafeVoiceConsentInvalidProjectOrEnvironment 5107
```

### define VxSafeVoiceInternalError

```cpp
#define VxSafeVoiceInternalError 5108
```

### define VxSafeVoiceConsentNotSet

```cpp
#define VxSafeVoiceConsentNotSet 5109
```

### define VxSafeVoiceUnknownError

```cpp
#define VxSafeVoiceUnknownError 5110
```

### define VxXmppErrorCodesRangeStart

```cpp
#define VxXmppErrorCodesRangeStart 20000
```

### define VxUnknownXmppError

```cpp
#define VxUnknownXmppError 20000
```

### define VxAccessTokenAlreadyUsed

```cpp
#define VxAccessTokenAlreadyUsed 20120
```

### define VxAccessTokenExpired

```cpp
#define VxAccessTokenExpired 20121
```

### define VxAccessTokenInvalidSignature

```cpp
#define VxAccessTokenInvalidSignature 20122
```

### define VxAccessTokenClaimsMismatch

```cpp
#define VxAccessTokenClaimsMismatch 20123
```

### define VxAccessTokenMalformed

```cpp
#define VxAccessTokenMalformed 20124
```

### define VxAccessTokenInternalError

```cpp
#define VxAccessTokenInternalError 20125
```

### define VxAccessTokenServiceUnavailable

```cpp
#define VxAccessTokenServiceUnavailable 20127
```

### define VxAccessTokenIssuerMismatch

```cpp
#define VxAccessTokenIssuerMismatch 20128
```

### define VxErrorTitleDisabled

```cpp
#define VxErrorTitleDisabled 20129
```

### define VxXmppErrorBadRequest

```cpp
#define VxXmppErrorBadRequest 20400
```

### define VxXmppErrorNotAuthorized

```cpp
#define VxXmppErrorNotAuthorized 20401
```

### define VxXmppErrorItemNotFound

```cpp
#define VxXmppErrorItemNotFound 20404
```

### define VxXmppErrorNotAllowed

```cpp
#define VxXmppErrorNotAllowed 20405
```

### define VxXmppInternalServerError

```cpp
#define VxXmppInternalServerError 20500
```

### define VxXmppErrorFeatureNotImplemented

```cpp
#define VxXmppErrorFeatureNotImplemented 20501
```

### define VxXmppServerErrorServiceUnavailable

```cpp
#define VxXmppServerErrorServiceUnavailable 20502
```

### define VxXmppErrorServiceUnavailable

```cpp
#define VxXmppErrorServiceUnavailable 20503
```

### define VxXmppErrorChannelAtCapacity

```cpp
#define VxXmppErrorChannelAtCapacity 20507
```

### define VxXmppErrorCodesRangeEnd

```cpp
#define VxXmppErrorCodesRangeEnd 20999
```

### define VxErrorXmppServerResponseMalformed

```cpp
#define VxErrorXmppServerResponseMalformed 21000
```

### define VxErrorXmppServerResponseBadSdp

```cpp
#define VxErrorXmppServerResponseBadSdp 21001
```

### define VxErrorXmppServerResponseInviteMissing

```cpp
#define VxErrorXmppServerResponseInviteMissing 21002
```

### define VxErrorXmppServerResponseChanAddMissing

```cpp
#define VxErrorXmppServerResponseChanAddMissing 21003
```

### define VxNetworkSocketErrorUnknown

```cpp
#define VxNetworkSocketErrorUnknown 10000
```

### define VxNetworkNameResolutionFailed

```cpp
#define VxNetworkNameResolutionFailed 10006
```

### define VxNetworkUnableToConnectToServer

```cpp
#define VxNetworkUnableToConnectToServer 10007
```

### define VxNetworkHttpTimeout

```cpp
#define VxNetworkHttpTimeout 10028
```

### define VxNetworkHttpInvalidUrl

```cpp
#define VxNetworkHttpInvalidUrl 10003
```

### define VxNetworkHttpInvalidCertificate

```cpp
#define VxNetworkHttpInvalidCertificate 10077
```

### define VxNetworkHttpConnectionReset

```cpp
#define VxNetworkHttpConnectionReset 10056
```

### define VxNetworkHttpInvalidServerResponse

```cpp
#define VxNetworkHttpInvalidServerResponse 10052
```

### define VxNetworkHttpGeneralConnectionFailure

```cpp
#define VxNetworkHttpGeneralConnectionFailure 10100
```

### define VxNetworkReconnectFailure

```cpp
#define VxNetworkReconnectFailure 10101
```

### define VX\_E\_XMPP\_BACKEND\_REQUIRED

```cpp
#define VX_E_XMPP_BACKEND_REQUIRED VxErrorXmppBackEndRequired
```

### define VxErrorSipBackEndRequired

```cpp
#define VxErrorSipBackEndRequired VX_E_SIP_BACKEND_REQUIRED
```

## Source code

```cpp
/* 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 <Vxc.h>
#include <VxcEvents.h>

// Error Code Definitions (V4)
#define VX_E_NO_MESSAGE_AVAILABLE                           -1
#define VX_E_SUCCESS                                        0
#define VX_E_INVALID_XML                                    1000
#define VX_E_NO_EXIST                                       1001
#define VX_E_MAX_CONNECTOR_LIMIT_EXCEEDED                   1002
#define VX_E_MAX_SESSION_LIMIT_EXCEEDED                     1003
#define VX_E_FAILED                                         1004
#define VX_E_ALREADY_LOGGED_IN                              1005
#define VX_E_ALREADY_LOGGED_OUT                             1006  // This is not returned.
#define VX_E_NOT_LOGGED_IN                                  1007  // This is not returned.
#define VX_E_INVALID_ARGUMENT                               1008
#define VX_E_INVALID_USERNAME_OR_PASSWORD                   1009
#define VX_E_INSUFFICIENT_PRIVILEGE                         1010
#define VX_E_NO_SUCH_SESSION                                1011
#define VX_E_NOT_INITIALIZED                                1012
#define VX_E_REQUESTCONTEXT_NOT_FOUND                       1013
#define VX_E_LOGIN_FAILED                                   1014
#define VX_E_SESSION_MAX                                    1015  // Used if already on a call.
#define VX_E_WRONG_CONNECTOR                                1016
#define VX_E_NOT_IMPL                                       1017
#define VX_E_REQUEST_CANCELLED                              1018
#define VX_E_INVALID_SESSION_STATE                          1019
#define VX_E_SESSION_CREATE_PENDING                         1020
#define VX_E_SESSION_TERMINATE_PENDING                      1021
#define VX_E_SESSION_CHANNEL_TEXT_DENIED                    1022  // Multi-party text chat is not supported.
#define VX_E_SESSION_TEXT_DENIED                            1023  // This session does not support text messaging.
#define VX_E_SESSION_MESSAGE_BUILD_FAILED                   1024  // The call to am_message_build failed for an unknown reason.
#define VX_E_SESSION_MSG_CONTENT_TYPE_FAILED                1025  // The call to osip_message_set_content_type failed for an unknown reason.
#define VX_E_SESSION_MEDIA_CONNECT_FAILED                   1026  // The media connect call failed.
#define VX_E_SESSION_MEDIA_DISCONNECT_FAILED                1026  // The media disconnect call failed.
#define VX_E_SESSION_DOES_NOT_HAVE_TEXT                     1027  // The session does not have text.
#define VX_E_SESSION_DOES_NOT_HAVE_AUDIO                    1028  // The session does not have audio.
#define VX_E_SESSION_MUST_HAVE_MEDIA                        1029  // The session must have media specified (audio or text).
#define VX_E_SESSION_IS_NOT_3D                              1030  // The session is not a SIREN14-3D codec call, so it cannot be a 3D call.
#define VX_E_SESSIONGROUP_NOT_FOUND                         1031  // The session group cannot be found.
#define VX_E_REQUEST_TYPE_NOT_SUPPORTED                     1032
#define VX_E_REQUEST_NOT_SUPPORTED                          1033
#define VX_E_MULTI_CHANNEL_DENIED                           1034
#define VX_E_MEDIA_DISCONNECT_NOT_ALLOWED                   1035
#define VX_E_PRELOGIN_INFO_NOT_RETURNED                     1036
#define VX_E_SUBSCRIPTION_NOT_FOUND                         1037  // The subscription cannot be found.
#define VX_E_INVALID_SUBSCRIPTION_RULE_TYPE                 1038
#define VX_E_INVALID_MASK                                   1040
#define VX_E_INVALID_CONNECTOR_STATE                        1041  // The operation cannot be performed because the connector is in an invalid state.
#define VX_E_BUFSIZE                                        1042  // The request operation could not return data because the supplied buffer was too small.
#define VX_E_FILE_OPEN_FAILED                               1043  // The file could not be opened because it does not exist, is locked, or due to insufficient privileges.
#define VX_E_FILE_CORRUPT                                   1044  // The file was corrupt.
#define VX_E_FILE_WRITE_FAILED                              1045  // Unable to write to the file.
#define VX_E_INVALID_FILE_OPERATION                         1046  // An invalid operation was performed on the file.
#define VX_E_NO_MORE_FRAMES                                 1047  // There are no more frames to read.
#define VX_E_UNEXPECTED_END_OF_FILE                         1048  // The file appears truncated or corrupt.
#define VX_E_FILE_WRITE_FAILED_REACHED_MAX_FILESIZE         1049  // The maximum file size has been reached. The app can close the file and continue.
#define VX_E_TERMINATESESSION_NOT_VALID                     1050
#define VX_E_MAX_PLAYBACK_SESSIONGROUPS_EXCEEDED            1051  // The maximum number of playback groups (1) has been exceeded.
#define VX_E_TEXT_DISCONNECT_NOT_ALLOWED                    1052
#define VX_E_TEXT_CONNECT_NOT_ALLOWED                       1053
#define VX_E_SESSION_TEXT_DISABLED                          1055
#define VX_E_SESSIONGROUP_TRANSMIT_NOT_ALLOWED              1056
#define VX_E_CALL_CREATION_FAILED                           1057  // The call creation failed. Check to ensure that the URI is valid.
#define VX_E_RTP_TIMEOUT                                    1058
#define VX_E_ACCOUNT_MISCONFIGURED                          1059
#define VX_E_MAXIMUM_NUMBER_OF_CALLS_EXCEEEDED              1060
#define VX_E_NO_SESSION_PORTS_AVAILABLE                     1061
#define VX_E_INVALID_MEDIA_FORMAT                           1062
#define VX_E_INVALID_CODEC_TYPE                             1063
#define VX_E_RENDER_DEVICE_DOES_NOT_EXIST                   1064
#define VX_E_RENDER_CONTEXT_DOES_NOT_EXIST                  1065
#define VX_E_RENDER_SOURCE_DOES_NOT_EXIST                   1067
#define VX_E_RECORDING_ALREADY_ACTIVE                       1068
#define VX_E_RECORDING_LOOP_BUFFER_EMPTY                    1069
#define VX_E_STREAM_READ_FAILED                             1070
#define VX_E_INVALID_SDK_HANDLE                             1071
#define VX_E_FAILED_TO_CONNECT_TO_VOICE_SERVICE             1072
#define VX_E_FAILED_TO_SEND_REQUEST_TO_VOICE_SERVICE        1073
#define VX_E_MAX_LOGINS_PER_USER_EXCEEDED                   1074
#define VX_E_MAX_HTTP_DATA_RESPONSE_SIZE_EXCEEDED           1075
#define VX_E_CHANNEL_URI_REQUIRED                           1076
#define VX_E_INVALID_CAPTURE_DEVICE_FOR_REQUESTED_OPERATION 1077
#define VX_E_LOOP_MODE_RECORDING_NOT_ENABLED                1078
#define VX_E_TEXT_DISABLED                                  1079
#define VX_E_VOICE_FONT_NOT_FOUND                           1080
#define VX_E_CROSS_DOMAIN_LOGINS_DISABLED                   1081
#define VX_E_INVALID_AUTH_TOKEN                             1082
#define VX_E_INVALID_APP_TOKEN                              1083
#define VX_E_CAPACITY_EXCEEDED                              1084
#define VX_E_ALREADY_INITIALIZED                            1085
#define VX_E_NOT_UNINITIALIZED_YET                          1086
#define VX_E_NETWORK_ADDRESS_CHANGE                         1087
#define VX_E_NETWORK_DOWN                                   1088
#define VX_E_POWER_STATE_CHANGE                             1089
#define VX_E_HANDLE_ALREADY_TAKEN                           1090
#define VX_E_HANDLE_IS_RESERVED                             1091
#define VX_E_XNETCONNECT_FAILED                             1093
#define VX_E_REQUEST_CANCELED                               1094
#define VX_E_CALL_TERMINATED_NO_RTP_RXED                    1095
#define VX_E_CALL_TERMINATED_NO_ANSWER_LOCAL                1096
#define VX_E_CHANNEL_URI_TOO_LONG                           1097
#define VX_E_CALL_TERMINATED_BAN                            1098
#define VX_E_CALL_TERMINATED_KICK                           1099
#define VX_E_CALL_TERMINATED_BY_SERVER                      1100
#define VX_E_ALREADY_EXIST                                  1101
#define VX_E_FEATURE_DISABLED                               1102
#define VX_E_SIZE_LIMIT_EXCEEDED                            1103
#define VX_E_RTP_SESSION_SOCKET_ERROR                       1104
#define VX_E_SIP_BACKEND_REQUIRED                           1105
#define VX_E_DEPRECATED                                     1106

#define VX_E_NO_RENDER_DEVICES_FOUND            7001
#define VX_E_NO_CAPTURE_DEVICES_FOUND           7002
#define VX_E_INVALID_RENDER_DEVICE_SPECIFIER    7003
#define VX_E_RENDER_DEVICE_IN_USE               7004
#define VX_E_INVALID_CAPTURE_DEVICE_SPECIFIER   7005
#define VX_E_CAPTURE_DEVICE_IN_USE              7006
#define VX_E_UNABLE_TO_OPEN_CAPTURE_DEVICE      7009

#define VX_E_FAILED_TO_CONNECT_TO_SERVER    10007

#define VX_E_ACCESSTOKEN_ALREADY_USED           20120
#define VX_E_ACCESSTOKEN_EXPIRED                20121
#define VX_E_ACCESSTOKEN_INVALID_SIGNATURE      20122
#define VX_E_ACCESSTOKEN_CLAIMS_MISMATCH        20123
#define VX_E_ACCESSTOKEN_MALFORMED              20124
#define VX_E_ACCESSTOKEN_INTERNAL_ERROR         20125
#define VX_E_ACCESSTOKEN_SERVICE_UNAVAILABLE    20127
#define VX_E_ACCESSTOKEN_ISSUER_MISMATCH        20128

// Error Code Definitions (V5)
#define VxErrorNoMessageAvailable VX_E_NO_MESSAGE_AVAILABLE  // Old value is -1 (not changed)
#define VxErrorSuccess VX_E_SUCCESS  // Old value is 0 (not changed)
#define VxErrorAsyncOperationCanceled 5001
#define VxErrorCaptureDeviceInUse 5002
#define VxErrorConnectionTerminated 5003
#define VxErrorFileOpenFailed VX_E_FILE_OPEN_FAILED  // Old value is 5004
#define VxErrorHandleReserved 5005
#define VxErrorHandleTaken 5006
#define VxErrorInternalError VX_E_FAILED  // Old value is 5007
#define VxErrorInvalidArgument VX_E_INVALID_ARGUMENT  // Old value is 5008
#define VxErrorInvalidFormat 5009
#define VxErrorInvalidOperation 5010
#define VxErrorInvalidState VX_E_INVALID_SESSION_STATE  // Old value is 5011
#define VxErrorInvalidValueTypeXmlQuery 5012
#define VxErrorNoMatchingXmlAttributeFound 5013
#define VxErrorNoMatchingXmlNodeFound 5014
#define VxErrorNoMemory 5015
#define VxErrorNoMoreData 5016
#define VxErrorNotSupported 5018
#define VxErrorPortNotAvailable 5019
#define VxErrorRtpTimeout VX_E_RTP_TIMEOUT  // Old value is 5020
#define VxErrorUnableToOpenCaptureDevice 5021
#define VxErrorXmppBackEndRequired 5023
#define VxErrorPreloginDownloadFailed 5024
#define VxErrorNotLoggedIn 5025
#define VxErrorPresenceMustBeEnabled 5026
#define VxErrorConnectorLimitExceeded 5027
#define VxErrorTargetObjectNotRelated 5028
#define VxErrorTargetObjectDoesNotExist VX_E_NO_EXIST  // Old value is 5029
#define VxErrorMaxLoginsPerUserExceeded 5030
#define VxErrorRequestCanceled 5031
#define VxErrorBuddyDoesNotExist 5032
#define VxErrorChannelUriRequired 5033
#define VxErrorTargetObjectAlreadyExists 5034
#define VxErrorInvalidCaptureDeviceForRequestedOperation 5035
#define VxErrorInvalidCaptureDeviceSpecifier 5036
#define VxErrorInvalidRenderDeviceSpecifier 5037
#define VxErrorDeviceLimitReached 5038
#define VxErrorInvalidEventType 5039
#define VxErrorNotInitialized VX_E_NOT_INITIALIZED  // Old value is 5040
#define VxErrorAlreadyInitialized VX_E_ALREADY_INITIALIZED  // Old value is 5041
#define VxErrorNotImplemented VX_E_NOT_IMPL  // Old value is 5042
#define VxErrorTimeout 5043
#define VxNoAuthenticationStanzaReceived 5044
#define VxFailedToConnectToXmppServer 5045
#define VxSSLNegotiationToXmppServerFailed 5046
#define VxErrorUserOffLineOrDoesNotExist 5047
#define VxErrorCaptureDeviceInvalidated 5048
#define VxErrorMaxEtherChannelLimitReached 5049
#define VxErrorHostUnknown 5050
#define VxErrorChannelUriTooLong 5051
#define VxErrorUserUriTooLong 5052
#define VxErrorInvalidChannelUri 5053
#define VxErrorCrossDomainLoginDisabled 5054
#define VxErrorSipRegistrationAuthorizationFailure 5055
#define VxErrorUserAlreadyLoggingOut 5056
#define VxErrorBuddyGroupDoesNotExist 5057
#define VxErrorPowerEvent 5058
#define VxErrorNetworkAddressChanged 5059
#define VxErrorNetworkDown 5060
#define VxErrorNotUninitializedYet VX_E_NOT_UNINITIALIZED_YET
#define VxErrorCallTerminatedBanned 5098
#define VxErrorCallTerminatedKick 5099
#define VxErrorCallTerminatedByServer 5100
#define VxErrorServerRtpTimeout VX_E_CALL_TERMINATED_NO_RTP_RXED  // Old value is 5101
#define VxErrorDeprecated VX_E_DEPRECATED
#define VxErrorUserBlocked 5102
#define VxErrorMessageTextTooLong 5103
#define VxErrorNoMicrophonePermission 5104
#define VxErrorMessageTextRateExceeded 5105
#define VxErrorSessionDoesNotHaveAudio VX_E_SESSION_DOES_NOT_HAVE_AUDIO
#define VxSafeVoiceConsentUnauthorized 5106
#define VxSafeVoiceConsentInvalidProjectOrEnvironment 5107
#define VxSafeVoiceInternalError 5108
#define VxSafeVoiceConsentNotSet 5109
#define VxSafeVoiceUnknownError 5110

// 20xxx-20xxx reserved for 3-digit XMPP error codes returned from server
#define VxXmppErrorCodesRangeStart 20000
#define VxUnknownXmppError 20000
#define VxAccessTokenAlreadyUsed 20120
#define VxAccessTokenExpired 20121
#define VxAccessTokenInvalidSignature 20122
#define VxAccessTokenClaimsMismatch 20123
#define VxAccessTokenMalformed 20124
#define VxAccessTokenInternalError 20125
#define VxAccessTokenServiceUnavailable 20127
#define VxAccessTokenIssuerMismatch 20128
#define VxErrorTitleDisabled 20129
#define VxXmppErrorBadRequest 20400
#define VxXmppErrorNotAuthorized 20401
#define VxXmppErrorItemNotFound 20404
#define VxXmppErrorNotAllowed 20405
#define VxXmppInternalServerError 20500
#define VxXmppErrorFeatureNotImplemented 20501
#define VxXmppServerErrorServiceUnavailable 20502
#define VxXmppErrorServiceUnavailable 20503
#define VxXmppErrorChannelAtCapacity 20507
#define VxXmppErrorCodesRangeEnd 20999

// 21000+ - internal XMPP error codes
#define VxErrorXmppServerResponseMalformed 21000
#define VxErrorXmppServerResponseBadSdp 21001
#define VxErrorXmppServerResponseInviteMissing 21002
#define VxErrorXmppServerResponseChanAddMissing 21003

#define VxNetworkSocketErrorUnknown 10000
#define VxNetworkNameResolutionFailed 10006
#define VxNetworkUnableToConnectToServer 10007
#define VxNetworkHttpTimeout 10028
#define VxNetworkHttpInvalidUrl 10003
#define VxNetworkHttpInvalidCertificate 10077
#define VxNetworkHttpConnectionReset 10056
#define VxNetworkHttpInvalidServerResponse 10052
#define VxNetworkHttpGeneralConnectionFailure 10100
#define VxNetworkReconnectFailure 10101


// Compatibility
#define VX_E_XMPP_BACKEND_REQUIRED VxErrorXmppBackEndRequired
#define VxErrorSipBackEndRequired VX_E_SIP_BACKEND_REQUIRED

#ifdef __cplusplus
extern "C" {
#endif
#if !defined(VIVOX_TYPES_ONLY)
VIVOXSDK_DLLEXPORT const char *vx_get_error_string(int errorCode);
VIVOXSDK_DLLEXPORT const char *vx_get_request_type_string(vx_request_type t);
VIVOXSDK_DLLEXPORT const char *vx_get_response_type_string(vx_response_type t);
VIVOXSDK_DLLEXPORT const char *vx_get_event_type_string(vx_event_type t);
VIVOXSDK_DLLEXPORT const char *vx_get_login_state_string(vx_login_state_change_state t);
VIVOXSDK_DLLEXPORT const char *vx_get_presence_state_string(vx_buddy_presence_state t);
VIVOXSDK_DLLEXPORT const char *vx_get_self_presence_state_string(vx_presence_state t);
VIVOXSDK_DLLEXPORT const char *vx_get_notification_type_string(vx_notification_type t);
VIVOXSDK_DLLEXPORT const char *vx_get_session_media_state_string(vx_session_media_state t);
VIVOXSDK_DLLEXPORT const char *vx_get_session_text_state_string(vx_session_text_state t);
VIVOXSDK_DLLEXPORT const char *vx_get_media_completion_type_string(vx_media_completion_type t);
VIVOXSDK_DLLEXPORT const char *vx_get_participant_removed_reason_string(vx_participant_removed_reason t);
VIVOXSDK_DLLEXPORT const char *vx_get_audio_device_hot_swap_type_string(vx_audio_device_hot_swap_event_type_t t);
VIVOXSDK_DLLEXPORT const char *vx_get_channel_rolloff_curve_type_string(vx_channel_rolloff_curve_type t);
VIVOXSDK_DLLEXPORT const char *vx_get_tts_dest_string(vx_tts_destination t);
VIVOXSDK_DLLEXPORT const char *vx_get_connection_state_string(vx_connection_state t);

VIVOXSDK_DLLEXPORT const char *vx_get_log_level_string(vx_log_level level);

#endif  // !defined(VIVOX_TYPES_ONLY)
#ifdef __cplusplus
}
#endif
```
