Why does this setting cause WebSocket drops during high-concurrency BYOC load tests?

What is the reason this setting causes WebSocket drops during high-concurrency BYOC load tests?

Running a JMeter script to simulate 500 concurrent WebRTC sessions via our BYOC gateway. The environment is Genesys Cloud (US-1) with a custom NICE CXone integration layer. We are hitting a wall where connections stabilize for about 2 minutes, then start failing with 401 Unauthorized on the WebSocket handshake, even though the tokens were valid at connection start.

The JMeter thread group is configured with a ramp-up of 50 users per second. No back-end API rate limits are being hit (checked the X-RateLimit-Remaining headers, they are healthy). The issue seems isolated to the signaling layer.

Environment details:

  • Genesys Cloud API SDK version 2.14.0
  • BYOC Gateway: AWS ALB with WebSocket support enabled
  • Load Pattern: Constant concurrent calls, no idle time
  • Error Log: WebSocket connection failed: 1006 Abnormal Closure

Here is the relevant JMeter HTTP Header Manager config:

  • Authorization: Bearer {{access_token}}
  • Content-Type: application/json
  • X-Gateway-Id: {{gateway_id}}

The token refresh logic in the script is set to renew tokens every 55 minutes. The drops happen at minute 2. This suggests a session timeout or a concurrency limit on the BYOC connector that isn’t documented in the standard rate limit tables.

Is there a specific maxConcurrentSessions parameter we need to adjust in the BYOC profile? Or is this a known issue with the WebRTC signaling server dropping stale connections too aggressively? We need to push this to 1000 concurrent calls for production validation, but we cannot get past the 500 mark without these intermittent 401s.

Any insights on tuning the WebSocket keep-alive interval in the client config would be appreciated. Currently set to 30 seconds.