使用Twilio的Infinite ActionResult Index()笑

时间:2018-07-12 07:58:31

标签: asp.net-mvc twilio infinite-loop actionresult twilio-programmable-voice

我下面的代码尝试用我的Twilio号码接听电话,记录用户输入,直到他们按下“ 1”键,然后给定记录的url发送到“ Show()”函数,在该函数中下载其内容。但是,它不起作用。我使用的是“ recordingStatusCallback”而不是“ action”,因为我想确保在发出请求时,录音可用于acces,否则我的代码会读取一个庞大的URL并崩溃。

问题是,一旦出现Say()动词,我就开始讲话并按1来完成音频的录制,但是接着又出现了Say()函数,就像Index()处于无限循环中一样,甚至“ recordingStatusCallback”也要向“ Show()”发出POST请求。我已经在使用“操作”而不是“ recordingStatusCallback”时测试了我的代码,并且它在大多数情况下都有效,但是有时会失败,因为我正在访问记录,然后才可用,因此我想让我的代码与“ recordingStatusCallback”一起使用。知道我该怎么办吗?

记录文档为:https://www.twilio.com/docs/voice/twiml/record

[HttpPost]
        public ActionResult Index()
        {
            var response = new VoiceResponse();
                response.Say("hello, how can I help you today?");
                response.Record(recordingStatusCallback: Url.ActionUri("Show", "Voice"), playBeep: false, finishOnKey:"1");
            return TwiML(response);
        }

[HttpPost]
        public ActionResult Show(string RecordingUrl)
        {
...
            using (var client = new WebClient())
                  {
                      response = client.DownloadData(RecordingUrl);
                  }
...
        }

0 个答案:

没有答案