Log inSign up
Home
Webex Contact Center
  • Overview
  • Agent Desktop
  • Service Apps
  • API REFERENCE
  • AI Assistant for Developers
  • Changelog

Webex Contact Center

BYoVA WebSocket: Troubleshooting and Validation

Use these checks to validate a partner BYoVA WebSocket connector and isolate connection, media, turn-taking, DTMF, and cleanup failures.

anchorOverview

anchor

For field names, required values, and the complete conversation lifecycle, see the BYoVA over WebSocket guide and its published AsyncAPI schemas.

anchorConnection and authentication

anchor
SymptomChecks
WebSocket handshake is rejectedConfirm the endpoint is reachable over wss://, the certificate is valid for its hostname, and the bearer token is present and accepted.
The first message is rejectedConfirm SESSION_START is the first application input and that the request uses the expected JSON envelope.
Messages are associated with the wrong callKeep one connection per conversation_id and return the same conversation ID in partner responses and errors.
Heartbeat failsRespond promptly to PING with PONG using the same sequence number.

anchorAudio and response sequencing

anchor
SymptomChecks
Audio is rejected or sounds wrongConfirm raw G.711 mu-law/PCMU, 8 kHz, mono audio. Keep the payload Base64-encoded inside JSON and do not add a WAV or RIFF header.
Response starts late or sounds choppySend each audio fragment as soon as it is generated; do not pace transmission to playback duration. Check the 320-byte minimum and 32 KB maximum.
Streamed audio is malformedConfirm chunk audio contains raw, headerless media bytes and the response follows the published AsyncAPI schema.
A reply never completes or repeatsSend PARTIAL only when the request sets allow_partial_responses to true; use CHUNK for streamed audio independently. Then send exactly one FINAL and no more output for that reply.

anchorVoice and barge-in

anchor
  • Send START_OF_INPUT when the partner detects caller speech and END_OF_INPUT when its endpointing logic considers the speech complete.
  • Without barge-in, expect the next caller-audio stream after FINAL; speech spoken while the prompt plays is not delivered to the partner.
  • For caller interruption, enable prompts[].is_barge_in_enabled and report detected speech with START_OF_INPUT.
  • Do not wait for a literal BARGE_IN event; the WebSocket contract uses the prompt setting and input-boundary events.

anchorDTMF

anchor
  • Process dtmf_input as one ordered collection, not one request per key press.
  • Confirm input_mode accepts DTMF and input_handling_config.dtmf_config sets the intended length, terminator, and inter-digit timeout.
  • Check that collection ends on the configured terminator, maximum length, or inter-digit timeout.
  • Use START_OF_DTMF as the Webex-to-partner DTMF event; do not treat it as a partner output event.

anchorErrors and session cleanup

anchor

Handle schema-defined errors such as unauthorized, bad_request, unsupported_media, upstream_error, rate_limit, and timeout. Avoid tight retry loops for rate limits and do not replay an already-started conversation unless the platform contract explicitly supports it.

On SESSION_END, transfer, protocol error, or transport failure, release conversation state and close the session. Keep bearer tokens, raw audio, transcripts, and other sensitive content out of error details and routine diagnostic logs.

anchorEnd-to-end checklist

anchor
  • The authenticated secure WebSocket handshake succeeds.
  • SESSION_START initializes one conversation on one connection.
  • Caller audio is decoded with the encoding and sample rate supplied by Webex.
  • Speech boundaries are reported to Webex.
  • Audio fragments follow the current media profile and are sent without artificial pacing.
  • For the next caller input, input_mode is correct and input_handling_config supplies any needed DTMF collection settings or speech timers.
  • Exactly one FINAL closes each logical reply.
  • Barge-in and non-barge-in timing match the configured prompt behavior.
  • DTMF digits are collected and processed in order.
  • PING receives a matching PONG.
  • Exit events release state and close the session.

anchorReferences

anchor
  • BYoVA over WebSocket
  • Published BYoVA WebSocket AsyncAPI schemas
  • Java WebSocket JSON sample
In This Article
  • Overview
  • Connection and authentication
  • Audio and response sequencing
  • Voice and barge-in
  • DTMF
  • Errors and session cleanup
  • End-to-end checklist
  • References

Connect

Support

Developer Community

Developer Events

Contact Sales

Handy Links

Webex Ambassadors

Webex App Hub

Resources

Open Source Bot Starter Kits

Download Webex

DevNet Learning Labs

Terms of Service

Privacy Policy

Cookie Policy

Trademarks

© 2026 Cisco and/or its affiliates. All rights reserved.