首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在双方之间打电话,把他们联系起来交谈

问在双方之间打电话,把他们联系起来交谈
EN

Stack Overflow用户
提问于 2019-08-25 12:40:48
回答 3查看 429关注 0票数 0

基本上,我试图实现双方之间的移动电话号码。我正在使用PHP laravel。

  1. 每个代理商都有各自的表格,收集访客的电话号码。
  2. 当代理表格是通过访客填写的。
  3. 我希望Twilio首先调用代理。
  4. 如果代理收到电话,则应拨打来访者的电话号码。

把这两个政党联系起来。

仅此而已

代码语言:javascript
复制
$client = new Client($AccountSid, $AuthToken);
        try {
            $call = $client->account->calls->create($agent_number, $twilio_number,
                array("url" => $url)
            );    
            echo "Started call: " . $call->sid;
        } catch (Exception $e) {
            echo "Error: " . $e->getMessage();
        }

打给探员的电话号码..。但这是我想要的,当代理人接到电话时,它应该打给来访者的电话号码。

我在这里更新了我的代码。

代码语言:javascript
复制
Route::get('call', function() {

    $AccountSid = 'SID HERE';
    $AuthToken = 'AUTH TOKEN HERE';

    $twilio_number = "TWILIO NUMBER HERE";
    $agent_number = "AGENT NUMBER HERE";
    $visitor_phone = urlencode(str_replace(' ','','VISITOR NUMBER HERE'));

    $host = parse_url(Request::url(), PHP_URL_HOST);


    $client = new Client($AccountSid, $AuthToken);
    try {
        $call = $client->account->calls->create($agent_number, $twilio_number,
            array(
                "url" => "http://$host/outbound/$visitor_phone"
            )
        ); 
    } catch (Exception $e) {
        echo "Error: " . $e->getMessage();
    }

});



Route::get('/outbound/{visitor_phone}', function($visitor_phone) {
    $sayMessage = 'Thanks for contacting our sales department. Our
    next available representative will take your call.';

    $twiml = new Twiml();
    $twiml->say($sayMessage, array('voice' => 'alice'));
    $twiml->dial($visitor_phone);

    $response = Response::make($twiml, 200);
    $response->header('Content-Type', 'text/xml');
    return $response;
});

在我的双鱼座网钩里

代码语言:javascript
复制
website.com/outbound/visitor_number  HTTP GET REQUEST

我可以收到我的出站信息,谢谢你联系我们的销售部。我们下一位可用的代表将接听您的电话。但那之后的来访者人数就不算太大了。它只是切断了通话。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-26 03:03:39

两位开发人员在这里传道。

您的更新代码似乎非常接近我认为您需要的内容。如前所述,您向代理发出出站呼叫,然后设置一个web钩子URL,以使用TwiML继续拨号到访问者的号码。

我不太了解拉勒维尔,但我想你的问题就在这里。

你有:

代码语言:javascript
复制
Route::get('/outbound', function($visitor_phone) {

但是路由文档说您需要定义您的URL参数将出现在路径中的位置。所以,在我看来,你需要的是:

代码语言:javascript
复制
Route::get('/outbound/{visitor_phone}', function($visitor_phone) {

检查一下,看看是否有用。如果没有,我想你会在你的Laravel应用程序中以及在电话中得到一个错误,所以看到这个错误也是有用的。

票数 0
EN

Stack Overflow用户

发布于 2019-08-25 13:03:29

这是来自Twillio的官方网站。我认为您可以通过执行自动驾驶仪呼叫来做到这一点。

自动驾驶仪使用自然语言理解(NLU)来检测用户在说什么,并将其与任务相匹配。任务可以编程收集数据,回答问题或连接调用到其他用户。他们接受训练以识别不同的短语或用户表达给定任务的方式。

或者使用吐里奥的温传输功能。

热转移消除了这个问题。使用两路驱动的热传输,您的代理将有能力添加其他人到一个正在进行的电话,以提供无缝的客户体验。

票数 0
EN

Stack Overflow用户

发布于 2019-08-25 13:11:37

您可以查看Twilio网站上的点击调用示例,还有一个PHP/Laravel示例:

将单击调用构建到Web应用程序中

您可以修改上面的示例,返回Twilio数字名词URL (和聚集动词),为代理提供耳语功能,因此他们可以选择是否接受调用。

TwiML™语音:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57646095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档