我正在尝试使呼叫流程自动化为回归测试呼叫中心应用程序的IVR系统。Twilio收集可编程语音 - 如何访问底层电话呼叫事件
我能够拨打电话和接收响应,expected.But我想了解两行代码
console.log("Waiting for Server to respond");
和
console.log("Received response from Server");
我的理解是之间所花费的时间在Twilio从我的Node.js实例接收到TwiML响应后,它会处理并发送/接收电话信号。
只有当它从服务器收到整个响应后,我才收到/TC4_Step1_Validate
中的语音响应。当我记录两条线的时间戳并捕获差异时。它大约需要20秒。但实际上,应用程序在几秒钟内响应。
我相信Twilio通过等待3秒钟的静音等待整个对话完成,将该音频流转换为文本,然后将其发布到我的功能。这就是我看到20秒的原因。
但我需要了解首次接收电话响应的时间,而不是超时和语音到文本转换时间的整个流。
总之,我想了解联络中心应用程序响应的时间。
请在下面找到
功能我的示例代码发出呼叫
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));
});
功能来收集来自我的联络中心应用程序步骤1的反应,当我拨打电话
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());
});
用于验证来自步骤1的响应的函数&收集第2步回应
app.post('/TC4_Step1_Validate', function(req, res) {
const response = new VoiceResponse();
console.log("Received response from Server");
console.log(req.body.SpeechResult.toLowerCase());
if(req.body.SpeechResult.toLowerCase().indexOf("{VERIFY_TEXT1}")!=-1 && req.body.SpeechResult.toLowerCase().indexOf("{VERIFY_TEXT2}")!=-1) {
response.pause({
length: 2
});
const gather = response.gather({
input: 'speech',
action: 'http://{PUBLIC_URL}/TC4_Step2_Validate',
timeout: 3,
});
} else {
console.log("Failed Step 1");
response.hangup();
}
res.setHeader('Content-Type', 'application/xml');
res.send(response.toString());
console.log("DTMF Input 2");
console.log(response.toString());
});
感谢Philnash。我试图看到联络中心需要花费时间而不是进行端到端响应。从性能指标的角度来看。 –
你的意思是你正在寻找你自己的应用程序的性能指标? – philnash
是的。我期待测量从Twilio号码拨打的TFN拨打电话以回应IVR响应的时间。 –