Why do I get a 404 when trying to change an active conversation?

Question

  • When trying to change an active conversation, I get a 404 response.
  • Why can I not make a change to an active conversation?
  • Why can I not change an inbound call?
  • Why are my two calls not in the same conference?
  • How are Voice API requests routed based on geographical location?
  • Can I have calls from all over the world join the same conference?

 

Known Issue

Product: Voice API
Feature: Call Control

Conversations and calls are currently tied to a geographic Data Center, depending on the location they originated. If the inbound call is to a virtual number closer to the USA Data Center, then the conversation will reside in the USA. If the outbound API request is closer to the Singapore Data Center, then the conversation will reside in Singapore. Media (RTP) will continue to use the lowest latency route available using Automatic Location Based Routing.

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 in this way because the originating country is Puerto Rico and this country is closer to the USA Data Center, and so the conversation resides in the USA, but your server is closer to the Singapore Data Center, and thus the API request is routed to Singapore. As the Singapore Data Center cannot find your active call/conversation, it is unable to fulfil the request and so returns a 404.

 

Workaround

If you receive a 404 HTTP response when sending an API request to change an active call/conversation, and you have not received the completed event for the Call ID, it is likely your call is residing on a different Data Center. You can then resend your API request directly to the other Data Centre using the following API endpoints:

  • https://api-us-1.nexmo.com
  • https://api-sg-1.nexmo.com

 

Resolution

The resolution is currently under development to enable full cross-data-center clustering and enable calls to move between data centers.

Have more questions? Submit a request