Just noticed that our custom WebRTC softphone integration, built for the AppFoundry marketplace, is experiencing intermittent connection drops during high-concurrency test scenarios. The application uses the Genesys Cloud JavaScript SDK v4.5.2 to establish media sessions. When initiating a call from our external UI, the initial signaling exchange completes successfully, but the media stream fails to stabilize after approximately 15 seconds. The browser console logs indicate a failure in the ICE candidate gathering process, specifically related to the handling of the SDP offer from the Genesys Cloud edge.
Error: Failed to set remote description: OperationError: The remote description is not valid in the current state.
The environment is a multi-tenant setup where our application manages OAuth tokens for multiple Genesys Cloud organizations. The issue appears most frequently when the SDK attempts to renegotiate the session due to network jitter or when switching between audio-only and video-enabled calls. We have verified that the service account used for the integration has the necessary permissions for communications:calls:create and communications:calls:modify. The Architect flow handling the call transfer is standard, utilizing the “Connect to Agent” block with WebRTC enabled. Despite this, the SDK throws the error before the media path is fully established.
We are observing this behavior primarily in Chrome and Edge browsers on Windows 10/11. The issue does not seem to correlate with specific Genesys Cloud regions, as we have tested against both US and EU edges. Our logs show that the initial createOffer succeeds, but the subsequent setRemoteDescription fails when the Genesys Cloud edge responds with an SDP answer that contains attributes the SDK version seems to reject. Has anyone encountered similar issues with SDP negotiation in recent SDK versions? We are considering upgrading to the latest minor release, but want to understand if there are known workarounds or if this is a configuration issue on our end regarding the ICE server settings.