# Troubleshoot WhatsApp Calling Errors - Reference Guide | Developer Documentation

<div id="bkmrk-troubleshoot-whatsap">## Troubleshoot WhatsApp Calling Errors - Reference Guide

<div><span>Updated: Dec 3, 2025</span></div><div id="bkmrk-standard-error-respo"><div id="bkmrk-standard-error-respo-1"><div>### Standard error response

</div></div></div><div>When you receive an error, in the majority of cases the error shape will look like this:</div><div></div><div>Use the Calling API error codes list below to identify and resolve calling errors.</div><div id="bkmrk-calling-logs"><div id="bkmrk-calling-logs-1"><div>### Calling logs

</div></div></div><div>The **Call Logs** tab in [WhatsApp Manager<span>⁠</span>](https://business.facebook.com/latest/whatsapp_manager/phone_numbers) provides businesses and partners with a detailed, self-service view of call events to aid in call troubleshooting.</div><div>The tab displays a table of recent call logs for your business phone numbers. Each call has a log. Each log can have multiple events representing a Graph API request made by the business or a webhook sent by Meta. Each row represents a call, with different columns highlighted to provide information about each call log.</div><div id="bkmrk-how-to-view-call-log"><div id="bkmrk-how-to-view-call-log-1"><div>#### How to view call logs

</div></div></div>
<span>Navigate to [WhatsApp Manager &gt; Account tools &gt; Phone numbers<span>⁠</span>](https://business.facebook.com/latest/whatsapp_manager/phone_numbers)</span><span>Select the desired phone number to view the call logs</span><div id="bkmrk-call-logs-and-events"><div id="bkmrk-call-logs-and-events-1"><div>#### Call logs and events

</div></div></div><div><table><thead><tr><th><span>Field </span></th><th><span>Description </span></th></tr></thead><tbody><tr><td><div><div>Timestamp</div></div></td><td><div><div>Timestamp of when the call occurred.</div></div></td></tr><tr><td><div><div>Call Direction</div></div></td><td><div><div>Outbound (Business-initiated) or Inbound (User-initiated).</div></div></td></tr><tr><td><div><div>Signaling</div></div></td><td><div><div>Signaling Protocol used to establish the call (SIP, GRAPH_API).</div></div></td></tr><tr><td><div><div>Call ID</div></div></td><td><div><div>WhatsApp call identifier.   
**Note: Please provide this ID when requesting support.**</div></div></td></tr><tr><td><div><div>Request ID</div></div></td><td><div><div>Identifier for the request that initiated the call.</div></div></td></tr><tr><td><div><div>Call Details</div></div></td><td><div><div>Additional information containing a log of events during the lifecycle of the call.</div></div></td></tr></tbody></table>

</div><div id="bkmrk-calling-error-codes"><div id="bkmrk-calling-error-codes-1"><div>### Calling error codes

</div></div></div><div><table><thead><tr><th><span>Code </span></th><th><span>Description </span></th><th><span>Possible Solutions </span></th><th><span>HTTP Status Code </span></th></tr></thead><tbody><tr><td><div><div>`100`</div><div>Invalid Parameter</div></div></td><td><div><div>The Graph API call you are making has an invalid parameter.</div></div></td><td><div><div>Exact error details will be listed in the `error_data` section of the response payload.</div><div>If it’s an SDP validation related error then the exact issue will be included in the details.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`613`</div><div>Fetch Call Permission For Consumer Phone Number API Limit Hit</div></div></td><td><div><div>Limit reached for requests to the fetch call permission status API.</div></div></td><td><div><div>Try again later or reduce the frequency or amount of requests to the API the app is making.</div></div></td><td><div><div>`429`</div><div>Too many requests</div></div></td></tr><tr><td><div><div>`131009`</div></div></td><td><div><div>Interactive Message type, `voice_call` not supported. Supported types [`button`, `list`]</div></div></td><td><div><div>Ensure the sender is in one of the [supported countries](/books/meta-whatsapp/page/faqs-developer-documentation).</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`131030`</div></div></td><td><div><div>Recipient phone number is not in allowed list.</div><div>The error is thrown for both attempted calls and call permission requests.</div><div>Only occurs when using public test numbers (PTNs).</div></div></td><td><div><div>Add a recipient phone number to recipient list and try again.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138000`</div><div>Calling not enabled</div></div></td><td><div><div>Calling APIs are not enabled for this phone number</div></div></td><td><div><div>Calling is not enabled on the business phone number.</div><div>[Configure call settings to enable Calling API features](/books/meta-whatsapp/page/configure-call-settings-developer-documentation)</div></div></td><td><div><div>`401`</div><div>Unauthorized</div></div></td></tr><tr><td><div><div>`138001`</div><div>Receiver Uncallable</div></div></td><td><div><div>Receiver is unable to receive calls</div><div>Reasons can include:</div>
<span>The recipient phone number is not a WhatsApp phone number.</span><span>The recipient has not accepted our new Terms of Service and Privacy Policy.</span><span>Recipient using an unsupported client. The currently supported clients are Android, iOS, SMB Android and SMB iOS</span></div></td><td><div><div>Confirm with the recipient that they agree to be contacted by you over WhatsApp and are using the latest version of WhatsApp.</div></div></td><td><div><div>`400`</div><div>Bad Request</div></div></td></tr><tr><td><div><div>`138002`</div><div>Concurrent Calls limit</div></div></td><td><div><div>Limit reached for maximum concurrent calls (1000) for the given number</div></div></td><td><div><div>Try again later or reduce the frequency or amount of API calls the app is making.</div></div></td><td><div><div>`429`</div><div>Too many requests</div></div></td></tr><tr><td><div><div>`138003`</div><div>Duplicate call</div></div></td><td><div><div>A call is already ongoing with the receiver</div></div></td><td><div><div>Try again later when the current call ends.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138004`</div><div>Connection error</div></div></td><td><div><div>Error while connecting the call</div></div></td><td><div><div>Try again later or investigate the connection params provided to the API.</div></div></td><td><div><div>`500`</div><div>Server error</div></div></td></tr><tr><td><div><div>`138005`</div><div>Call rate limit exceeded</div></div></td><td><div><div>Limit reached for maximum calls that can be initiated by the business phone number</div></div></td><td><div><div>Try again later or reduce the frequency or amount of API calls the app is making.</div></div></td><td><div><div>`429`</div><div>Too many requests</div></div></td></tr><tr><td><div><div>`138006`</div><div>No approved call permission found</div></div></td><td><div><div>No approved [call permission](/books/meta-whatsapp/page/obtain-user-call-permissions-developer-documentation) from the recipient</div></div></td><td><div><div>Ensure a call permission has been accepted by the consumer</div></div></td><td><div><div>`401`</div><div>Unauthorized</div></div></td></tr><tr><td><div><div>`138007`</div><div>Connect Timeout error</div></div></td><td><div><div>Call was unable to connect due to a timeout</div></div></td><td><div><div>Business did not apply the offer/answer SDP from Cloud API in time. Connect API was not invoked with the answer SDP in time</div></div></td><td><div><div>`500`</div><div>Server error</div></div></td></tr><tr><td><div><div>`138009`</div><div>Call Permission Request Limit Hit</div></div></td><td><div><div>Limit reached for call permission request sends for the given business and consumer pair</div></div></td><td><div><div>When a business sends more than the limit of call permission requests per time period, Call Permission Requests are rate limited. A connected call with a consumer will reset the limits.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138012`</div><div>Business Initiated Calls Limit Hit</div></div></td><td><div><div>Limit reached for maximum business initiated calls allowed in 24 hours. Currently 100 connected business initiated calls are allowed within 24 hours.</div></div></td><td><div><div>Exact error details will be listed in the `error_data` section of the response payload.</div><div>Details will include a timestamp when the next call is allowed.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138013`</div><div>Business-initiated calling is not available</div></div></td><td><div><div>Business-initiated calling is not available for this business account phone number.</div></div></td><td><div><div>Confirm that Business Initiated calling is available for this business account phone number in the [availability section here](/books/meta-whatsapp/page/cloud-api-calling-developer-documentation).</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138014`</div><div>Calling is temporarily disabled</div></div></td><td><div><div>Calling APIs for this WhatsApp Business Number have been temporarily disabled for having low quality.</div></div></td><td><div><div>Ensure that your outreach to users is valuable and not spam.</div><div>Retry the action after the account restrictions are lifted.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138015`</div><div>Calling cannot be enabled</div></div></td><td><div><div>Calling APIs cannot be enabled for this phone number.</div></div></td><td><div><div>Check and make sure [messaging limit](/books/meta-whatsapp/page/messaging-limits-developer-documentation) on your phone number is 2000 or more</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138017`</div><div>Call permission request can’t be sent because a permanent permission already exists.</div></div></td><td><div><div>Call permission request cannot be sent because a permanent permission has already been approved by the user for this business account phone number.</div></div></td><td><div><div>No need to send call permission requests.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138018`</div><div>WhatsApp Business calling cannot be enabled because technical pre-requisites are not met.</div></div></td><td><div><div>See [prerequisites](/books/meta-whatsapp/page/cloud-api-calling-developer-documentation) for more details</div></div></td><td><div><div>[Configure SIP](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation) or ensure there is at-least one app subscribed to the WhatsApp Business Account that also has subscription to the `calls` webhook field.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138019`</div><div>Call setup failed</div></div></td><td><div><div>The WhatsApp client failed to set up the call.</div><div>This error is sent in the call terminate webhook.</div></div></td><td><div><div>Try again later.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138020`</div><div>Relay connection failed</div></div></td><td><div><div>The WhatsApp client failed to establish a connection with the relay server.</div><div>This error is sent in the call terminate webhook.</div></div></td><td><div><div>Try again later.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138021`</div><div>Media receive timeout</div></div></td><td><div><div>The WhatsApp client terminated the call due to not receiving any media for a long time.</div><div>This error is sent in the call terminate webhook.</div></div></td><td><div><div>Confirm that call media is being sent to the relay and try again.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138022`</div><div>Media transmit timeout</div></div></td><td><div><div>The WhatsApp client terminated the call due to not transmitting any media for a long time.</div><div>This error is sent in the call terminate webhook.</div></div></td><td><div><div>Try again later.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`138023`</div><div>Call accepted but terminated with no media signals</div></div></td><td><div><div>The call was accepted but terminated with no media connection signals.</div><div>Cloud API could not determine if the call was connected.</div><div>This error is sent in the call terminate webhook.</div></div></td><td><div><div>Try again later.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`131044`</div></div></td><td><div><div>An error webhook is sent on user initiated calls when there is no valid payment method attached</div></div></td><td><div><div>This is similar to the [“Business eligibility payment issue”](/documentation/business-messaging/whatsapp/support/error-codes) error in messaging.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr><tr><td><div><div>`131055`</div></div></td><td><div><div>Method not allowed. Graph API calls are not allowed for SIP enabled numbers</div></div></td><td><div><div>Use [SIP](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation) for SIP enabled business numbers.</div></div></td><td><div><div>`400`</div><div>Bad request</div></div></td></tr></tbody></table>

</div><div id="bkmrk-sip-errors"><div id="bkmrk-sip-errors-1"><div>### SIP errors

</div></div></div><div>Also refer to [SIP specific FAQ](/books/meta-whatsapp/page/faqs-developer-documentation) for additional troubleshooting info</div><div id="bkmrk-business-initiated-c"><div id="bkmrk-business-initiated-c-1"><div>#### Business initiated calls

</div></div></div><div><table><thead><tr><th><span>SIP status and message </span></th><th><span>Description </span></th><th><span>Possible Solutions </span></th></tr></thead><tbody><tr><td><div><div>`400`</div><div>Asset not found, invalid business phone number</div></div></td><td><div><div>The phone number in the `From` header of the INVITE is invalid and does not correspond to a registered account on WhatsApp Business Platform</div></div></td><td><div><div>Check the phone number and resend the INVITE with the correct `From` header value. See [examples](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation)</div></div></td></tr><tr><td><div><div>`403`</div><div>SIP server `foo.com` from INVITE does not match any SIP server configured for phone number id [ID]</div></div></td><td><div><div>Your SIP INVITE to Meta has ‘foo.com’ in the `From` header (for example, `15555551234@foo.com`). But there is no SIP server with that hostname [configured](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation) on the business phone number.</div></div></td><td><div><div>Check your [SIP configuration](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation) and ensure it matches the domain used in the `From` header. The `hostname` in the [SIP configuration](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation) should match the domain in the `From` header of your SIP INVITE. It is also valid for the SIP configuration `hostname` to be a sub-domain of the domain in `From` header. For example, SIP server configured is `bar.foo.com` and the From header is `15555551234@foo.com`</div></div></td></tr><tr><td><div><div>`403`</div><div>No Approved Call Permission Found: No approved call permission from the recipient</div></div></td><td><div><div>There is no WhatsApp user with specified number or user has not accepted our new Terms of Service or there is no permission from user to call the business. Meta can’t reveal if a phone number is on WhatsApp with certainty, due to privacy reasons. So this is the same error you’ll receive for multiple reasons.</div></div></td><td><div><div>Double check the user phone number and make sure you obtain the user permission. See [Obtain User Call Permissions ](/books/meta-whatsapp/page/obtain-user-call-permissions-developer-documentation)for more information</div></div></td></tr><tr><td><div><div>`403`</div><div>The app [APP_ID] configured for SIP server `example.com` is not authorized for phone number id [ID]</div></div></td><td><div><div>When you configure SIP server on a business phone, Meta extracts the app id from the access token and stores a mapping from the SIP server to that app id. When you send a SIP INVITE, Meta consults that mapping to know which app is making the SIP request. This error means that app does not have `whatsapp_business_messaging` permission on the business phone.</div></div></td><td><div><div>Check that you are using the right app and make sure it has permissions on the business phone. If you’re able to [send message](/books/meta-whatsapp/page/sending-messages-developer-documentation) using the app’s access token, that means the app has the right permission. Otherwise you may need to delete and add your SIP server with the correct app and retry your SIP INVITE. See [Configuring SIP settings](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation).</div></div></td></tr><tr><td><div><div>`403`</div><div>Business Initiated Connected Call Per Day Limit Hit</div></div></td><td><div><div>Limit reached for maximum business initiated calls allowed in 24 hours. Currently 5 connected business initiated calls are allowed within 24 hours.</div></div></td><td><div><div>See more info about the [limits](/books/meta-whatsapp/page/obtain-user-call-permissions-developer-documentation) and adjust your calling rate accordingly</div></div></td></tr><tr><td><div><div>`403`</div><div>Additional reasons for 403 include</div>
<span>Duplicate call because there can be only one active between a given business and user account</span><span>Invalid digest auth response</span><span>Business eligibility payment issue</span><span>SDP Validation Error</span></div></td><td><div><div>Read each error for details</div></div></td><td><div><div>Consult earlier sections in this page like [Calling error codes](/books/meta-whatsapp/page/troubleshoot-whatsapp-calling-errors-reference-guide-developer-documentation)</div></div></td></tr><tr><td><div><div>`404`</div><div>Not found</div></div></td><td><div><div>SIP INVITEs using IP in request URI are not allowed</div></div></td><td><div><div>Use the correct request URI. See [examples](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation)</div></div></td></tr><tr><td><div><div>`407`</div><div>Proxy Authentication Required</div></div></td><td><div><div>Meta mandates digest authentication for your SIP INVITEs and this is the standard challenge response from Meta</div></div></td><td><div><div>Resend the SIP INVITE with digest response. See [examples](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation)</div></div></td></tr><tr><td><div><div>`408`</div><div>RTP Timeout</div></div></td><td><div><div>The WhatsApp client terminated the call due to not receiving any media for a long time.</div></div></td><td><div><div>See [Media related issues](/books/meta-whatsapp/page/troubleshoot-whatsapp-calling-errors-reference-guide-developer-documentation)</div></div></td></tr><tr><td><div><div>`480`</div><div>Temporarily Unavailable</div></div></td><td><div><div>WhatsApp user is not reachable or did not answer the call</div></div></td><td><div><div>Try messaging or calling later. Unanswered calls impact call permissions. [Learn more](/books/meta-whatsapp/page/obtain-user-call-permissions-developer-documentation)</div></div></td></tr><tr><td><div><div>`486`</div><div>User declined the call</div></div></td><td><div><div>WhatsApp user declined your call</div></div></td><td><div><div>Try messaging or calling later. Rejected calls impact call permissions. [Learn more](/books/meta-whatsapp/page/obtain-user-call-permissions-developer-documentation)</div></div></td></tr><tr><td><div><div>`487`</div><div>Request Terminated</div></div></td><td><div><div>Business canceled their SIP INVITE using SIP CANCEL</div></div></td><td><div><div>Expected return for your SIP INVITE when you CANCEL the INVITE before Meta response to your INVITE</div></div></td></tr><tr><td><div><div>`503`</div><div>Service Unavailable</div></div></td><td><div><div>Generic internal error.</div></div></td><td><div><div>Retry your request after some time or consult Meta support</div></div></td></tr></tbody></table>

</div><div id="bkmrk-media-related-issues"><div id="bkmrk-media-related-issues-1"><div>### Media related issues

</div></div></div><div><table><thead><tr><th><span>Issue </span></th><th><span>Description </span></th><th><span>Possible Solutions </span></th></tr></thead><tbody><tr><td><div><div>Call disconnects after 20 seconds into the call</div></div></td><td><div><div>At the start of the call, if there is no media flowing from business to WhatsApp user for 20 seconds, WhatsApp client will disconnect the call due to no media</div></div></td><td><div>
<span>Check your media server to make sure it’s initiating the media session and sending media packets</span><span>Check your firewall to rule out any packet drops at your edge</span><span>Capture network traffic using pcap or a similar tool and attach it to the support ticket for further troubleshooting by Meta</span></div></td></tr><tr><td><div><div>Can’t hear audio and call disconnects after 30 seconds</div></div></td><td><div><div>After the call is connected and established, if there is no media packet from business to WhatsApp user for 30 seconds, WhatsApp client will disconnect the call due to no media reception</div></div></td><td><div>
<span>Make sure you’re at-least sending RTCP packets even when there is silence or when you are waiting for user input (for example, IVR)</span><span>Check your media server to understand why it stops sending media packets to Meta</span><span>Capture network traffic using pcap or a similar tool and attach it to the support ticket for further troubleshooting by Meta</span></div></td></tr></tbody></table>

</div><div id="bkmrk-audio-clipping-issue"><div id="bkmrk-audio-clipping-issue-1"><div>### Audio clipping issue and solution

</div></div></div><div>When bridging the WhatsApp Consumer media leg via WebRTC to another media leg, such as [SIP<span>⁠</span>](https://l.facebook.com/l.php?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc3261&h=AT6wIT1U0B7nAgDvd_5gYYUZ8P1NriwWNsk_ok5tZgTWrw2PNmQOCj4_wQCjjnV0xWqbZ_hpd4G832tYZgUXg8MM9npHB77fj6nkXDdDjn70mYgFFeGSMCBZyAJJVCSAmSjbYKWbj59o-MHhRukGuw), it’s important to be aware of potential audio clipping issues and how to prevent them. A common symptom of this issue is that the WhatsApp consumer may miss approximately one second of audio from the business. For instance, if an IVR system is playing a sequence like “1-2-3,” the consumer might only hear “2” or “3.” The extent of audio loss varies based on the specific integration and the severity of the issue.</div><div>The sequence diagram below illustrates this problem using an example where the WebRTC leg from the Cloud API is bridged with a SIP media leg. Depending on the SIP vendor and implementation, the media from the SIP User Agent might start playing at step 11, but it won’t reach the WhatsApp consumer until step 18.</div><div id="bkmrk-sequence-diagram"><div id="bkmrk-sequence-diagram-1"><div>#### Sequence diagram

</div></div></div><div>![Sequence diagram showing WebRTC to SIP call bridging flow](https://support2.chatarchitect.com/uploads/images/gallery/2026-04/embedded-image-xl7vwq0c.jpeg) (*Right click image and choose “Open in new tab” for enlarged image*)</div><div id="bkmrk-components-of-the-se"><div id="bkmrk-components-of-the-se-1"><div>##### Components of the sequence diagram

</div></div></div>
<span>*WAConsumer* is a WhatsApp user calling the business phone number using WhatsApp mobile app</span><span>*Meta* is the Cloud API product</span><span>*MetaWebrtcEndpoint* is the WebRTC agent on the Meta infrastructure</span><span>*BizIntegration* is the webhook server receiving calls related webhooks and the app server with business logic to invoke Cloud API Graph APIs</span><span>*BizWebrtcEndpoint* is the WebRTC termination point as well as the SIP UAC typically in a media server on your side.</span><span>*BizSipEndpoint* is the SIP User Agent (UA) often representing IVR or Business Agent.</span><div id="bkmrk-key-points-to-note"><div id="bkmrk-key-points-to-note-1"><div>##### Key points to note

</div></div></div>
<span>Upon receiving the connect webhook (step 5 above), initialize your WebRTC agent, prepare the SDP answer, and make the Pre-accept Graph API call with the SDP answer. This pre-establishes the WebRTC connection in anticipation of an ‘accept/ok’ response from the SIP User Agent (UA). In most cases, the consumer’s call is answered, such as by an automated recording or IVR system.</span><span>At step 11 above, wait for the ICE process to complete the creation of valid lists, indicating the near completion of ICE connection establishment (RFC reference).</span><span>If the SIP UA rejects the call instead of returning a 200 OK, use the terminate Graph API to end the call.</span><span>If the consumer connection is ready before the SIP connection, the consumer may experience a few milliseconds of silence, which is preferable to losing some initial audio from the business.</span><div id="bkmrk-root-cause"><div id="bkmrk-root-cause-1"><div>#### Root cause

</div></div></div><div>When bridging two media legs, it’s crucial for the media server to synchronize their readiness to prevent audio clipping. In this scenario, the BizWebrtcEndpoint is allowing the SIP User Agent (UA) to transmit media significantly earlier than the WebRTC leg is prepared to receive it. As a result, packets are being dropped at the media server, leading to audio clipping issues.</div><div id="bkmrk-suggested-solutions"><div id="bkmrk-suggested-solutions-1"><div>#### Suggested solutions

</div></div></div><div>Below is a high-level summary of alternative approaches to address audio clipping, intended to stimulate discussion and consideration. While each option has its drawbacks, you can assess their feasibility in the context of your specific requirements.</div>
<span>**Use SDES**: [Configure SDES](/books/meta-whatsapp/page/sip-configuration-guide-whatsapp-business-calling-developer-documentation) on your business number instead of DTLS. A common reason for delayed setup of the media leg between your infrastructure and Meta is DTLS handshake completion. Meta cannot complete DTLS handshake until it receives your SDP. You may not be able share your SDP with Meta until your internal endpoint responds to your with their SDP. Common DTLS implementations have a retry interval of 1s, 2s, 4s, and so on. After you send Meta the SDP, there is often a ~3 second delay before we receive your DTLS client hello packet and this is when your internal endpoint is sending media but it is dropped. When you switch to SDES you can directly send SRTP after you send us your SDP.</span><span>**Delayed Audio Playback:** Instruct the SIP User Agent (UA) to wait for an ACK from BizWebrtcEndpoint before playing audio. The ACK would be sent only after receiving a successful response from the Accept API, followed by an artificial delay. This approach ensures that the WebRTC connection is established before audio playback begins.</span><span>**Connection State-Based Delay:** Direct the SIP UA to wait until the WebRTC connection state is ‘connected’ before playing audio. This method relies on the WebRTC connection being fully established before audio playback starts.</span><span>**Buffered Media Packets:** Buffer SIP media packets and send them only after the WebRTC connection is established. This approach ensures that no audio packets are lost due to premature playback.</span><span>**Silence Insertion:** Insert a brief period of silence into the IVR audio before the actual audio content. This method allows the WebRTC connection to establish itself while the IVR is playing silence, reducing the likelihood of audio clipping.</span><span>**Pre-accept**: According to the [RFC recommendation<span>⁠</span>](https://l.facebook.com/l.php?u=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8839%23name-offer-in-invite&h=AT6wIT1U0B7nAgDvd_5gYYUZ8P1NriwWNsk_ok5tZgTWrw2PNmQOCj4_wQCjjnV0xWqbZ_hpd4G832tYZgUXg8MM9npHB77fj6nkXDdDjn70mYgFFeGSMCBZyAJJVCSAmSjbYKWbj59o-MHhRukGuw), a WebRTC agent, such as BizWebrtcEndpoint, should not transmit media until the ICE process is nearly complete. In our context, this means adopting an ‘optimistic accept’ strategy by invoking the [pre-accept API call](/books/meta-whatsapp/page/api-and-webhook-reference-developer-documentation) even before sending the SIP INVITE. According to SIP RFCs, a User Agent Client (UAC) should be prepared to receive media immediately after sending the INVITE. Therefore, it’s advisable to initiate the WebRTC connection setup process prior to sending the SIP INVITE.</span><div>These solutions may have varying degrees of complexity and impact on your system. It’s essential to evaluate their feasibility and potential trade-offs in the context of your specific use case.</div><div id="bkmrk-support"><div id="bkmrk-support-1"><div>### Support

</div></div></div><div>For support concerning WhatsApp Business Calling API, choose the **WaBiz: Calling API** topic when opening a [Direct Support<span>⁠</span>](https://business.facebook.com/direct-support/) ticket.</div></div>