WebRTC softphone drops predictive calls after 45s causing abandonment spike

Trying to get the custom WebRTC softphone to handle our JST outbound predictive queue without tanking our pacing. The dialer runs fine on the native desktop client, but the web version won’t stay connected past 45 seconds. Abandonment rates jump to 18% during peak hours because the session drops before the agent can transfer. Compliance team’s already asking about the drop calls. It’s driving the metrics up. Agents can’t transfer before the drop.

Running Genesys Cloud WebRTC SDK 1.2.4 on Chrome 124. The console throws this right before the disconnect:

{
 "type": "ice-failure",
 "code": 3002,
 "message": "STUN candidate exchange timeout",
 "timestamp": "2024-05-12T08:14:22.000Z"
}

Network traces show the TURN relay never gets initialized. Should the config force a specific STUN server, or does the platform handle that automatically? The firewall allows 443 and 3478, but maybe UDP is getting blocked somewhere. Pacing stays at 1.2x until the drop happens. Doing jack all on the network side right now. Mic stays hot but audio cuts completely. Checking the candidate pairs again.

"webrtc": {
 "keepAliveInterval": 15000,
 "turnTransportPolicy": "all",
 "iceConnectionTimeout": 60000
}

the v1.2.4 SDK docs explicitly note you’ll hit a hard 45s websocket timeout when the custom softphone skips periodic pings. setting keepAliveInterval to 15000ms stops the platform from killing the session before transfer. which region edge handles the outbound routing?