Versions in this module Expand all Collapse all v6 v6.0.0 Oct 23, 2023 Changes in this version + const AllDTMF + var DefaultFirstDigitTimeout = 4 * time.Second + var DefaultInterDigitTimeout = 3 * time.Second + var DefaultMaxPlaybackTime = 10 * time.Minute + var DefaultOverallDigitTimeout = 3 * time.Minute + var DefaultPlaybackStartTimeout = 2 * time.Second + var DigitBufferSize = 20 + type MatchResult int + const Complete + const Incomplete + const Invalid + type OptionFunc func(*Options) error + func DigitTimeouts(first, inter, overall time.Duration) OptionFunc + func InvalidPrependURI(uri ...string) OptionFunc + func MatchAny() OptionFunc + func MatchDiscrete(list []string) OptionFunc + func MatchFunc(f func(string) (string, MatchResult)) OptionFunc + func MatchHash() OptionFunc + func MatchLen(length int) OptionFunc + func MatchLenOrTerminator(length int, terminator string) OptionFunc + func MatchNone() OptionFunc + func MatchTerminator(terminator string) OptionFunc + func NoExitOnDTMF() OptionFunc + func PlaybackStartTimeout(timeout time.Duration) OptionFunc + func Replays(count int) OptionFunc + func URI(uri ...string) OptionFunc + type Options struct + func NewDefaultOptions() *Options + func NewPlay(ctx context.Context, p ari.Player, opts ...OptionFunc) (*Options, error) + func NewPrompt(ctx context.Context, p ari.Player, opts ...OptionFunc) (*Options, error) + func NewPromptOptions() *Options + func (o *Options) ApplyOptions(opts ...OptionFunc) (err error) + func (o *Options) Play(ctx context.Context, p ari.Player) Session + type Result struct + DTMF string + Duration time.Duration + Error error + MatchResult MatchResult + Status Status + type Session interface + Add func(list ...string) + Done func() <-chan struct{} + Err func() error + Result func() (*Result, error) + Stop func() + StopAudio func() + func Play(ctx context.Context, p ari.Player, opts ...OptionFunc) Session + func Prompt(ctx context.Context, p ari.Player, opts ...OptionFunc) Session + type Status int + const Cancelled + const Failed + const Finished + const Hangup + const InProgress + const Timeout v6.0.0-fork Oct 23, 2023