BYOVA gRPC Media Server
The webex_byova.media module provides a developer-hosted BYOVA gRPC media server that hides all protobuf/gRPC details behind an async handler API.
Use it when Webex Contact Center connects to your server for live voice sessions — prompts, caller audio, DTMF, barge-in, and multi-turn dialogs. For data source registration and REST APIs, use the core BYOVA client alongside or independently.
Install
pip install webex-byova[media]
The core package (pip install webex-byova) is unchanged; media dependencies (gRPC, WebSocket client) are gated behind the [media] extra.
Quick links
- Quickstart — hello world in under 15 minutes
- Handlers — events and session API
- Configuration —
MediaServerConfigand env vars - WebSocket proxy — external voice AI backends
- Protocol notes — BYOVA turn closure and audio formats
- Deployment — TLS, token verification, BYODS coexistence
- Examples — all runnable scripts
- API reference — generated class documentation
Architecture
Webex Contact Center ←gRPC→ BYOVAMediaServer ←handlers→ Your logic
↓ optional
WebSocketProxyConnector ←→ External voice AI
Public API entry point:
from webex_byova.media import BYOVAMediaServer, MediaServerConfig
Runnable examples
| Script | Demonstrates |
|---|---|
examples/media_server_minimal.py |
Single greeting on session_start |
examples/media_server_multiturn.py |
Audio input and session end |
examples/media_server_dtmf.py |
DTMF digit collection |
examples/media_server_proxy.py |
WebSocket proxy to external AI |
examples/byods_and_media_combined.py |
REST client + media server together |
Related docs
- Getting Started — prerequisites and first server
- Architecture — how media fits with BYODS
- Environment variables —
WEBEX_MEDIA_*settings