Skip to content

Conversation

@varunps2003
Copy link

Summary

This PR introduces the Vonage Audio Connector integration including a custom serializer, the VonageAudioConnectorTransport + VonageAudioConnectorOutputTransport and a foundational example.

Changes

  • Added foundational example: examples/foundational/49-vonage-audio-connector-openai.py
  • Added VonageFrameSerializer under src/pipecat/serializers/vonage.py
  • Added VonageAudioConnectorTransport and VonageAudioConnectorOutputTransport under src/pipecat/transports/vonage/audio_connector.py
  • Added new package folder src/pipecat/transports/vonage/ with __init__.py
  • Updated env.example
  • Updated pyproject.toml and uv.lock

Why This Is Needed

This integration enables Pipecat to work with the Vonage Voice API Audio Connector supporting real-time STT → LLM → TTS pipelines and will be used to expand the ecosystem of community-maintained integrations.

Testing

  • Basic end-to-end pipeline validated (audio in → STT → LLM → TTS → audio out)
  • Serializer and transport tested for encoding/decoding correctness
  • Verified pacing behavior (sleep-per-chunk timing) matches Vonage Audio Connector requirements
  • Confirmed WAV-header wrapping when enabled

…foundational example)

- Added foundational example: 49-vonage-audio-connector-openai.py
- Added VonageFrameSerializer under src/pipecat/serializers/vonage.py
- Added AudioConnectorTransport under src/pipecat/transports/vonage/audio_connector.py
- Added new package folder src/pipecat/transports/vonage with __init__.py
- Updated env.example
- Updated pyproject.toml and uv.lock
@varunps2003
Copy link
Author

Hi @jamsea
I’ve created the PR for the Vonage Audio Connector integration (serializer, transport, foundational example).
Please take a look whenever you get a chance — happy to make any changes needed. Thanks!

@varunps2003
Copy link
Author

I’ve just pushed a follow-up commit to switch the foundational example from the dev OpenTok API URL to the production https://api.opentok.com.

@varunps2003
Copy link
Author

Hi @markbackman and @filipi87 Can you please find sometime to review this PR.

@markbackman
Copy link
Contributor

markbackman commented Dec 5, 2025

Sorry for the delay. We're backlogged on PR reviews. I took a quick look at this and think it's a good plan to split it up. First, can you create a PR for only the VonageFrameSerializer? Along with this, it would be helpful to submit an example for pipecat-examples showing how to dial-in and dial-out. This would be similar to the examples that exist for Twilio, Telnyx, Plivo, and Exotel.

That's a big enough change to add and test that I think we should start there. It will also help developers get started right away as they can easily test and run the example. WDYT?


The VonageFrameSerializer should be written to work with the FastAPIWebsocketTransport. Is there a reason to add a new websocket transport to work specifically with the VonageFrameSerializer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants