Releases: ivrToolkit/ivrToolkit
v9.1.8
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
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
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
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
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
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
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
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