Muokkaa

Jaa


Troubleshooting call end response codes for Calling SDK, Call Automation SDK, PSTN, Chat SDK, and SMS SDK

This article describes troubleshooting call end response codes for Calling SDK, Call Automation, and PSTN calling.

Troubleshooting tips

Consider the following tips when troubleshooting:

  • Your application isn't receiving an IncomingCall Event Grid event: Make sure the application endpoint is validated with Event Grid when creating an event subscription. The provisioning status for your event subscription is marked as succeeded if the validation was successful.
  • For error The field CallbackUri is invalid: Call Automation doesn't support HTTP endpoints. Make sure the callback URL you provide supports HTTPS.
  • The PlayAudio action doesn't play anything: Currently only Wave file (.wav) format is supported for audio files. The audio content in the wave file must be mono (single-channel), 16-bit samples with a 16,000 (16 KHz) sampling rate.
  • Actions on PSTN endpoints aren't working: For CreateCall, Transfer, AddParticipant, and Redirect to phone numbers, you need to set the SourceCallerId in the action request. Unless you're using direct routing, the source caller ID must be a phone number owned by your Communication Services resource for the action to succeed.

For more information about issues tracked by the product team, see Known issues.

Note

Message and Result Categories listed in the following tables are in public preview. For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Understanding calling codes and subcodes errors

Error codes, subcodes, and corresponding result categories help developers identify and diagnose errors. These error codes are exposed through the call.callEndReason property after a call ends.

Error code details include:

Code - are 3 digit integers representing client or server response status. The code categories:

  • Successful responses (200-299)
  • Client error (400-499)
  • Server error (500-599)
  • Global error (600-699)

Subcode - Are defined as an integer, where each number indicates a unique reason, specific to a group of scenarios or specific scenario outcome.

Message - Describes the outcome, and provides hints how to mitigate the problem if an outcome is a failure.

ResultCategory - Indicates the type of the error. Depending on the context, the value can be Success, ExpectedError, UnexpectedClientError, or UnexpectedServerError.

Azure Communication Services Calling SDK client error codes and subcodes

For client errors, if the resultCategories property is ExpectedError, the error is expected from the SDK's perspective. Such errors are commonly encountered in precondition failures, such as incorrect arguments passed by the app, or when the current system state doesn't allow the API call. The application should check the error reason and the logic for invoking API.

Subcode Code Message Result category Advice
40101 408 Failed to create CallAgent. Try again, if issue persists, gather browser console logs, .HAR file, and contact Azure Communication Services support. UnexpectedClientError
40104 408 Failed to create CallAgent. Try again, if issue persists, gather browser console logs, .HAR file, and contact Azure Communication Services support. UnexpectedClientError
40114 408 Failed to connect to Azure Communication Services infrastructure. Try again and check the browser's network requests. If the requests keep failing, gather browser console logs, .HAR file, and contact Azure Communication Services support. UnexpectedClientError For more information, see network requirements.
40115 412 Failed to create CallAgent, unable to initialize connection to Azure Communication Services infrastructure. Try again and check the browser's network requests. If the requests keep failing, gather browser console logs, .HAR file, and contact Azure Communication Services support. UnexpectedClientError For more information, see network requirements.
40216 500 Failed to create CallAgent. Try again, if issue persists, gather browser console logs and contact Azure Communication Services support. UnexpectedClientError
40228 409 Failed to create CallAgent, an instance of CallAgent associated with this identity already exists. Dispose the existing CallAgent, or create a new one with a different identity. ExpectedError
40230 409 Failed to create TeamsCallAgent, an instance of TeamsCallAgent associated with this identity already exists. Dispose the existing TeamsCallAgent before creating a new one. ExpectedError
40606 405 Failed to enumerate speakers, it isn't supported to enumerate/select speakers on Android Chrome, iOS Safari, nor macOS Safari. ExpectedError Speaker enumeration/selection isn't supported on Android Chrome, iOS Safari, nor macOS Safari. The operating system automatically selects the speaker (output device).

