WebRTC Softphone Connection Drops During Zendesk Migration

Trying to understand why our WebRTC softphone connections are dropping intermittently while migrating from Zendesk Talk. In Zendesk, the audio streams were stable, but now in Genesys Cloud, agents experience sudden disconnections every 10-15 minutes. This is causing significant frustration during the transition phase.

We are using the Genesys Cloud JavaScript SDK version 3.15.2. The error log shows a ‘ICE connection failed’ message followed by a ‘Signaling error: 408 Request Timeout’ in the browser console. This happens specifically when agents are on long calls, which were previously handled seamlessly by Zendesk’s infrastructure.

Our environment is configured with a standard BYOC setup, and the network conditions are identical to our previous Zendesk deployment. We have verified that the firewall rules allow the necessary ports for WebRTC traffic. However, the issue persists across different browsers and devices, suggesting a configuration problem rather than a client-side issue.

Has anyone encountered similar stability issues when moving from Zendesk to Genesys Cloud? Any advice on configuring the WebRTC settings or adjusting the ICE candidate gathering would be greatly appreciated. We want to ensure a smooth migration for our team.

You need to check the ICE candidate gathering timeout in your SDK config. Set iceGatheringTimeout to 30000 ms. This prevents premature connection drops during network transitions. Also, verify that your firewall allows STUN/TURN traffic on UDP ports 3478-3481.

If I remember correctly, adjusting the ICE timeout alone rarely stabilizes persistent drops. The 408 signaling timeout often points to firewall NAT traversal issues rather than SDK configuration. Verify that your perimeter firewall permits UDP traffic on the required port ranges for STUN/TURN services.

We observed similar intermittent disconnections during our initial migration phase. The root cause was typically network infrastructure blocking the media streams, not the application logic itself.