为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Nexmo PHP Laravel 进行 Web 浏览器音频通话

使用 Nexmo PHP Laravel 进行 Web 浏览器音频通话

PHP
慕少森 2023-08-11 17:23:27
我想从网络应用程序(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 Voice API 的单向通信对我来说效果很好。例如,文本转语音呼叫适用于我,上面的语音 API 代码运行呼叫自动到达目标号码(购买的 Nexmo 号码)。有人做过这种场景吗?当您单击电话图标时,它会呼叫客户 + 您可以使用门户网站与客户交谈吗?
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

有两种方法可以解决这个问题。


呼叫桥接

您可以通过让系统呼叫您来将两个号码桥接在一起,如果您应答,则呼叫其他人将它们桥接起来。这一切都可以在服务器端完成,就像上面的操作一样,NCCO 只是略有变化。


$ncco = [

    [

        'action' => 'connect',

        'endpoint' => [

            [

                'type' => 'phone',

                'number' => DRIVER_NUMBER

            ]

        ]

    ]

];


$call = new \Nexmo\Call\Call();

$call->setTo(CUSTOMER_NUMBER)

  ->setFrom(VONAGE_NUMBER)

  ->setNcco($ncco);


$response = $client->calls()->create($call);

echo $response->getId();

唯一真正的问题是用户体验。用户可能希望呼叫像真正的电话一样工作(单击按钮,听到铃声,希望司机接通)。您需要添加一些额外的 NCCO 选项,例如流式传输铃声、检查对方是否拒绝呼叫或从不接听并做出适当响应等,但这可以通过推动一些 NCCO 并观看语音事件来完成。

在浏览器中/在应用程序中

另一个选项是我们的Client SDK,它可用于前端 JavaScript、iOS 和 Android。这可用于从浏览器或应用程序发出呼叫,并在功能上执行相同的操作,但在专用界面内进行。


查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号