Learn more about device management and how to best mitigate these issues.
40613 400 Failed to obtain permission for microphone and/or camera usage, it was denied or it failed. Ensure to allow the permissions in the browser's and in the OS settings. ExpectedError Learn more about how to best handle device permissions.
40614 500 Failed to ask for device permissions Ensure to allow the permissions in the browser's settings and in the OS settings and try again. If issue persists, gather browser console logs and contact Azure Communication Services support. UnexpectedClientError Learn more about how to best handle device permissions.
41006 400 Failed to accept the incoming call, it isn't in the Ringing state. Subscribe to CallAgent's incomingCall event to accept the incoming call. ExpectedError Consult the following articles to identify the root cause of the issue
- Receive an incoming call
- Subscribe to SDK events
41007 400 Failed to reject the incoming call, it isn't in the Ringing state. Subscribe to CallAgent's incomingCall event to reject the incoming call. ExpectedError Consult the following articles to identify the root cause of the issue
- Receive an incoming call
- Subscribe to SDK events
41015 500 Failed to mute microphone. Try again, if the issue persists, gather browser console logs and contact Azure Communication Services support. UnexpectedClientError
41016 400 Failed to unmute microphone. Try again, if the issue persists, gather browser console logs and contact Azure Communication Services support. UnexpectedClientError
41025 400 Failed to start video, LocalVideoStream instance is invalid or empty. Pass in a LocalVideoStream instance. ExpectedError Make sure the object passed in to start video is an instance of LocalVideoStream.
Construct a LocalVideoStream using a VideoDeviceInfo object or a MediaStream object.

Consult the following articles to identify the root cause of the issue:
- Place a call with video camera
- Start and stop sending local video while on a call
- Access raw video
41027 400 Failed to start video, video is already started. ExpectedError Helpful links:
- Place a call with video camera
- Start and stop sending local video while on a call
41030 400 Failed to stop video, video is already stopped. ExpectedError Helpful links:
- Place a call with video camera
- Start and stop sending local video while on a call
41032 400 Failed to stop video, invalid argument. LocalVideoStream used as an input is currently not being sent. ExpectedError The LocalVideoStream that is being sent in the call, is stored in the Call.localVideoStreams[] array, and it's of type Video or RawMedia.
Consult the following articles to identify the root cause of the issue:
- Place a call with video camera
- Start and stop sending local video while on a call
- Access raw video
41033 500 Failed to hold the call. Try again, if the issue persists, gather browser console logs and contact Azure Communication Services support. UnexpectedClientError
41034 500 Failed to resume the call. Try again, if the issue persists, gather browser console logs and contact Azure Communication Services support. UnexpectedClientError
41035 400 Failed to start screen share, screen share is already started. ExpectedError Learn more about how to start and stop screen sharing while on a call
41041 400 Failed to stop screen share, screen share is already stopped. ExpectedError Learn more about how to start and stop screen sharing while on a call
41048 410 Failed to start video during call setup process. Ensure to allow video permissions in the browser's settings and in the OS settings, and ensure the camera device isn't being used by another process. UnexpectedClientError - The camera device might be disabled in the system.
- Camera is being used by another process.
41056 412 Failed to start or join to the call, Teams Enterprise voice policy isn't enabled for this Azure Communication Services resource. Follow the tutorial online to enable it. ExpectedError See on how to enable users for Enterprise Voice online and Phone System Voicemail to enable Teams Enterprise voice policy
41071 412 Failed to start screen share, call isn't in Connected state. Subscribe to the Call's statteChanged event to know when the call is connected. ExpectedError Helpful links:
- Check call properties
- Subscribe to SDK events
41073 412 Failed to get or set custom MediaStream, this functionality is currently disabled by Azure Communication Services. ExpectedError
43000 412 Failed to start video, video device is being used by another process/application. Stop your camera from being used in the other process/application and try again. ExpectedError Understand more about how to best deal with a camera being used by another process
43001 403 Failed to start video, permission wasn't granted to use selected video device. Ensure video device permissions are allowed in the browser's settings and in the system's settings. ExpectedError Ensure camera permissions are allowed in the browser settings and device system settings.
Ensure the cameras aren't disabled in the device system settings.
On macOS, ensure screen recording is allowed from the system settings.

Helpful links:
- Request device permissions-
Screen sharing permissions on macOS
- Enumerating or accessing devices for Safari on macOS and iOS
43002 500 Failed to start video, unknown error. Try again. If the issue persists, contact Azure Communication Services support. UnexpectedClientError
43004 400 Failed to switch video device, invalid input. Input must be of a VideoDeviceInfo type. ExpectedError Use the device manager to get a list of VideoDeviceInfo objects, and then use the VideoDeviceInfo object to switch the source.

