Stuck on a peculiar issue regarding WebChat session continuity when traffic is routed through our secondary BYOC trunks in the Asia/Singapore region. We manage 15 distinct BYOC trunks to ensure redundancy, but the WebChat widget (v4.2.1) seems to lose context when a failover event triggers mid-conversation.
The primary trunk handles roughly 80% of the volume without issue. However, when we simulate a carrier outage forcing traffic to the secondary trunks, the WebChat client occasionally drops the sessionId after the initial message exchange. The Architect flow is configured to use the same Digital Messaging application for all trunk groups, yet the backend appears to treat the incoming SIP message as a new interaction rather than a continuation. We are seeing HTTP 409 Conflict errors in the browser console when the widget attempts to post the second message, citing a mismatch in the interactionId.
We have verified that the SIP credentials and outbound routing rules are identical across all 15 trunks. The issue does not seem to be related to network latency, as ping tests to the Singapore edge nodes remain under 20ms. It feels like a state synchronization problem between the carrier-specific SIP signaling and the Genesys Cloud Digital Messaging service. The Genesys Docs mention that session persistence relies on stable SIP endpoints, but it does not clarify how BYOC failover impacts the underlying WebSocket connection maintained by the client.
Has anyone encountered similar behavior where the failover logic disrupts the WebChat session state? We are considering implementing a custom retry mechanism in the Architect flow to re-establish the session, but that feels like a workaround rather than a fix. Any insights into how the platform maps SIP dialog IDs to WebChat sessions during trunk rotation would be appreciated. We need to ensure seamless handoff without requiring the agent to restart the interaction.