Skip to content

v0.18.0

Release date: 2026-10-27

This release adds an audio pipeline mode for voice gateways. In audio mode a gateway runs no speech recognition, LLM, or speech synthesis: it hands the call's audio to the application and plays the application's audio into the call, so the application decides when to listen and when to speak.

Highlights

  • Audio pipeline mode — gateway.PipelineModeAudio runs no conversation pipeline on the call
  • AudioSession interface — receive the remote party's audio, send and clear the application's audio, and read the telephony audio format

Added

Audio mode (gateway/)

  • PipelineModeAudio pipeline mode
  • AudioSession interface, implemented by sessions of audio-mode gateways:
  • AudioFormat() returns the audio format in both directions
  • ReceiveAudio() returns a channel of the remote party's audio, closed when the call ends
  • SendAudio(audio) plays audio into the call
  • ClearAudio() discards audio sent but not played yet
  • ErrAudioNotConnected, returned when sending audio before the media stream connects, and ErrSessionClosed, returned after the call ends
sess, err := gateway.MakeCallWithOptions(ctx, gw, "+16695550100")
if err != nil {
    return err
}
audio, ok := sess.(gateway.AudioSession)
if !ok {
    return errors.New("gateway is not in audio mode")
}
for chunk := range audio.ReceiveAudio() {
    // record, transcribe, or analyze the call audio
}

Documentation

Provider Support

Audio mode is implemented by the omni-twilio and omni-telnyx gateways in their releases built on omnivoice-core v0.18.0.

Compatibility

No breaking changes. Text and realtime modes are unchanged, and gateways that do not implement audio mode keep compiling.