Learn more on how to start and stop sending local video while on a call
43005 400 Failed to switch video device, unable to switch to the same video device, it's already selected. ExpectedError
43013 412 Failed to start video, no video devices found. Ensure video devices are plugged in and enabled in the system settings. ExpectedError Make sure you have a camera connected and installed on your device.
43014 412 Failed to start video, error requesting media stream. Try again, if issue persists, contact Azure Communication Services support. UnexpectedClientError
43015 412 Failed to start video, media stream request timed out. Allow permission on the browser's prompt to access the camera and try again. ExpectedError This error can occur if the user doesn't take action on the browser's permission prompt to allow access to the camera.
43016 412 Failed to start video, permissions denied by system. Ensure video device permissions are allowed in the browser's settings and in the system's settings. ExpectedError - Ensure camera permissions are allowed in the browser settings and device system settings.
- Ensure the cameras aren't disabled in the device system settings.
- On macOS, ensure screen recording is allowed from the system settings.

Helpful links:
- Request device permissions
-Screen sharing permissions on macOS
- Enumerating or accessing devices for Safari on macOS and iOS
43017 412 Failed to start video, unsupported stream. Try again, if issue persists, contact Azure Communication Services support. UnexpectedClientError
43018 412 Failed to start video, failed to set constraints. Try again, if issue persists, contact Azure Communication Services support. UnexpectedClientError Learn more about how to set video constraints
43019 412 Failed to start video, no device selected. Ensure to pass a LocalVideoStream constructed with a VideoDeviceInfo and try again. If issue persists, contact Azure Communication Services support. UnexpectedClientError Helpful links:
- Place a call with video camera
- Start and stop sending local video while on a call
43200 412 Failed to render video stream, this stream isn't available. Subscribe to the stream's isAvailable property to get notified when the remote participant has their video on and the stream is available for rendering. ExpectedError Helpful links:
- Render remote participant video/screensharing streams
- Add 1:1 video calling to your app
- Subscribe to SDK events
43202 404 Failed to render video stream, this stream isn't longer available. Remote participant turned off their video. ExpectedError The remote participant turned off their video while trying to create a view for it.
43203 408 Failed to render video stream, rendering timed out while waiting for video frames. Try again, if issue persists, contact Azure Communication Services support. UnexpectedClientError
43204 500 Failed to render video stream, failed to subscribe to video on the Azure Communication Services infrastructure. Try again, if issue persists, contact Azure Communication Services support. UnexpectedClientError
43209 405 Failed to render video stream, VideoStreamRenderer was disposed during initialization process. ExpectedError
43210 400 Failed to dispose VideoStreamRenderer because it's already disposed. ExpectedError
43220 400 Failed to create view, maximum number of active RemoteVideoStream views already reached. You can dispose of a previous one in order to create new one. ExpectedError Learn more about how to properly support the best number of incoming video streams
480 Remote client endpoint not registered. Ensure that the remote endpoint is available.
481 Failed to handle incoming call. File a support request through the Azure portal.
487 Call canceled, locally declined, ended due to an endpoint mismatch issue, or failed to generate media offer. Expected behavior.
490, 491, 496, 497, 498 Local endpoint network issues. Check your network.
503, 504 Communication Services infrastructure error. File a support request through the Azure portal.
600 Busy everywhere. Participant contacted successfully but returned busy signal. Expected behavior.
603 Call globally declined by remote Communication Services participant. Expected behavior.
604 Doesn't exist anywhere. Requested URI doesn't exist. Expected behavior.
606 Not acceptable. Participant successfully contacted but can't support the session described. Expected behavior.

Understanding calling codes and subcodes errors

Error codes, subcodes, and corresponding result categories help developers identify and diagnose errors. These error codes are exposed through the call.callEndReason property after a call ends.

Error code details include:

Code - are 3 digit integers representing client or server response status. The code categories:

  • Successful responses (200-299)
  • Client error (400-499)
  • Server error (500-599)
  • Global error (600-699)

Subcode - Are defined as an integer, where each number indicates a unique reason, specific to a group of scenarios or specific scenario outcome.

