Meeting Error Codes - iOS
If you encounter any of the errors listed below, refer to the Developer Experience Guide, which offers recommended solutions based on common error categories.
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 |
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. |
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. |
This section addresses errors that occur while using VideoSDK's add-on services such as recording, livestreaming, HLS streaming, and transcription.
| 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. |
| 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. |
| 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. |
| 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. |
These errors involve media access, device availability, or permission-related issues affecting camera, microphone, and screen sharing.
| Name | Code | Message |
|---|
| ERROR_GET_VIDEO_MEDIA_PERMISSION_DENIED | 3014 | Video capture permission denied. |
| ERROR_GET_AUDIO_MEDIA_PERMISSION_DENIED | 3015 | Audio capture permission denied. |
| ERROR_GET_DISPLAY_MEDIA_PERMISSION_DENIED | 3016 | Screen sharing permission denied. |
| Name | Code | Message |
|---|
| ERROR_GET_VIDEO_MEDIA | 3011 | Your browser/Device does not support Video. |
| ERROR_GET_AUDIO_MEDIA | 3012 | Your browser/Device does not support Audio. |
| ERROR_GET_DISPLAY_MEDIA | 3013 | Your browser/Device does not support Screen Sharing. |
These errors are triggered when there are issues with video, audio, or screen-share tracks, or when the requested codec is not supported.
| Name | Code | Message |
|---|
| ERROR_VIDEO_PRODUCE_CODEC_NOT_SUPPORTED | 3008 | The provided codec is not supported for producing video on this device. Falling back to VP8. |
| ERROR_MULTISTREAM_NOT_SUPPORTED | 3009 | Multistream is not supported for provided video codec. |
| CREATE_CONSUMER_FAILED | 4050 | Failed to create consumer. |
| CODEC_NOT_SUPPORTED | 4051 | Your platform doesn't support the remote participant's video codec. |
These errors are triggered when an action cannot run in the current state — called before the meeting is joined, while it is reconnecting, or when the requested state is already active.
| Name | Code | Message |
|---|
| ERROR_ACTION_PERFORMED_BEFORE_MEETING_JOINED | 3035 | Oops! Something went wrong. The room was in a connecting state, and during that time, an action encountered an issue. Please try again after joining a meeting. |
| Name | Code | Message |
|---|
| ERROR_ALREADY_IN_REQUESTED_STATE | 3054 | The requested state is already active. |
| ERROR_MEETING_RECONNECTING | 3065 | The meeting is reconnecting. Please try again once it reconnects. |
These errors are triggered when the server rejects a request that targets a remote participant or changes the meeting — including stream subscriptions, meeting mode, room switching, and media relay. The state stays as it was.
| Name | Code | Message |
|---|
| 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. |
| SET_QUALITY_FAILED | 4073 | Failed to set the stream quality. Please try again. |
| Name | Code | Message |
|---|
| ERROR_UNABLE_TO_JOIN_MEETING | 3047 | Unable to join the meeting. Please try again. |
| 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. |
| 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. |
| 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. |
| PAUSE_STREAM_FAILED | 4074 | Failed to pause the stream. Please try again. |
| RESUME_STREAM_FAILED | 4075 | Failed to resume the stream. 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. |
| 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. |
| 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. |
| RESPOND_MEDIA_RELAY_REQUEST_FAILED | 4084 | Failed to respond to the media relay request. Please try again. |
These errors are triggered while using in-meeting collaboration features such as PubSub messaging, the realtime key-value store, the whiteboard, and translation.
| 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. |
| 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. |
| 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. |
| Name | Code | Message |
|---|
| 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. |