使用Nexmo PHP Laravel的Web浏览器音频调用

使用Nexmo PHP Laravel的Web浏览器音频调用,php,laravel,nexmo,Php,Laravel,Nexmo,我想从一个web应用程序(PHP/Laravel)调用(购买的Nexmo号码)中的任何移动电话号码。这就像双向通话 该场景假设在web应用程序(PHP/Laravel)页面中显示放置在调用图标上的调用驱动程序选项。客户单击呼叫图标后,从(购买的Nexmo号码)呼叫驾驶员号码 我使用这个API创建了一个调用 $ncco = [ [ 'action' => 'talk', 'voiceName' => 'Joey', '

我想从一个web应用程序(PHP/Laravel)调用(购买的Nexmo号码)中的任何移动电话号码。这就像双向通话

该场景假设在web应用程序(PHP/Laravel)页面中显示放置在调用图标上的调用驱动程序选项。客户单击呼叫图标后,从(购买的Nexmo号码)呼叫驾驶员号码

我使用这个API创建了一个调用

    $ncco = [
      [
        'action' => 'talk',
        'voiceName' => 'Joey',
        'text' => 'This is a text-to-speech test message.'
      ]
    ];

    $call = new \Nexmo\Call\Call();
    $call->setTo('XXXXXXXXXXXX')
      ->setFrom('XXXXXXXXXXXX')
      ->setNcco($ncco);

    $response = $client->calls()->create($call);
    echo $response->getId();
这里的Nexmo语音API单向通信对我来说很好。例如,文本到语音通话对我有效,上面的语音API代码运行通话时自动到达目的地号码(购买的Nexmo号码)


有人做过这种情况吗?当您单击电话图标时,它将呼叫客户+您可以使用web门户与客户交谈?

有两种方法

呼叫桥接 你可以让系统给你打电话,把两个号码连接在一起,如果你接了,再打电话给其他人把它们连接起来。这一切都可以在服务器端完成,就像上面提到的一样,NCCO只是略有变化

$ncco=[
[
“操作”=>“连接”,
“端点”=>[
[
'类型'=>'电话',
“编号”=>驾驶员编号
]
]
]
];
$call=new\Nexmo\call\call();
$call->setTo(客户号)
->setFrom(VONAGE_编号)
->setNcco($ncco);
$response=$client->calls()->create($call);
echo$response->getId();
唯一真正的问题是用户体验。用户可能希望通话能像真正的电话一样工作(单击按钮,听到铃声,希望司机能接通)。您需要添加一些额外的NCCO选项,如播放铃声、检查对方是否拒绝接听电话或从未接听电话并做出适当回应等,但可以通过推送一些NCCO并观看语音事件来完成

浏览器内/应用程序内
另一个选项是我们的,可用于前端JavaScript、iOS和Android。这可用于从浏览器或应用程序拨打电话,功能相同,但在专用界面内。一个简短的教程可以在上找到。

谢谢@dragonmantank我也在思考呼叫桥接的方法。它像电话会议吗?有点像。主要区别在于桥接只涉及两方,如普通电话,其中会议电话(或我们的NCCOs中的
对话
操作)可以有多人使用静音/耳罩等。