Message - Describes the outcome, and provides hints how to mitigate the problem if an outcome is a failure.

ResultCategory - Indicates the type of the error. Depending on the context, the value can be Success, ExpectedError, UnexpectedClientError, or UnexpectedServerError.

Calling End call codes and subcodes

There are different explanations for why a call ended. Here are the meanings of the end of call codes and subcodes that show how a call can end.

Subcode Code Message Result Categories Advice
0 0 Call ended successfully by local participant. Success
0 487 Call ended successfully as caller canceled the call. Success
0 603 Call ended successfully as it was declined from callee. Success
3100 410 Call setup failed due to unexpected network problem on the client, please check client's network and retry. UnxpectedClientError - Ensure that you're using the latest SDK in a supported environment.
3101 410 Call dropped due to unexpected network problem on the client, please check client's network and retry. UnxpectedClientError
3112 410 Call setup failed due to network configuration problem on the client side, please check client's network configuration, and retry. ExpectedError
4097 0 Call ended for all users by the meeting organizer. Success
4507 495 Call ended as application didn't provide valid Azure Communication Services token. UnexpectedClientError Ensure that your application implements token refresh mechanism correctly.
4521 0 Call ended because user disconnected from the call abruptly. This might be caused by a user closing the application that hosted the call, such as a user terminated the application by closing the browser tab without proper hang-up. ExpectedError
5000 0 Call ended for this participant. Participant removed from the conversation by another participant. Success
5003 0 Call ended successfully, as all callee endpoints declined the call. Success
5300 0 Call ended for this participant. Participant removed from the conversation by another participant. Success
5317 0 Target participant is removed due to participant role update. ExpectedError
5828 403 The join is not authorized for the Rooms meeting since user is not part of invitee list. UnexpectedClientError
5829 403 The join is not allowed for the Rooms meeting beyond end time or prior to start time of the meeting. UnexpectedClientError
5830 403 Only Communication Services user is allowed to join the Rooms meeting. ExpectedError
7000 0 Call ended by Azure Communication Services platform. Success
10003 487 Call was accepted elsewhere, by another endpoint of this user. Success
10004 487 Call was canceled on timeout, no callee endpoint accepted on time. Ensure that user saw the notification and try to initiate that call again. ExpectedError
10024 487 Call ended successfully. Call declined by all callee endpoints. Success - Try to place the call again.
10057 408 Call failed, callee failed to finalize call setup, most likely callee lost network or terminated the application abruptly. Ensure clients are connected and available. ExpectedError
301005 410 Participant removed from the call by the Azure Communication Services infrastructure due to loss of media connectivity with the same infrastructure. This usually happens if participant leaves the call abruptly or loses network connectivity. If the participant wants to continue the call, they can reconnect. UnexpectedClientError Ensure that you're using the latest SDK in a supported environment.
510403 403 Call ended, previously marked as a spam and now blocked. ExpectedError - Ensure that your Communication Services token is valid and not expired.
- Ensure to pass in AlternateId in the call options.
540487 487 Call ended successfully as caller canceled the call. Success
560000 0 Call ended successfully by remote PSTN participant. Success Possible causes:
- User ended the call.
- Call ended by media agent.
560486 486 Call ended because remote PSTN participant was busy. The number called was already in a call or having technical issues.
404 Call not found. Ensure that the number you're calling (or call you're joining) exists.
408 Call controller timed out. Call Controller timed out waiting for protocol messages from user endpoints. Ensure clients are connected and available.
410 Local media stack or media infrastructure error. Ensure that you're using the latest SDK in a supported environment.
430 Unable to deliver message to client application. Ensure that the client application is running and available.
480 Remote client endpoint not registered. Ensure that the remote endpoint is available.
481 Failed to handle incoming call. File a support request through the Azure portal.
490, 491, 496, 497, 498 Local endpoint network issues. Check your network.
500, 503, 504 Communication Services infrastructure error. File a support request through the Azure portal.

Call Automation SDK error codes

The following error codes are exposed by the Call Automation SDK.

