我正在尝试将呼叫流程自动化到回归测试呼叫中心应用程序的IVR系统。
我可以按预期拨打电话并收到回复。但我想了解两行代码之间的时间
<tr ng-repeat="task in retrievedTasks">
<td>
<button class="btn btn-danger" ng-click="deleteTask(task)">Delete</button>
<!-- $index-->
</td>
<td>{{task.taskName}}</td>
<td>
<input type="checkbox" ng-model="statusCheck"> </td>
<td style="{{setStyleToTd(statusCheck)}}">{{statusChecker(statusCheck)}}</td>
<td>
<button class="btn btn-primary" ng-click="editTask(task)">Edit</button>
</td>
</tr>
和
console.log("Waiting for Server to respond");
我的理解是在Twilio从我的Node.js实例收到TwiML响应之后,它处理并发送/接收电话信号。
只有在收到服务器的整个响应后,我才会收到console.log("Received response from Server");
中的语音回复。当我记录两条线的时间戳并捕获差异时。大概20秒左右。但实际上应用程序会在几秒钟内响应。
我相信Twilio等待整个对话完成,等待3秒钟静音,将音频流转换为文本,然后将其发布到我的功能。这就是我看到20秒的原因。
但我需要了解首次接收电话响应所花费的时间,而不是整个流的超时和语音到文本转换时间。
简而言之,我试图了解联络中心应用程序响应所花费的时间。
请在下面找到我的示例代码
发出电话的功能
/TC4_Step1_Validate
在我拨打电话时从我的联络中心应用程序收集第1步回复的功能
app.get('/TC4', function(req, res) {
client.calls.create({
url: 'http://{PUBLIC_URL}/TC4_Step1',
to: '{TO_NUMBER}',
from: '{TWILIO_NUMBER}',
method: 'GET',
Record: 'false',
})
.then((call) => res.send(call.sid));
});
验证Step1&amp;的响应的功能收集第2步回复
app.get('/TC4_Step1', function(req, res) {
res.setHeader('Content-Type', 'application/xml');
const response = new VoiceResponse();
const gather = response.gather({
input: 'speech',
action: 'http://{PUBLIC_URL}/TC4_Step1_Validate',
timeout: 3,
});
res.send(response.toString());
console.log("Waiting for Server to respond");
console.log(response.toString());
});
答案 0 :(得分:0)
Twilio开发者传道者在这里。
当您设置action
属性时,就像您在此处使用路径/TC4_Step1_Validate
一样,Twilio只会在当前操作完成后调用它。在这种情况下,它正在等待用户停止讲话3秒钟,然后,正如您所建议的那样,正在使用音频流将其转换为文本并最终调用您的action
URL。
在听取语音输入或实际上大多数交互的情况下,Twilio没有提供特别代表Twilio与呼叫交互的开始的其他事件。您可以在使用<Dial>
时获取通话事件,但它们是指对第三方的通话。
所以,虽然我不相信Twilio可以做你所要求的,但我想问你想要达到的目标,所以我可以用另一种方式帮助解决问题?