Vivox status 5043 (Timeout) occurs when an API request, such as logging in, fails to receive a server response in time. This is typically caused by network issues like connection loss, high latency, or firewall blockages. The recommended resolution is to retry the failed operation using a controlled, exponential backoff strategy. Before retrying, always verify the device has an active internet connection. This article details the causes and provides a step-by-step resolution guide.
Symptoms:
The Vivox SDK status code VxErrorTimeout (5043) occurs when an asynchronous request sent to the Vivox servers does not receive a response within a predetermined time limit. This error indicates a failure in API communication, not a problem with the audio stream itself. It can happen during operations such as logging in, joining a channel, or sending a text message.
This is distinct from an RTP Timeout (1058), which relates specifically to the flow of voice data.
Cause:
This error indicates that a request was successfully sent from the client, but a reply from the server was never received by the SDK. The timeout duration can vary depending on the specific operation.
Common causes include:
- Network Connectivity Loss The most frequent cause is a loss of the user's internet connection after the request has been sent. The client is unable to receive the server's response, causing the operation to time out.
- High Network Latency or Packet Loss A slow or unstable network connection can delay or drop the server's response packets. Even if the connection is not completely lost, severe latency can cause the SDK to time out while waiting for a reply.
- Firewall or Proxy Interference Network firewalls or proxies can sometimes block or delay traffic to and from Vivox API endpoints (typically over TCP port 443), preventing the server's response from reaching the client.
- Vivox Server-Side Issues While less common, a Vivox server may be under heavy load or experiencing a temporary disruption, causing it to be slow in responding to an API request.
Resolution:
The resolution for a Request Timeout (5043) focuses on intelligently retrying the failed operation and ensuring the network path is clear.
-
1. Implement a Controlled Retry Strategy Since this error is often caused by transient network issues, the recommended course of action is to retry the failed operation.
-
Action: Implement a retry mechanism for the specific request that timed out (e.g.,
Login(),JoinChannel()). - Best Practice: Use an exponential backoff technique for automated retries. For instance, attempt the first retry immediately, the second after 5-10 seconds, and a third after 10-20 seconds. Limit the total number of retries to avoid spamming the server. Alternatively, you can provide a UI button for the user to initiate the retry manually.
-
Action: Implement a retry mechanism for the specific request that timed out (e.g.,
-
2. Check for an Active Internet Connection Before Retrying Retrying is pointless if the user is offline. Always verify connectivity before attempting another request.
- Action: Before each retry attempt, check that the device has an active and stable internet connection. If it does not, you should skip the retry attempt and wait for the connection to be restored.
-
3. Verify Network Configuration If retries consistently fail, the issue may be a persistent network blockage.
- Action: Confirm with your network administrator that firewalls or proxies are not blocking HTTPS traffic (TCP port 443) to the Vivox API domains listed in our requirements documentation: Vivox: What IPs and ports are required for Vivox to work?
-
4. Check for Vivox Service Disruptions If you have ruled out local network issues, the problem may originate from the Vivox backend.
- Action: Check the official Unity Status page for any reported incidents related to Vivox services that could explain slow API response times.