使用 Nexmo PHP Laravel 进行 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 Voice API 的单向通信对我来说效果很好。例如,文本转语音呼叫适用于我,上面的语音 API 代码运行呼叫自动到达目标号码(购买的 Nexmo 号码)。


有人做过这种场景吗?当您单击电话图标时,它会呼叫客户 + 您可以使用门户网站与客户交谈吗?


慕少森
浏览 87回答 1
1回答

繁花不似锦

有两种方法可以解决这个问题。呼叫桥接您可以通过让系统呼叫您来将两个号码桥接在一起,如果您应答,则呼叫其他人将它们桥接起来。这一切都可以在服务器端完成,就像上面的操作一样,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。这可用于从浏览器或应用程序发出呼叫,并在功能上执行相同的操作,但在专用界面内进行。
打开App,查看更多内容
随时随地看视频慕课网APP