标签: twilio-php

是否可以在Twilio呼叫中访问实时音频流?

Twilio可以提供通话录音,但这不是实时的.是否可以编写一个实时处理来电者音频的应用程序,并在处理完音频后做出响应?我想让一些软件"听"说话者并以编程方式作出回应.

twilio twilio-php

11
推荐指数
2
解决办法
5040
查看次数

Twilio 黑名单规则致命错误

我正在使用 twilio 发送批量短信。假设一些客户决定他们不想再接收消息,所以他们回复“停止”,这会将他们添加到黑名单。我对电话号码进行了硬编码,因为我仍在自己的手机上进行测试。我注意到当我没有从我的代码中删除黑名单上的数字时,我收到一条错误消息并且我的脚本在那时停止。

将来,我可能会使用存储在数据库或文件中的数字。在这种情况下,如果发生了这个问题,我该如何克服。基本上我想要做的是:如果一个号码在黑名单中,请转到下一个号码并使用异常或其他方式避免该错误。错误消息和代码如下。

谢谢,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Send SMS</title>
<?php
    /* Send an SMS using Twilio. You can run this file 3 different ways:
     *
     * 1. Save it as sendnotifications.php and at the command line, run 
     *         php sendnotifications.php
     *
     * 2. Upload it to a web host and load mywebhost.com/sendnotifications.php 
     *    in a web browser.
     *
     * 3. Download a local server like WAMP, MAMP or XAMPP. Point the web root …
Run Code Online (Sandbox Code Playgroud)

twilio twilio-php twilio-api

7
推荐指数
1
解决办法
2031
查看次数

在重置期间间歇性地获取 Twilio.Device 客户端错误 {消息:“无法注册。令牌未验证”,代码:31204}

我收到Twilio.Device客户端错误

{message: "Cannot register. Token not validated", code: 31204}
Run Code Online (Sandbox Code Playgroud)

Twilio.Device.

谁能告诉我这个错误意味着什么?

由于我正确生成了令牌,但我认为 twilio websocket 由于某种原因无法验证它。

我应该尝试使用相同的令牌重新设置还是应该生成一个新令牌?

谢谢。

client device twilio twilio-php

6
推荐指数
0
解决办法
1014
查看次数

有没有办法在使用Twilio拨打电话时传递自定义参数?

我正在使用Twilio PHP库但问题实际上与语言无关.我尝试做类似以下的事情:

$client = new Services_Twilio('MyAccountSID', 'My auth token');
$client->account->calls->create($from_number, $to_number, $url_or_AppSID, array(
    'TwilioParam1' => 'value1',
    'TwilioParam2' => 'value2',
    'MyCustomParameter1' => 'CustomValue1',
    'MyCustomParamete2' => 'CustomValue2'
));
Run Code Online (Sandbox Code Playgroud)

然后我希望在Twilio请求我的$ url_or_AppSID(我的TwiML应用程序)时收到这些参数,但它没有发生.我知道可能的方法是在查询字符串中添加这些参数并在$ url_or_AppSID参数中传递我的自定义URL,但这迫使我设置GET方法,我想通过POST请求传递我的自定义参数,而不是GET .也许我必须使用已经通过POST注册的请求URL的AppSID.

有没有办法使用POST方法传递自定义参数?

twilio twilio-php

5
推荐指数
1
解决办法
6473
查看次数

使用 Twilio 接收短信并将其存储在数据库中

我正在使用 Twilio API 发送和接收来自客户的短信。

每次我的手机短信发送到我的客户,我店像精密组件tobody在我的数据库。

我已经实现了用于发送消息的 API,该 API 工作正常,并且只是将字段保存到我的数据库中。

我的问题

当我收到客户发送到我的 twilio 号码的短信时。我想获得像from number和这样的字段body并保存到我的数据库中。

我看了这里的文档

https://www.twilio.com/docs/api/twiml

https://www.twilio.com/blog/2012/04/get-started-with-twilio-sms-receiving-incoming-sms-quickstart.html

但这仅显示了如何在收到消息时向客户发送响应。

我想将收到的短信保存到我的数据库中。

有人可以帮助我得到最高的from numbermessage body 收到短信时。tnx..

php sms-gateway twilio twilio-php

5
推荐指数
1
解决办法
6809
查看次数

Twilio-将排队呼叫连接到座席

我正在尝试创建一个电话系统,以使呼叫者入队,理想情况下,系统将呼叫一个座席,座席然后接听并修改呼叫以桥接队列顶部。

到目前为止,我已经完成的工作是拨号循环,在该循环中,用户进行呼叫,并按顺序拨打座席,直到有人接听,或让用户选择在听到铃声时留下消息或留在线路上。和简单的入队音乐。

我似乎无法弄清楚如何结合这两个系统。

我发现的最接近的帖子这篇文章,它很有帮助,但是它掩盖了呼叫者入队后如何进行呼叫的方法。

不幸的是,到目前为止,我发现的唯一Twilio文档告诉我如何拨入队列,这不是我想要从该系统中获得的。我希望该系统将呼叫者置于带有等待音乐的队列中,然后该系统拨打座席号码,直到座席接听为止。

任何帮助都将不胜感激。

谢谢。

编辑:

index.php

这是呼叫者最初点击的常规IVR树。

<Say>This hits your general IVR tree</Say>
<Say>As the last action, since the caller hasn't pressed anything and should be enqueued, redirect the caller to EnqueueCaller.php</Say>
<Redirect>./EnqueueCaller.php</Redirect>
Run Code Online (Sandbox Code Playgroud)

由于PHP是预处理器,因此没有真正的睡眠或超时方法来拨打电话。必须在IVR树中进行重定向,以便当用户仍在IVR树中时不会拨打代理。

EnqueueCaller.php

IVR树结束并且用户选择等待代理后,即可在此处重定向呼叫者。该调用实际上发生在Enqueue之前,因为PHP在读取TwiML xml之前首先加载(我认为?)。但是由于呼叫时存在固有的延迟,因此呼叫者总是会在座席接听之前排队(我希望)。

<Enqueue waitUrl="wait_file.xml">name_of_queue</Enqueue>
$call = $client->account->calls->create($from, $to, "http://example.com/DialQueueHandler.php", array( "StatusCallback" => "DialQueueEventHandler.php" );
Run Code Online (Sandbox Code Playgroud)

DialQueueHandler.php

这仅是座席和队列顶部的任何人之间的桥梁。

<Say>Connecting to caller now.</Say>
<Dial><Queue>name_of_queue</Queue></Dial>
Run Code Online (Sandbox Code Playgroud)

DialQueueEventHandler.php

此脚本包含当已拨代理状态从$ _REQUEST ['CallStatus']更改(应答,完成,启动,响铃)时发生的逻辑。就我而言,我从入队脚本中拨打了一个座席,然后在此脚本中,继续通过设置标志来拨打下一个座席。

switch($_REQUEST['CallStatus'] {
    case 'answered':
    case 'completed':
        $next = false;
        break;
    default:
        $next …
Run Code Online (Sandbox Code Playgroud)

twilio twilio-php

5
推荐指数
1
解决办法
1337
查看次数

我们可以使用twilio客户端的VOIP推送处理来电吗?

我已经使用TWilio Client iOS SDK开发了VOIP呼叫功能。我成功实现了两个用户之间的“应用程序到应用程序”调用。对于应用程序到应用程序调用,我有三种情况。

情况1:用户1和用户2。用户1具有活动的应用程序,用户2也具有活动的应用程序。在这种情况下,我已经成功建立了它们之间的呼叫。

情况2:用户1和用户2。用户1具有活动应用程序,用户2具有非活动应用程序(背景应用程序意味着最小化应用程序)。在这种情况下,我有一个工具本地通知,并且我得到了本地通知。

情况3:用户1和用户2。用户a具有活动的应用程序,用户2具有已暂停的应用程序(应用被终止)。对于这种情况,我已经实现了voip推送通知。用户2收到voip推送通知。当用户2单击推送通知时,什么也没有发生。通话未建立。

我管理twilio客户令牌,还要求用户接受,拒绝和忽略呼叫。

我有来自twilio的消息,该消息使用以下链接:https ://www.twilio.com/help/faq/twilio-client/twilio-client-ios-sdk-background-best-practices

我遵循文档中提到的所有步骤。但是在应用程序暂停后(应用程序被杀死),呼叫无法建立。当应用程序被杀死时,twilio客户端如何监听当前用户。我们如何建立通话?我想很多很多的问题。

我以前在堆栈中发布问题,我们可以使用Twilio iOS SDK进行VOIP推送通知吗?

从推送通知打开应用程序后,如何恢复twilio设备连接?

我也与twilio开发人员联系,但没有任何反应。

请尽快帮助我。

objective-c twilio ios twilio-click-to-call twilio-php

5
推荐指数
1
解决办法
1208
查看次数

Twilio,如何将正在进行的呼叫转移到另一个号码

如何将正在进行的呼叫转移到另一个号码。我使用的概念是在呼叫正在进行时使用更新方法并拨打我想要连接的号码,它正在工作,但与第一个来电者正在中断/

呼叫转移过程代码-

1.拨打电话的流程-

 <Response>
  <Dial callerId="callerid">
    <Number statusCallbackEvent="initiated ringing answered completed" statusCallback="urltohadlestatus">user_number</Number>
  </Dial> 
</Response>
Run Code Online (Sandbox Code Playgroud)

2 . 进程到进程来转移呼叫-我已经使用更新方法来转移呼叫。

  function update_call1($CallSid, $admin_no) {
    $rr = array(
        "url" => "trurl?admin_no=".$admin_no,
        "method" => "POST"
    );
    $call = $this->client->calls($CallSid)->update($rr);
    return $call->to;
}
Run Code Online (Sandbox Code Playgroud)

并使用了这个 TwiML

<Response>
        <Dial>admin_number_call_to_be_transfered</Dial>
</Response> 
Run Code Online (Sandbox Code Playgroud)

其作用是转接呼叫,但当管理员收到呼叫时,它会断开呼叫。我需要的是,当杰克给珍妮打电话,现在杰克想将呼叫转移给jhonny,当呼叫转移给jhonny时,杰克应该断开呼叫。

twilio twilio-click-to-call twilio-php

5
推荐指数
1
解决办法
7796
查看次数

如何在没有 for 循环的情况下在 twilio api 中发送批量短信

我正在尝试通过 twilio Api 发送批量短信。是否有任何方法可以在单个 API 请求中传递所有电话号码的数组。

php twilio twilio-php twilio-api

5
推荐指数
1
解决办法
2670
查看次数

PHP Twilio RequestValidator在所有端点上返回false

所以我真的不知道问题出在哪里,我尝试了很多事情,但是我无法使Twilio请求哈希匹配。让我解释。

我决定实现Twilio的RequestValidator的实例,以确保请求来自Twilio。但是在这里按照本教程进行操作之后:https : //www.twilio.com/docs/usage/security?code-sample=code-validate-signature-of-request-1&code-language=PHP&code-sdk-version=5.x

验证器仅返回false。这是我使用的代码:

$url = 'https://example.com/api/endpoint/to/endpoint/';
$request_params = $_REQUEST;
$twilio_validator = new RequestValidator('myauthtoken');
if (!$twilio_validator->validate($_SERVER['HTTP_X_TWILIO_SIGNATURE'], $url, $request_params)) {
    throw new CallException('Not from Twilio');
}
Run Code Online (Sandbox Code Playgroud)

即使该URL是一个示例,这也正是我格式化实际URL的方式……没有端口,基本身份验证或片段。仅协议,域和路径后缀“ /”。此外,URL是我设置此Twilio应用程序时设置的确切VoiceURL(这是将VoiceURL调用到我的Twilio应用程序之一)。

我的身份验证令牌是我整个帐户的身份验证令牌

请求参数是我确定要弄乱东西的地方。Twilio正在对此端点发出GET请求,我也尝试使用$_GET超全局变量,但无济于事。$_REQUEST由于以下问题,我在这里使用:https : //github.com/twilio/twilio-php/issues/510,因为我认为这将是最佳选择。我也尝试过使用file_get_contents('php://input')完全相同的问题(哈希值最终不匹配)。

我什至分叉并在PHP SDK上打开了PR,以更新该类,只是看我是否还能学习更多...所以我知道该类及其方法非常好...我只是看不到我的问题。

为了使RequestValidator无法验证Twilio的请求是否来自Twilio,我在这里做错了什么?

twilio twilio-php twilio-api php-7.2

5
推荐指数
1
解决办法
92
查看次数