[英]Executing Asterisk speech recognition application using AsterNET.ARI
我有一个示例拨号计划:
exten => 1,1,Wait(1)
exten => 1,n,SpeechCreate
exten => 1,n,SpeechBackground(beep)
exten => 1,n,Verbose(0, ${SPEECH_TEXT(0)})
exten => 1,n,Hangup()
我需要使用 ARI stasis 应用程序执行语音识别,并使用 AsterNET.ARI 库在此应用程序中获得识别结果。
目前一切都已配置,stasis 应用程序连接并接收事件:
static async void c_OnStasisStartEvent(IAriClient sender, StasisStartEvent e)
{
// Answer the channel
await sender.Channels.AnswerAsync(e.Channel.Id);
// Play an announcement
await sender.Channels.PlayAsync(e.Channel.Id, "sound:hello-world");
}
但我不知道如何调用扩展应用程序。 例如这个拨号方案字符串: exten => 1,n,SpeechBackground(beep)
我试过这样的事情:
var endpoints = sender.Endpoints.List();
await sender.Channels.OriginateAsync(endpoints[0].Resource, "1,n,BackGround(hello-world)");
但它导致异常: Response status code does not indicate success: 400 (Bad Request).
我怎样才能正确地做到这一点?
为了使 RTP 音频流准备好使用(打开它),我建议不要使用...
exten => 1,1,Wait(1)
...尝试...
exten => 1,1,Answer(1000)
...反而。
阅读: https : //wiki.asterisk.org/wiki/display/AST/Answer%2C+Playback%2C+and+Hangup+Applications
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.