Перевод городского звонка на менеджера SuiteCRM.
Каждому менеджеру привязаны клиенты. И если у Клиента добавлен городской номер и с него приходит звонок то звонок с начало переадресуем на менеджера если он не отвечает переводим звонок на общую группу.
Контекст проверки номера менеджера
[gogo]
exten => _X.,1,Answer
exten => _X.,n,Set(CID=${CALLERID(num)})
exten => _X.,n,AGI(get_internal_number.php,${CID})
exten => _X.,n,Verbose(${result})
exten => _X.,n,Set(number=${result})
exten => _X.,n,GotoIf($["${number}" = ""]?7:8)
exten => _X.,n,Dial(SIP/${result})
exten => _X.,n,Hangup
Скрипт запрос в базу ЦРМ
#!/usr/bin/php –q
<?php
require_once "phpagi.php";
ini_set('log_errors', 'On');
ini_set('error_log', '/var/log/php_errors.log');
$AGI = new AGI();
$number = $argv[1];
$con = mysql_connect("host", "login", "password");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("suitecrm", $con);
mysql_set_charset("utf8");
$query = sprintf("SELECT `asterisk_ext_c` FROM `users_cstm` WHERE `id_c` = (SELECT `assigned_user_id` FROM `contacts` WHERE `phone_work` = '%s' LIMIT 1)", mysql_real_escape_string($number));
$result = mysql_query($query);
if (!$result) {
$message = "bad_request";
die($message);
}
$row = mysql_fetch_assoc($result);
$output = $row['asterisk_ext_c'];
//echo $output;
$AGI->set_variable("result",$output);
?>