Skip to content

Release Notes: v0.10.0

Release Date: 2026-10-27

Highlights

  • Keypad digits on outbound calls: send DTMF once a call is answered, for example to join a meeting's phone dial-in line
  • Call options through the gateway: MakeCallWithOptions passes omnivoice-core call options to outbound calls
  • twilio-go v1.32 support: fixes the OmniMemory provider build against twilio-go v1.32

New Features

Keypad Digits on Outbound Calls

MakeCall now honors omnivoice-core's callsystem.WithSendDigits. The digits are played with <Play digits> before the call connects to Media Streams, because a bidirectional media stream cannot send DTMF.

import corecallsystem "github.com/plexusone/omnivoice-core/callsystem"

// Wait 4 seconds, enter the meeting ID and #, wait 8 seconds, then enter
// * and the passcode and #.
session, err := gw.MakeCallWithOptions(ctx, "+16695550100",
    corecallsystem.WithSendDigits("WWWW85012345678#WWWWWWWW*482913#"),
)

Digits use dial-string notation: 0-9, *, #, and A-D are tones, w waits half a second, and W waits one second. <Play digits> supports only w, so each W is sent as ww. Invalid digits return an error before the call is placed.

Gateway Call Options

The voice gateway implements omnivoice-core's gateway.OptionCaller. MakeCallWithOptions(ctx, to, opts...) passes call options to the call system, and provider-neutral code can use gateway.MakeCallWithOptions(ctx, gw, to, opts...) from omnivoice-core. MakeCall(ctx, to) is unchanged.

Bug Fixes

  • OmniMemory provider build: twilio-go v1.32 renamed the observation type used when creating observations from ObservationCore to ObservationCreateRequest; the provider now uses the new type

Testing

  • Unit tests for outbound calls that capture the Create Call request and check that <Play digits> comes before <Connect>, that calls without digits have no <Play>, and that invalid digits place no call
  • Unit tests for converting W pauses for <Play digits>

Documentation

  • Voice Gateway guide: new section on outbound calls and keypad digits
  • Release notes link to the changelog on GitHub

Dependencies

Module From To
github.com/plexusone/omnivoice-core v0.15.0 v0.17.0
github.com/twilio/twilio-go v1.30.9 v1.32.0
github.com/plexusone/omnimemory v0.1.0 v0.2.1
github.com/plexusone/omnillm-core v0.17.0 v0.18.1
github.com/plexusone/omnichat v0.8.0 v0.8.1

Installation

go get github.com/plexusone/[email protected]

Migration Guide

From v0.9.0

No code changes are required. To send keypad digits, call MakeCallWithOptions on the gateway, or MakeCall on the call system, with callsystem.WithSendDigits.

Full Changelog

See CHANGELOG.md for the complete list of changes.