Trying to make sense of why the WebRTC signaling handshake consistently fails with a 408 Request Timeout when initializing the softphone within a Genesys Cloud Premium App iframe. The environment uses multi-org OAuth with a custom BYOC edge deployment, and the SDK version is 1.24.0. The error persists even when the network latency between the edge and the app server is under 50ms. Is there a specific CORS or WebSocket configuration required for the /v2/users/me/rtc/offer endpoint in this context? See WebRTC Integration Guide.
Check the WebSocket connection limits on the BYOC edge gateway. The 408 timeout often happens when the handshake request is queued behind other connections hitting the max concurrent session limit. In JMeter, add a Constant Throughput Timer to cap the initial offer requests at 10/sec per user. This prevents the edge from dropping slow handshakes due to resource exhaustion. Also, verify the token_refresh_buffer in the SDK config. If it is set to 5 seconds, increase it to 15 seconds. Under load, token validation latency can exceed the default buffer, causing the RTC offer to fail before the handshake completes. The error is not usually CORS. It is a capacity issue. Monitor the ws_connect_success and ws_connect_fail metrics in Genesys Cloud analytics. If the failure rate drops after adjusting the throughput timer, the root cause is confirmed as edge capacity saturation. Keep the retry logic simple. Do not implement exponential backoff for the initial offer. Just retry once immediately.