微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

系统发起的 IVR 呼叫以捕获语音响应

如何解决系统发起的 IVR 呼叫以捕获语音响应

我需要在 PHP 中创建一个 IVR 应用程序,其中 syetm 启动出站呼叫并捕获来自用户的语音响应。

我该怎么做?

这是我的代码(不会捕获用户的响应)

voice.xml 内容

<?xml version="1.0" encoding="UTF-8"?>
<!-- page located at http://example.com/complex_gather.xml -->
<Response>
</Response>

completed.PHP 内容

file_put_contents('voice.txt',$_SERVER['QUERY_STRING']);

代码

<?PHP
 
require_once 'vendor/autoload.PHP';

use Twilio\Rest\Client;
use Twilio\TwiML\VoiceResponse;


// Find your Account SID and Auth Token at twilio.com/console
// and set the environment variables. See http://twil.io/secure
$sid = "xxx";
$token = "xxx";
$twilio = new Client($sid,$token);

$call = $twilio->calls
               ->create("+1310XXXXXXX",// to
                        "+15676777774",// from
                        [
                            "method" => "GET","statusCallbackMethod" => "POST","url" => "http://xxxx.com/voice.xml"
                        ]
               );

$response = new VoiceResponse();
$gather = $response->gather(['action' => '/completed.PHP','method' => 'GET','input'=>'speech','timeout'=>3,''=>'true','speech_model'=>'phone']);
$gather->say('Enter something,or not');
echo $response;

解决方法

这里是 Twilio 开发者布道者。

当您 create a call through the Twilio API 时,正如您所做的那样,您传递了一个 URL 参数。

当呼叫连接时,Twilio 将向该 URL 发出 webhook (HTTP) request 并按照以 TwiML 形式返回的说明进行操作。

目前您的 /voice.xml 端点返回一个空的 <Response/>,这将导致调用挂断,因为没有 TwiML 可以执行。

您应该返回您在脚本末尾生成的 TwiML,而不是从 <Response/> 返回一个空的 /voice.xml

所以,也许 voice.xml 应该是 voice.php 并且看起来有点像这样:

<?php 
require_once 'vendor/autoload.php';

use Twilio\Rest\Client;
use Twilio\TwiML\VoiceResponse;

header('Content-Type: application/xml');

$response = new VoiceResponse();
$gather = $response->gather(['action' => '/completed.php','method' => 'GET','input'=>'speech','timeout'=>3,''=>'true','speech_model'=>'phone']);
$gather->say('Enter something,or not');
echo $response;

您还应该从 completed.php 端点返回 TwiML。

<?php
file_put_contents('voice.txt',$_SERVER['QUERY_STRING']);
header('Content-Type: application/xml');
?>
<Response/>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。