Why does the WebRTC signaling channel drops immediately after the initial SDP exchange when using our custom AppFoundry widget in a multi-org setup?
We are deploying a premium app that bridges two separate Genesys Cloud organizations via OAuth. The media stream initializes correctly for local agents, but fails when routing through the secondary org’s SIP trunk integration. The browser console logs indicate a clean start, but the platform API returns a 403 Forbidden on the subsequent ICE candidate gathering request.
Environment details:
- Genesys Cloud Platform API v2
- JavaScript SDK 3.6.1
- Chrome 115+ (Linux & Windows)
- Multi-tenant OAuth with mutual TLS
- Custom Architect flow for media bridging
The error payload suggests a token scope mismatch, yet the access token clearly includes the webchat:read and media:write scopes required for peer-to-peer connections. We have verified that the CORS headers are correctly configured on the reverse proxy handling the OAuth redirects. The issue appears intermittent, occurring roughly 30% of the time during peak load testing. Has anyone encountered similar scope validation failures during cross-org WebRTC handshakes?