Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果Twilio中没有接收到电话号码,如何录制语音邮件?_Php_Twilio_Twilio Api_Twilio Php - Fatal编程技术网

Php 如果Twilio中没有接收到电话号码,如何录制语音邮件?

Php 如果Twilio中没有接收到电话号码,如何录制语音邮件?,php,twilio,twilio-api,twilio-php,Php,Twilio,Twilio Api,Twilio Php,我在一个PHP项目中使用Twilio,目前我能够使用其API进行调用和发送短信,如下所示: $client = new \Services_Twilio($AccountSid, $AuthToken); try { // Initiate a new outbound call $call = $client->account->calls->create( "&l

我在一个PHP项目中使用Twilio,目前我能够使用其API进行调用和发送短信,如下所示:

        $client = new \Services_Twilio($AccountSid, $AuthToken);
        try {
            // Initiate a new outbound call
            $call = $client->account->calls->create(
                "<From Number>",
                $input['phone'],
                array("url" => "http://demo.twilio.com/welcome/voice/")
            );
            //echo "Started call: " . $call->sid;
            \Session::flash("success","Calling to ". $input['phone'] ."");
        }
$client=new\Services\u Twilio($AccountSid,$AuthToken);
试一试{
//启动新的出站呼叫
$call=$client->account->calls->create(
"",
$input['phone'],
数组(“url”=>”http://demo.twilio.com/welcome/voice/")
);
//echo“启动呼叫:”.$call->sid;
\会话::flash(“成功”,“呼叫“$input['phone']”);
}

但现在,如果电话没有接听,客户希望发送语音信息。

这里是Twilio开发者福音传道者

下面是它的工作原理。当有人打电话给你的Twilio号码时,Twilio会对你在中为你的电话号码设置的URL进行

该URL需要用一些XML标记来响应,这些XML标记告诉Twilio如何处理该调用

这听起来像是,在你的情况下,你想拨自己的号码,在一段时间后留言,而不是继续打电话。您将需要两个端点。第一个应该做拨号,第二个是我们将重定向的地方,一旦呼叫被重定向为语音邮件

因此,第一个端点TwiML应该有点像这样,用于转发调用:

<Response>
  <Dial timeout="30" action="/voicemail.php">
    <Number>YOUR_PHONE_NUMBER</Number>
  </Dial>
</Response>
我在
标记中添加了一个额外的操作,它只是挂断了呼叫。看起来是这样的:

<Response>
  <Hangup/>
</Response>

还有其他属性可以与
一起使用。最重要的是,将获取一个URL,当有新录制时,应用程序将在该URL上收到通知

要更深入地了解这一点,请查看

让我知道这是否有用。

1)创建一个mp3作为问候语。将其存储在web上的某个位置并保存URL。 我在我管理的wordpress网站上将我的文件保存为媒体文件。如果您不创建自己的问候语,它将使用Twilio默认问候语。 2) 我使用两个twilio工具发送语音邮件。Twiml和Twimlets。 通过转到主所有者仪表板并选择“运行时”,然后选择“Twimls”,创建一个Twiml容器。下面的代码可以在Twiml中使用。更改邮件URL、电子邮件、超时长度和电话号码。 我一次给两个人打电话,如果两个人都不接,就转到语音信箱。音频文件将发送到您提供的电子邮件。代码中的twimlet使用不同的参数-“”工作

TWIML的代码:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial timeout="30" action="http://twimlets.com/voicemail?Email=test@test.com&amp;Message=http://test.com/wp-content/uploads/2019/01/voicemail1.mp3">
    <Number>703-555-1212</Number>
    <Number>540-555-1212</Number>
  </Dial>
</Response>

703-555-1212
540-555-1212

您所说的“如果呼叫未被接听,客户端希望发送语音消息”是什么意思?你的意思是你想播放一条预先录制好的信息,以防电话转到答录机?不,我想让打电话的人在有人没有接他的电话时可以留言。@AlexBaban,好的,让我解释一下,如果你想打电话给某人,但他没有接你的电话,那么你想给他留一条语音信息,这是所有移动公司都提供的一个共同点,我想在我使用Twilio的项目中添加同样的东西,这有意义吗?只是澄清一下,你想要这样,当有人拨打你的Twilio号码而没有人接听时,打电话的人应该可以留言?@halfer我道歉。我很抱歉这么晚才回复,我不知道我怎么会错过它,是的,它帮了我很多忙,我想感谢你提供了这么好的信息。不用担心!我很高兴它起了作用!我很难实现这个。。。当我将
响应的TwiML语法组合在一起时,它终于能够工作了。你看,我对你的电话号码有点困惑,为什么你又把电话转接到另一个电话号码。当客户端调用Twilio号码时,如果我们想应答或接收Twilio号码发出的语音邮件,将如何实现相同的逻辑@philnash@NomanJaved我向OP澄清了他们想要什么,如果他们不接电话,那就是一个语音信箱系统。
部分是将打到他们的Twilio号码的语音呼叫转发到他们的个人电话号码上,然后在超时后,呼叫被引导到留下消息。如果您对自己的申请有疑问,请开始新的问题,因为在评论中很难回答新的问题。twilio呼叫号码将如何接收和收听信息。电子邮件中的音频文件URL。我有点困惑。你能详细说明这一点吗?
<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial timeout="30" action="http://twimlets.com/voicemail?Email=test@test.com&amp;Message=http://test.com/wp-content/uploads/2019/01/voicemail1.mp3">
    <Number>703-555-1212</Number>
    <Number>540-555-1212</Number>
  </Dial>
</Response>