An IVR toolkit library for dotNet developers wanting to write telephony applications. Plugins include a SipSorcery plugin, a Dialogic SIP plugin and a Dialogic analog board plugin. I recommend the ivrToolkit.Plugin.SipSorcery plugin because it is 100% c# and doesn't require any drivers.
// this is one way to set up your properties, with a property file
var sipVoiceProperties = new SipVoiceProperties(loggerFactory, "voice.properties");
// instantiate the plugin you want to use
using var sipPlugin = new SipSorceryPlugin(loggerFactory, sipVoiceProperties);
// choose a TTS Engine (not a requirement, you could just play wav files)
var ttsFactory = new AzureTtsFactory(loggerFactory, sipVoiceProperties);
// create a line manager
using var lineManager = new LineManager(loggerFactory, sipVoiceProperties, sipPlugin, ttsFactory);
// grab a line
var line = lineManager.GetLine();
// dial out
var callAnalysis = await line.DialAsync(phoneNumber, 0, cancellationToken);
if (callAnalysis == CallAnalysis.Connected)
{
// say something
await line.PlayTextToSpeech("Hello World!", cancellationToken);
}
https://ivrtoolkit.com/Documentation/GetStarted/Intro/
https://github.com/ivrToolkit/ivrToolkit/issues
https://nuget.org/profiles/ivrToolkit
https://github.com/ivrToolkit/ivrToolkit/tree/develop/Examples