BYOC Trunk Registration Failure with ServiceNow Webhook Payload

Stuck on a specific integration issue involving the BYOC trunk registration process. The initial health check originates from the ServiceNow automated ticketing flow, which sends a POST request to our internal endpoint to validate the SIP trunk status. While the SIP 200 OK is received by the carrier, the subsequent WebSocket handshake fails intermittently with a 403 Forbidden error. The error logs in the ServiceNow instance show that the payload signature verification is passing, yet the Genesys Cloud side rejects the connection attempt immediately after the initial TCP handshake. This behavior is inconsistent and does not follow a predictable pattern, making it difficult to isolate the root cause.

The environment consists of Genesys Cloud v2023.11 and ServiceNow London release. The webhook configuration uses the standard Data Action for outbound messaging, but the BYOC trunk configuration has been customized to use a specific healthCheckInterval of 5 seconds. The issue seems to correlate with the timing of the ServiceNow ticket creation and the subsequent API call to Genesys. I have verified that the IP allowlisting is correct and that the SSL certificates are valid. Any insights into why the WebSocket connection would be rejected despite a successful SIP 200 OK would be appreciated. The logs indicate that the failure occurs during the upgrade phase of the HTTP request.

the documentation actually says you need to verify the webhook payload signature using the shared secret before processing. since the handshake fails with 403, check if your serviceNow endpoint is rejecting the request due to missing headers. usually it’s a mismatch in the secret key or a timeout issue. focus on the security layer first.