SubCode Code Message Result Categories Advice
400 Bad request The input request is invalid. Look at the error message to determine which input is incorrect.
400 Play Failed Ensure your audio file is WAV, 16 KHz, or Mono, and make sure the file URL is publicly accessible.
400 Recognize Failed Check the error message. The message highlights if this failure is due to timeout being reached or if operation was canceled. For more information about the error codes and messages, see gathering user input.
401 Unauthorized HMAC authentication failed. Verify whether the connection string used to create CallAutomationClient is correct.
403 Forbidden Request is forbidden. Make sure that you can have access to the resource you're trying to access.
404 Resource not found The call you're trying to act on doesn't exist. For example, transferring a call that previously disconnected.
429 Too many requests Retry after a delay suggested in the Retry-After header, then exponentially backoff.
500 Internal server error Retry after a delay. If it persists, raise a support ticket.
500 Play Failed File a support request through the Azure portal.
500 Recognize Failed Check error message and confirm the audio file format is valid (WAV, 16 KHz, Mono). If the file format is valid, file a support request through Azure portal.
502 Bad gateway Retry after a delay with a fresh http client.
503,504 Communication Services infrastructure error. File a support request through the Azure portal.

PSTN call response codes with ParticipantEndReason

This section provides troubleshooting information for various combinations of ParticipantEndReason and ParticipantEndSubCode response codes. For the tables in this section, ParticipantEndReason = Code and ParticipantEndSubCode = SubCode.

ParticipantEndReason 0

Response ParticipantEndReason with value 0 usually means normal call clearing and marks calls that completed without errors.

SubCode Code Message Result Categories Advice
0 0 Call ended successfully by local participant. Success
560000 0 Normal PSTN call end:
- User ended the call.
- Call ended by media agent.
Success
540000 0 Normal PSTN call end:
- User ended the call.
- Call ended by media agent.
Success

ParticipantEndReason 4xx

Response ParticipantEndReason with value 4xx means that the call didn't connect.

SubCode Code Message Result Categories Advice
510403 403 Call blocked:
- Alternate ID not supplied for the call.
- Phone number not allowed by users Session Border Controller (SBC).
- For more information about Alternate ID, see Manage calls.
- Make sure that you specified a valid Alternate ID. It must be a phone number that belongs to the Resource you're using.
- Verify that you own the Resource you're using to make a call.
- For direct routing calls, verify why your Session Border Controller disallowed the call.
560403 403 - Call forbidden.
- Call canceled.
- Call rejected.
Make sure that you called a valid phone number in the correct format. For more information about supported number formats, see https://en.wikipedia.org/wiki/E.164.
511532 403 Resource SIP trunk configuration not found. Check your direct routing setup in the Azure portal. For more information, see Direct routing provisioning.
560404 404 - Phone number not found.
- Phone number not assigned to any target.
- Phone number not allowed by Session Border Controller.
- Make sure the phone number belongs to the Resource you're using and that you own the Resource.
- Verify that the number you're calling exists, and is assigned to valid target.
511404 404 - Phone number not found.
- Resource used in the call not found.
- Make sure you used a phone number that belongs to the Resource you're using and that you own the Resource.
- Verify that the number you're calling exists, and is assigned to a valid target.
- Make sure that the Resource you're using for the call isn't deleted or disabled.
- Make sure your Azure subscriptions isn't deleted or disabled.
560408 408 The called party didn't respond to a call establishment message within the prescribed time period. - Double check why the called party didn't respond.
- For direct routing calls, check your Session Border Control (SBC) logs and settings and timeouts configuration.
500001 408 User gateway timeout
Azure Communication Services didn't receive a response from the client within a specified time limit and terminated the request.
- Double check why the called party didn't respond.
- For direct routing calls, check your SBC logs and settings and timeouts configuration.
531004 410 Interactive Connectivity Establishment (ICE) checks failed. - The media path couldn't be established. Can be caused by incorrect network configuration. Verify your network configuration to make sure that the required IP addresses and ports aren't blocked. Read the guidelines in https://www.rfc-editor.org/rfc/rfc5245#section-7.
- For direct routing calls, check your SBC logs and settings for ICE configuration and profile. Contact your SBC vendor for configuration help. For more information, see List of Session Border Controllers certified for Azure Communication Services direct routing.
560480 480 - No answer from the called user.
- Called user temporary unavailable.
- Double check why the called party didn't respond.
- Retry the call later in case that the called party was temporary unavailable.
- For direct routing calls, check your SBC logs and settings and timeouts configuration.
560484 484 - Incomplete or invalid callee address.
- Incomplete or invalid callee number format.
- In some cases, you can ignore these failures because the user is dialing an invalid number.
- Make sure the phone numbers are formatted correctly. For more information, see https://en.wikipedia.org/wiki/E.164.
- For direct routing, the SBC could cause these failures because of a missing configuration in a call transfer scenario.
60486 486 The called number was busy - The called number may be connected to an existing call, or having a technical problem.
- For direct routing calls, check your SBC logs and settings and timeouts configuration.
540487 487 The caller terminated the call request. Retry the call.
560487 497 - The caller terminated the call request.
- Request terminated with normal call clearing.
Retry the call.

