Symptom
When trying to modify an active call or when listing or retrieving the call and conversation details, the API request is rejected with a 404 error response.
Applies To
- Voice API
- 404 Response
- Call Control
Resolution
When modifying an active call or conversation:
If you receive a 404 HTTP response when sending an API request to change an active call or conversation, it is likely your call is residing on a different Data Center. The Data Center region URL is sent to your answer URL when requesting the NCCO, and should be used for all future API requests in the same conversation.
Conversations and calls are currently tied to a geographic Data Center, depending on their origin location. If the inbound call is to a virtual number closer to the US Data Center, then the conversation will usually reside in the US. If the outbound API request is closer to the Singapore Data Center, then the conversation will usually reside in Singapore.
If you receive a call to your Puerto Rico virtual number, and you wish to stream an audio file to the Call-ID, and your server is based in Indonesia, you will receive a 404 HTTP response. The call is routed this way because the originating country is Puerto Rico, which is closer to the US Data Center. So the conversation resides in the US, but your server is closer to the Singapore Data Center, and thus the API request is routed to Singapore. The Singapore Data Center cannot find your active call or conversation, so it cannot fulfill the request and returns a 404.
Get details of your calls or for a specific call:
If a call is created in the EU data center but the API request to retrieve details for that specific call is made to a different data center, the request will be rejected with a 404 response. Similarly, if the API request to fetch details for all your calls is made to a different data center, no records will be returned. To correctly retrieve call details from the data center where the call resides, ensure that you use the regional URL endpoint specified in the NCCO request or the same API endpoint that was used during call creation.
List the conversations or retrieving a conversation:
If a conversation is created in the EU data center, but the API request to retrieve details for that specific conversation is made to a different data center, the request will be rejected with a 404 response. Similarly, if the API request to list details for all the conversations is made to a different data center, no records will be returned.
To correctly retrieve conversation details from the data center where the conversations reside, ensure that you use the regional URL endpoint specified in the NCCO request or the same API endpoint that was used during call/conversation creation.
Additional Information
You can find all current region URLs for all Data Centres in our documentation.
Also, please refer to our API reference doc here: Voice API, Conversation API
Articles in this section
- What is a Conversation ID?
- How to configure the custom webhook timeout for Voice API functionality and what are the allowed timeout ranges ?
- How do I change TTL for the Conversations and Call Legs?
- Why are call progress events not being received on the Event URL defined in the conversation action NCCO?
- Why is there an extended silence at the beginning of a call and how can it be reduced?
- Intermittent WebSocket Disconnections
- What Is An NCCO
- How Does Jitter Impact Voice Calls
- Voice API "Bad Request" Error When Ending Calls Immediately After Creation
- What Is MOS Score In Voice Calls?