回帰テストコールセンターアプリケーションのIVRシステムへのコールフローを自動化しようとしています。私は電話をかけると、私はTwilioでプログラム可能な音声を収集する - 基礎となる電話通話イベントにアクセスする方法
console.log("Waiting for Server to respond");
と
console.log("Received response from Server");
私の理解では、コードの2行の間にかかる時間を理解しようとしていますexpected.Butとして応答を受け取ることができています
Twilioが私のNode.jsインスタンスからTwiML応答を受け取った後、それは処理し、電話信号を送受信します。
サーバーからの応答全体を受信した後で、/TC4_Step1_Validate
で音声応答を受信しています。私は両方の行のタイムスタンプを記録し、その差を捕捉します。 20秒ほどかかります。しかし、実際には、アプリケーションは数秒以内に応答します。
私はTwilioが3秒間の無音を待ってダイアログ全体が完了するのを待って、そのオーディオストリームをテキストに変換してから私の機能に投稿すると信じています。それが私が20秒間見る理由です。
しかし、タイムアウトとスピーチからテキストへの変換時間でストリーム全体ではなく、テレフォニー応答を最初に受信するまでの時間を理解する必要があります。
短くて、私はコンタクトセンターアプリケーションが応答するのに要した時間を理解しようとしています。
私はコール
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の応答を収集するための呼び出し 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の応答を検証する関数&ステップ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
はい。私はTwilio番号からIVR応答で返答するTFNの時間を測定したいと考えています。 –