Error Events - Android
VideoSDK provides onError event which will notify you of any error happening during the meeting.
onError
- This event will be triggered whenever any invalid configuration provided or server/network errors arise, this event will trigger with a specific error code and message.
- This event is helpful for development level troubleshooting while integrating SDK.
- You can implement this method of the abstract Class
MeetingEventListenerand add the listener toMeetingclass using theaddEventListener()method ofMeetingClass. - This event is delivered on the main thread.
Error payload
The error object passed to onError() contains three keys:
| Key | Type | Description |
|---|---|---|
code | int | Numeric error code, matching a constant returned by VideoSDK.getErrorCodes(). |
name | String | The error-code constant name, for example "PUBSUB_SUBSCRIBE_FAILED". |
message | String | Human-readable reason. For server-reported errors this is the server's specific message when it sends one. |
The payload key type has been renamed to name. There is no compatibility alias — code reading error.getString("type") will no longer find a value and must be updated to error.getString("name"). The code and message keys are unchanged.
Example
Here is the usage of the event mentioned in this page.
- Kotlin
- Java
private val meetingEventListener: MeetingEventListener = object : MeetingEventListener() {
//..
override fun onError(error: JSONObject) {
try {
val errorCodes: JSONObject = VideoSDK.getErrorCodes()
val code = error.getInt("code")
val name = error.optString("name")
Log.d("#error", "Error $code ($name): " + error["message"])
} catch (e: Exception) {
e.printStackTrace()
}
}
}
private final MeetingEventListener meetingEventListener = new MeetingEventListener() {
//..
@Override
public void onError(JSONObject error) {
try {
JSONObject errorCodes = VideoSDK.getErrorCodes();
int code = error.getInt("code");
String name = error.optString("name");
Log.d("#error", "Error " + code + " (" + name + "): " + error.get("message"));
} catch (Exception e) {
e.printStackTrace();
}
}
};
Error Codes
We have depicted a specific constant with code and message in the below table.
1. Errors associated with Organization
This table lists errors that occur due to the configuration and limitations within your organization’s account. These include account status, participant limits, and add-on service availability.
| Name | Code | Message |
|---|---|---|
| ACCOUNT_DEACTIVATED | 4006 | Your account has been deactivated. Please contact VideoSDK support. |
| ACCOUNT_DISCONTINUED | 4007 | Your account has been discontinued. Please reach out to support for more details. |
| MAX_PARTICIPANT_REACHED | 4009 | You have reached the maximum participant limit for this meeting. |
| MAX_SPEAKER_REACHED | 4010 | The maximum number of speakers for this meeting has been reached. |
| MAX_SPEAKER_LIMIT_REACHED_ON_ORGANIZATION | 4026 | Your organization has reached the maximum number of speakers allowed. |
| MAX_VIEWER_LIMIT_REACHED_ON_ORGANIZATION | 4027 | Your organization has reached the maximum number of viewers allowed. |
| ADD_ON_SERVICES_DISABLED | 4021 | Add-On services have been disabled. Please contact support to enable them. |
| MAX_RECORDING_LIMIT_REACHED_ON_ORGANIZATION | 4028 | You have reached max limit of recording on organization. To increase contact at support@videosdk.live |
| MAX_HLS_LIMIT_REACHED_ON_ORGANIZATION | 4029 | You have reached max limit of hls on organization. To increase contact at support@videosdk.live |
| MAX_LIVESTREAM_LIMIT_REACHED_ON_ORGANIZATION | 4030 | You have reached max limit of livestream on organization. To increase contact at support@videosdk.live |
| MAX_RECV_ONLY_LIMIT_REACHED_ON_ORGANIZATION | 4041 | Your organization has reached the maximum recv-only limit. To increase contact at support@videosdk.live |
2. Errors associated with Token
Errors listed here are related to issues with the API key, authentication tokens, or permissions assigned to users. These errors can occur when tokens are missing, expired, or improperly configured.
| Name | Code | Message |
|---|---|---|
| INVALID_API_KEY | 4001 | The provided API key is either missing or invalid. |
| INVALID_TOKEN | 4002 | The provided token is empty, invalid, or has expired. |
| INVALID_PERMISSIONS | 4008 | The permissions in the token are incorrect. Please verify them. |
| UNAUTHORIZED_MEETING_ID | 4022 | The provided token is not authorized for this meeting ID. |
| UNAUTHORIZED_PARTICIPANT_ID | 4023 | The provided token is not authorized for this participant ID. |
| UNAUTHORIZED_ROLE | 4024 | The role specified in the token is not valid for joining this meeting. |
| UNAUTHORIZED_REQUEST | 4025 | Your request does not match the security configuration. |
| APIKEY_DEACTIVATED | 4053 | The provided API key is deactivated. Please verify it on the dashboard. |
3. Errors associated with Meeting and Participant
This table lists errors resulting from invalid or missing meeting or participant details, including cases where a participant attempts to join with a duplicate ID.
| Name | Code | Message |
|---|---|---|
| INVALID_MEETING_ID | 4003 | The meeting ID provided is either invalid or missing. |
| INVALID_PARTICIPANT_ID | 4004 | The participant ID is either invalid or missing. |
| DUPLICATE_PARTICIPANT | 4005 | This participant has joined from another device. |
| MEETING_ID_DISABLED | 4052 | The provided meeting ID is disabled. Please generate a new meetingId using the API. |
4. Errors associated with Add-on Service
This section addresses errors that occur while using VideoSDK's add-on services such as recording, livestreaming, HLS streaming, and transcription.
Recording-related errors
| Name | Code | Message |
|---|---|---|
| START_RECORDING_FAILED | 4011 | Failed to start recording. Please try again. |
| STOP_RECORDING_FAILED | 4012 | Failed to stop recording. Please try again. |
| RECORDING_FAILED | 5001 | Recording was stopped due to an error. |
| START_PARTICIPANT_RECORDING_FAILED | 4035 | Failed to start participant recording. Please check the request. |
| STOP_PARTICIPANT_RECORDING_FAILED | 4036 | Failed to stop participant recording. |
| PARTICIPANT_RECORDING_FAILED | 5012 | Participant recording has stopped due to an error. |
| START_TRACK_RECORDING_FAILED | 4037 | Failed to start track recording. |
| STOP_TRACK_RECORDING_FAILED | 4038 | Failed to stop track recording. |
| TRACK_RECORDING_FAILED | 5013 | Track recording stopped due to an unknown error. |
| PREV_RECORDING_PROCESSING | 4018 | Previous recording session is being processed, please try again after few seconds. |
| RECORDING_DURATION_LIMIT_REACHED | 5004 | Recording stopped due to maximum duration being reached. |
| START_COMPOSITE_RECORDING_FAILED | 4039 | Failed to start composite recording. Please try again. |
| STOP_COMPPOSITE_RECORDING_FAILED | 4040 | Failed to stop composite recording. Please try again. |
Livestream-related errors
| Name | Code | Message |
|---|---|---|
| INVALID_LIVESTREAM_CONFIG | 4015 | Livestream 'outputs' configuration provided was invalid |
| START_LIVESTREAM_FAILED | 4013 | Failed to start livestream. Please try again. |
| STOP_LIVESTREAM_FAILED | 4014 | Failed to stop livestream. Please try again. |
| LIVESTREAM_FAILED | 5002 | Livestream stopped due to an error. |
| PREV_RTMP_RECORDING_PROCESSING | 4019 | Previous RTMP recording session is being processed, please try again after few seconds! |
| LIVESTREAM_DURATION_LIMIT_REACHED | 5005 | Livestream stopped due to maximum duration being reached. |
HLS-related errors
| Name | Code | Message |
|---|---|---|
| START_HLS_FAILED | 4016 | Failed to start HLS stream. |
| STOP_HLS_FAILED | 4017 | Failed to stop HLS stream. |
| HLS_FAILED | 5003 | HLS streaming stopped due to an error. |
| PREV_HLS_STREAMING_PROCESSING | 4020 | Previous HLS streaming session is still being processed. |
| HLS_DURATION_LIMIT_REACHED | 5006 | HLS stream stopped due to maximum duration being reached. |
Transcription-related errors
| Name | Code | Message |
|---|---|---|
| START_TRANSCRIPTION_FAILED | 4031 | Failed to start transcription. Please try again. |
| STOP_TRANSCRIPTION_FAILED | 4032 | Failed to stop transcription. |
| TRANSCRIPTION_FAILED | 5007 | Transcription stopped due to an error. |
5.Errors associated with Media
These errors involve media access, device availability, or permission-related issues affecting camera, microphone, and screen sharing.
Device access-related errors
| Name | Code | Message |
|---|---|---|
| ERROR_CAMERA_ACCESS | 3002 | Something went wrong. Unable to access camera. |
| ERROR_MIC_ACCESS_DENIED | 3003 | It seems like microphone access was denied or dismissed. To proceed, kindly grant access through your device's settings. |
| ERROR_CAMERA_ACCESS_DENIED | 3004 | It seems like camera access was denied or dismissed. To proceed, kindly grant access through your device's settings. |
| ERROR_BLUETOOTH_AUDIO_ROUTE_FAILED | 3010 | Bluetooth audio route failed. SCO connection could not be established after multiple attempts. |
| ERROR_BLUETOOTH_PERMISSION_DENIED | 3011 | Bluetooth permission not granted. To proceed, kindly grant access through your device's settings. |
6.Errors associated with Track
These errors occur when there are issues with video or audio tracks, such as disconnections or invalid custom tracks.
| Name | Code | Message |
|---|---|---|
| ERROR_CUSTOM_SCREEN_SHARE_TRACK_ENDED | 3005 | The provided custom track is in an ended state. Please try again with new custom track. |
| ERROR_CUSTOM_SCREEN_SHARE_TRACK_DISPOSED | 3006 | The provided custom track was disposed. Please try again with new custom track. |
| ERROR_CHANGE_WEBCAM | 3007 | Something went wrong, and the camera could not be changed. Please try again. |
| ERROR_VIDEO_PRODUCE_CODEC_NOT_SUPPORTED | 3008 | The provided video codec is not supported by the device. Falling back to VP8. |
| ERROR_MULTISTREAM_NOT_SUPPORTED | 3009 | Multistream is not supported for provided video codec. |
7.Errors associated with Actions
These errors are triggered when a meeting action cannot run in the current meeting state — called before the meeting is joined, while it is reconnecting, or after it has ended. The delivered message names the rejected method when available; the messages below are the fallback text.
| Name | Code | Message |
|---|---|---|
| ERROR_ACTION_PERFORMED_BEFORE_MEETING_JOINED | 3001 | The meeting is not connected yet. All actions on meeting should be performed after meeting is joined successfully. |
| ERROR_GET_SERVER_CONFIG_FAILED | 3012 | Unable to fetch server configuration. Please verify your token and network connection. |
| OPERATION_TIMEOUT | 3013 | Operation timeout. |
| ERROR_MEETING_RECONNECTING | 3014 | The meeting is reconnecting. Please try again once it reconnects. |
| ERROR_OPERATION_ABORTED | 3015 | The operation was aborted before it completed. |
| ERROR_ALREADY_IN_REQUESTED_STATE | 3016 | The requested state is already active. |
8.Errors associated with PubSub
These errors are triggered when a PubSub operation is rejected by the server or cannot be delivered.
| Name | Code | Message |
|---|---|---|
| PUBSUB_PUBLISH_FAILED | 4087 | Failed to publish the message to the pubsub topic. Please try again. |
| PUBSUB_SUBSCRIBE_FAILED | 4088 | Failed to subscribe to the pubsub topic. Please try again. |
| PUBSUB_UNSUBSCRIBE_FAILED | 4089 | Failed to unsubscribe from the pubsub topic. Please try again. |
9.Errors associated with Whiteboard
These errors are triggered when a whiteboard request is rejected by the server.
| Name | Code | Message |
|---|---|---|
| START_WHITEBOARD_FAILED | 4054 | Failed to start the whiteboard. Please try again. |
| STOP_WHITEBOARD_FAILED | 4055 | Failed to stop the whiteboard. Please try again. |
| WHITEBOARD_OPERATION_IN_PROGRESS | 4056 | A whiteboard operation is already in progress. Please wait for it to complete. |
10.Errors associated with Realtime Store
These errors are triggered when a Realtime Store operation fails.
| Name | Code | Message |
|---|---|---|
| FAILED_TO_SET_VALUE | 4045 | Failed to set realtime store value. |
| FAILED_TO_GET_VALUE | 4046 | Failed to get realtime store value. |
| FAILED_TO_OBSERVE_VALUE | 4085 | Failed to start observing the realtime store value. |
| FAILED_TO_STOP_OBSERVING_VALUE | 4086 | Failed to stop observing the realtime store value. |
11.Errors associated with Recording and Translation
These errors are triggered when a composite recording or translation request is rejected by the server.
| Name | Code | Message |
|---|---|---|
| START_COMPOSITE_RECORDING_FAILED | 4039 | Composite recording start request failed due to an unknown error. |
| STOP_COMPPOSITE_RECORDING_FAILED | 4040 | Composite recording stop request failed due to an unknown error. |
| START_TRANSLATION_FAILED | 4042 | Translation start request failed due to an unknown error. |
| STOP_TRANSLATION_FAILED | 4043 | Translation stop request failed due to an unknown error. |
| CHANGE_TRANSLATION_LANGUAGE_FAILED | 4044 | Change translation language request failed due to an unknown error. |
12.Errors associated with Participant and Meeting Actions
These errors are triggered when the server rejects a request that targets a participant or changes the meeting — the state stays as it was.
| Name | Code | Message |
|---|---|---|
| MAX_RECV_ONLY_LIMIT_REACHED_ON_ORGANIZATION | 4041 | You have reached the maximum limit for participants joining with RECV_ONLY mode in your organization. To increase the limit, please contact support at support@videosdk.live. |
| RESPOND_ENTRY_FAILED | 4059 | Failed to respond to the entry request. Please try again. |
| CHANGE_MODE_FAILED | 4065 | Failed to change the meeting mode. Please try again. |
| REMOVE_PARTICIPANT_FAILED | 4066 | Failed to remove the participant. Please try again. |
| ENABLE_PARTICIPANT_MIC_FAILED | 4067 | Failed to enable the participant's microphone. Please try again. |
| DISABLE_PARTICIPANT_MIC_FAILED | 4068 | Failed to disable the participant's microphone. Please try again. |
| ENABLE_PARTICIPANT_WEBCAM_FAILED | 4069 | Failed to enable the participant's webcam. Please try again. |
| DISABLE_PARTICIPANT_WEBCAM_FAILED | 4070 | Failed to disable the participant's webcam. Please try again. |
| PIN_FAILED | 4071 | Failed to pin the participant. Please try again. |
| UNPIN_FAILED | 4072 | Failed to unpin the participant. Please try again. |
| SWITCH_MEETING_FAILED | 4076 | Failed to switch the meeting. Please try again. |
| SWITCH_PARTICIPANT_ROOM_FAILED | 4077 | Failed to switch the participant's room. Please try again. |
13.Errors associated with Streams and Subscriptions
These errors are triggered when the server cannot start, stop, or adjust the delivery of a participant's streams to this device.
| Name | Code | Message |
|---|---|---|
| ADAPTIVE_SUBSCRIPTION_NOT_ENABLED_BY_SDK | 4047 | Adaptive subscription is not enabled by the SDK. Please contact at support@videosdk.live |
| ADAPTIVE_SUBSCRIPTION_ENABLE_FAILED | 4048 | Adaptive subscription is already enabled. |
| ADAPTIVE_SUBSCRIPTION_DISABLE_FAILED | 4049 | Adaptive subscription is already disabled. |
| CREATE_CONSUMER_FAILED | 4050 | Failed to create consumer. |
| CODEC_NOT_SUPPORTED | 4051 | Your platform doesn't support the remote participant's video codec. |
| PAUSE_ALL_STREAMS_FAILED | 4057 | Failed to pause all streams. Please try again. |
| RESUME_ALL_STREAMS_FAILED | 4058 | Failed to resume all streams. Please try again. |
| SET_QUALITY_FAILED | 4073 | Failed to set the stream quality. Please try again. |
| PAUSE_STREAM_FAILED | 4074 | Failed to pause the stream. Please try again. |
| RESUME_STREAM_FAILED | 4075 | Failed to resume the stream. Please try again. |
| CONSUME_MIC_STREAMS_FAILED | 4080 | Failed to consume the participant's microphone streams. Please try again. |
| CONSUME_WEBCAM_STREAMS_FAILED | 4081 | Failed to consume the participant's webcam streams. Please try again. |
| STOP_CONSUMING_MIC_STREAMS_FAILED | 4082 | Failed to stop consuming the participant's microphone streams. Please try again. |
| STOP_CONSUMING_WEBCAM_STREAMS_FAILED | 4083 | Failed to stop consuming the participant's webcam streams. Please try again. |
14.Errors associated with Media Relay
These errors are triggered when a media relay request is rejected by the server.
| Name | Code | Message |
|---|---|---|
| REQUEST_MEDIA_RELAY_FAILED | 4078 | Failed to request media relay. Please try again. |
| STOP_MEDIA_RELAY_FAILED | 4079 | Failed to stop media relay. Please try again. |
| RESPOND_MEDIA_RELAY_REQUEST_FAILED | 4084 | Failed to respond to the media relay request. Please try again. |
API Reference
The API references for all the methods and events utilised in this guide are provided below.
Got a Question? Ask us on discord

