WebRTC Softphone Initiation Fails with 408 Timeout During Zendesk Migration

Is it possible to replicate the seamless click-to-call functionality we had in Zendesk Talk using the Genesys Cloud WebRTC softphone without encountering persistent 408 Request Timeout errors? We are currently migrating our digital support team from Zendesk to Genesys Cloud, and while the ticket-to-interaction mapping is working, the real-time voice component is failing. In Zendesk, the agent just clicked a button, and the call connected. Here, the softphone loads, but the outbound call never rings the destination.

The environment is a standard EU-1 deployment. We are using the Genesys Cloud Web SDK version 2.5.1 within a custom React wrapper that mimics our old Zendesk widget. The error logs show a WebSocket connection failed followed by the 408 timeout on the /api/v2/telephony/phone/connections endpoint. We have verified that the user’s phone number is correctly assigned in the admin console and that the user is online.

Here is the relevant configuration snippet we are using to initialize the softphone client:

softphone_config:
 tenant_id: "eu1-abc123"
 auth_token: "{{ACCESS_TOKEN}}"
 options:
 enable_rtc: true
 debug_mode: true
 logging_level: "verbose"
 routing:
 default_skill: "Support-English"
 queue: "General-Queue"

We noticed that in Zendesk, the underlying SIP signaling was abstracted away completely. In Genesys Cloud, we are seeing the WebRTC handshake initiate, but it stalls at the ICE candidate gathering phase. Is there a specific firewall rule or STUN/TURN server configuration we are missing that differs from the default Zendesk setup? The agents are behind a corporate proxy that allows standard HTTPS traffic. We need the softphone to work reliably before we cut over the final batch of agents next week. Any guidance on debugging the ICE failure or mapping the Zendesk click-to-call logic to the GC WebRTC flow would be appreciated.

Have you tried checking the WebRTC signaling timeout configuration in the Genesys Cloud administration settings? The 408 error often occurs when the STUN/TURN server selection is delayed during the initial handshake, especially if agents are on restrictive corporate networks. In my experience with bulk data migrations, network latency can cause the WebSocket connection to drop before the media session is established.

Ensure that your agents allow Genesys Cloud domains through their firewall, including the specific ports for UDP media traffic. If the firewall blocks the initial ICE candidate exchange, the softphone will time out waiting for a response. You can verify this by opening the browser developer tools and checking the WebSocket logs for any abrupt closures. Also, confirm that the Zendesk integration is correctly passing the phone number context to the Genesys Cloud API. If the payload is malformed, the system might hang while trying to resolve the destination. Try disabling any browser extensions that interfere with WebRTC, as they can sometimes block the microphone access required to initiate the call.