如何处理Twilio异步转录过程

时间:2019-07-12 01:09:46

标签: node.js twilio

我是Twilio的新手。我正在使用Node.js和Firebase。我的工作流程可以在dmtf上正常运行,但是我一直在努力进行录音,将其转录,然后将其回放给呼叫者以进行最终批准或重新录音。另外,我正在使用IBM Watson插件进行语音西班牙语转录。在说完一切之前,我需要做记录,获得英语或西班牙语的转录本,然后将转录的内容呈现给呼叫者,然后完成最终处理。现在,我的Record属性是:

{
      'maxLength':    30,
      'finishOnKey':  '#',
      'timeout':      30,
      'transcribeCallback': 'procTranscribe',
      'recordingStatusCallbackMethod':'procRecordingStatusCallBack',
      'recordingStatusCallbackEvent':'completed'
 }

唯一被命中的函数是procTranscribe,而在结束时它会以twiml进行响应,该twiml应该将其移至工作流程中的下一个函数,而重复执行。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这里是Twilio开发人员的传播者。

这里有几件事。转录回调与调用本身是异步的,因此返回TwiML不会影响调用。

如果您想让此人等待呼叫(例如,<Enqueue> d并等待听音乐)以进行回叫,则当您收到呼叫时,需要将呼叫触发到move to the next TwiML by updating the call with the REST API Webhook。

另一件事是,回调的异步性质也意味着无法保证该回调将花费多长时间。要解决此问题,您可以使用状态回调Webhook向用户generate a call back完成交易。