ParticipantEndReason 5xx

Response ParticipantEndReason with value 5xx means that the call failed due to a problem with a software or hardware component required to complete the connection.

SubCode Code Message Result Categories Advice
560500 500 An internal server error occurred in one of the services involved in the call. - Retry the call. If the issue persists contact your telco provider or Microsoft support.
- For direct routing calls, check your SBC logs and settings and timeouts configuration, to see if your SBC caused the failure.
560503 503 - Call failed because of an internal server error in one of the services involved in the call.
- The network used to establish the call is out of order.
- A temporary failure in one of the services involved in the call.
- Check your network and routing configuration for possible issues. Verify that your network firewall rules are correct.
- Retry the call. If the issue persists, contact your telco provider or Microsoft support.
- For direct routing calls, check your SBC logs and settings and timeouts configuration, to see if your SBC caused the failure.

ParticipantEndReason 603

Response ParticipantEndReason with value 603 means that the call was rejected without connecting.

SubCode Code Message Result Categories Advice
560603 603 - Call declined by the recipient.
- Call declined due to fraud detection.
- If declined by the recipient, retry the call.
- Ensure that you aren't exceeding the maximum number of concurrent calls allowed for your Azure Communication Services phone number. For more information, see PSTN call limitations.

Chat SDK error codes

The Chat SDK uses the following error codes to help you troubleshoot chat issues. The error codes are exposed through the error.code property in the error response.

Code Message Advice
401 Unauthorized Ensure that your Communication Services token is valid and not expired.
403 Forbidden Ensure that the initiator of the request has access to the resource.
429 Too many requests Ensure that your client-side application handles this scenario in a user-friendly manner. If the error persists, file a support request.
503 Service Unavailable File a support request through the Azure portal.

SMS error codes

The SMS SDK uses the following error codes to help you troubleshoot SMS issues. The error codes are exposed through the DeliveryStatusDetails field in the SMS delivery report.

Code Message Advice
2000 Message Delivered Successfully.
4000 Message is rejected due to fraud detection. Ensure you aren't exceeding the maximum number of messages allowed for your number.
4001 Message is rejected due to invalid Source/From number format Ensure the To number is in E.164 format and From number format is in E.164 or Short code format.
4002 Message is rejected due to invalid Destination/To number format. Ensure the To number is in E.164 format
4003 Message failed to deliver due to unsupported destination. Check if the destination you're trying to send to is supported.
4004 Message failed to deliver since Destination/To number doesn't exist. Ensure the To number you're sending to is valid.
4005 Message blocked by Destination carrier.
4006 The Destination/To number isn't reachable. Try resending the message at a later time.
4007 The Destination/To number opted out of receiving messages from you. Mark the Destination/To number as opted out so that no further message attempts are made to the number.
4008 You exceeded the maximum number of messages allowed for your profile. Ensure you aren't exceeding the maximum number of messages allowed for your number or use queues to batch the messages.
4009 Message rejected by Microsoft Entitlement System. Most often this happens if fraudulent activity is detected. Contact support for more details.
4010 Message was blocked due to the toll-free number not being verified. Review unverified sending limits and submit toll-free verification as soon as possible.
5000 Message failed to deliver. Reach out Microsoft support team for more details. File a support request through the Azure portal.
5001 Message failed to deliver due to temporary unavailability of application/system.
5002 Carrier does not support delivery report Most often this happens if a carrier does not support delivery reports. No action required as message may have been delivered already.
9999 Message failed to deliver due to unknown error/failure. Try resending the message.