OpenVBX块调用者id模式

时间:2014-07-15 17:11:02

标签: php twilio

我们正在接收twillio的自动呼叫。我们确实安装了openvbx。我试图找出如何阻止呼叫与开始时有111,110或101的传入DID。我知道如何在openvbx中输入静态数字,我可以成功阻止它们。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

Hi Twilio客户支持。

你有没有想过使用Twilio动词?它允许您构建一个您不希望接收来电的号码列表:

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

https://www.twilio.com/docs/howto/reject

此致 汤姆

答案 1 :(得分:0)

我想这里和twilio都不支持openvbx。要在stackoverflow上发布一个问题并将其标记为openvbx,它说我需要有一定数量的积分。我是新手,所以我的账户没有积分。

无论如何我解决了自己的问题。以下是寻找类似解决方案的其他用户的解释。

您需要在openvbx安装中编辑插件/ standard / applets / start / twiml.php,并将其编码为以下代码。我希望openvbx有更多的支持。

<?php 
$ci =& get_instance();
$list = AppletInstance::getValue('list');
$direction = isset($_REQUEST['Direction']) ? $_REQUEST['Direction'] : 'inbound';


// block calls
$caller = normalize_phone_to_E164(isset($_REQUEST['From'])? $ci->input->get_post('From') : '');

$response = new TwimlResponse;

// Update this list of numbers

$block_list = array('+112345678910');

//pattern analysis to block DIDs
$patterns = array('111','110','101','+111','+110','+101');
$position = 0;
foreach ($patterns as $pattern) {
 if( $position = strpos(' ' . $caller, $pattern)) {
    if( $position == 1 ) $response->reject(array('reason' => 'busy'));

  }

}

if (in_array($caller, $block_list)) {
        $response->reject(array('reason' => 'busy'));

}else{
        $next = AppletInstance::getDropZoneUrl('next');
        if (!empty($next)) {
                $response->redirect($next);
        }
}
$response->respond();
?>