Skip to content

Releases: ivrToolkit/ivrToolkit

v9.1.8

23 Jun 21:05

Choose a tag to compare

Changes

ivrToolkit.Core

  • I forgot to include Nothing.wav. Required for the SipSorcery plugin. When this file is played, it triggers the RTP events so that I can calculate answering machine detection. Without this file, the SipSorcery plugin will likely crash.
  • added link to releases in the readme files

v9.1.6

18 Jun 00:19

Choose a tag to compare

Changes

SipSorcery plugin

  • Fixed answering machine detection. Under some PBX switches/Trunk providers, RTP packets were not showing up immediately after a connection. This resulted in the call hanging after it was connected.
  • Updated SipSorcery to 8.0.22

Dialogic SIP plugin

  • Several bug fixes related to the timing of when GCEVents came in.

General

  • Now correctly sets the file version and assembly version
  • Added the NET9.0 framework

v9.1.5

28 Feb 03:29
2e301ab

Choose a tag to compare

ivrToolkit.Core

  • Added more unit tests
  • The following properties missed implementation in PromptOptions and MultiTryPromptOptions and have now been fixed:
    • AllowEmpty
    • CacheTooManyAttempts
    • InvalidAnswerMessage
    • InvalidAnswerTtsCache
    • SpecialTerminator
    • OnSpecialTerminator

ivrToolkit.Plugin.Dialogic.Sip

  • Implemented WaitRingsAsync
  • Implemented DialAsync
  • Implemented PlayFileAsync
  • Implemented RecordToFileAsync
  • Implemented GetDigitsAsync

Examples

  • Added the AnsweringMachineDetection example for the SipSorcery plugin

v9.1.4

22 Feb 23:54

Choose a tag to compare

The SipSorcery plugin now supports Answering machine detection.

To use it, you must specify the answering machine threshold in the Dial method in milliseconds. Anything greater than zero will attempt to detect if you've reached an answering machine. Zero disables it.

Any greeting longer than x milliseconds will be considered an answering machine. Detection can be tuned using the following properties:

  • answeringMachine.silenceThresholdAmplitude. Default is 0.1
  • answeringMachine.maxStartSilenceSeconds. Default is 3.0 seconds.
  • answeringMachine.endSpeechSilenceDurationSeconds. Default is 1.5 seconds.
  • answeringMachine.giveUpAfterSeconds. Default is 10 seconds

These properties are currently only for the SipSorcery plugin.

v9.1.1

20 Feb 04:23

Choose a tag to compare

Added support for Google TTS. You can now choose between Google and Azure for TTS

Here are the new properties to support Google TTS:

  • tts.google.credentials.path - Path to your JSON credentials file
  • tts.google.gender - Male or Female. Default is Female
  • tts.google.languageCode - Default is en-US
  • tts.google.name - example: en-US-Standard-B but you can leave this as blank

v9.1.0

19 Feb 04:03

Choose a tag to compare

This release changes the Play and Prompt messages a little in the area of Text-To-Speech so I decided to increment the release version to 9.1.

Changes:

  • Added ITextToSpeechCache and ITextToSpeechCacheFactory
  • ITextToSpeechCache is now a parameter to some of the Play and Prompt methods.

This provides a caching mechanism for TTS which makes it so you don't always need to generate TTS each time. Of course, you can if you want to. Cached data is stored on the disk as a wav file and a text file. If there is a WAV file and the contents of the text file matches the text message you want TTS to generate, the WAV file will be used instead.

v9.0.10

13 Feb 03:12

Choose a tag to compare

In this release:

ivrToolkit.Core

  • System Recordings folder
    • Added System Records\Original and moved the original wav files into that subfolder.
    • Added System Recordings\en-US-JennyNeural.
      Now that I support TTS, I generated a new set of system recordings.
  • Added "system.recording.subfolder" property. Default is "en-US-JennyNeural". You can also choose "Original"
  • Update Package tags and copyright

ivrToolkit.plugin.SipSorcery

  • Fix a bug with the inter-digit-timeout
  • Fix a bug with the initializing of the "sip.localEndpoint" property

Examples

  • Update wav files generated by Azure Speech using en-US-JennyNeural
  • Use MultiTryPrompt instead
  • Clean up RecordToFile example

New utilities

  • SystemRecordingsGenerator
    This utility uses TTS to write out a new set of System Recordings wav files. This way you or I can generate wav file sets with different voices.

  • TextToWavGenerator
    This utility uses TTS to write out one wav file given the text you enter and the output wav file name you enter.

v9.09

11 Feb 01:09

Choose a tag to compare

Enhancements

  • Now can play both 8000hz and 16000hz wav files. You don't have to choose one or the other anymore. However, I find 8000hz sounds better over the phone but that might just be my setup.
  • New property for setting up your default sample rate when recording a wav file or when saving a wav file from TTS. Only supports 8000 or 16000. Example:
    • wav.sampleRate=8000
  • New property for setting up a voice name. Example:
    • tts.azure.voice=en-US-JennyNeural

v9.0.8

10 Feb 19:21

Choose a tag to compare

Fixed a bug where I accidentally spoke out the wav header along with the data. This produced an audible click at the beginning of each PlayFile and PlayTextToSpeech.

v9.0.6

10 Feb 01:02

Choose a tag to compare

Now supports Text-To-Speech using ITextToSpeechFactory and ITextToSpeech. Currently, there is an Azure Speech implementation.