73 lines
1.5 KiB
PHP
Executable File
73 lines
1.5 KiB
PHP
Executable File
#!/usr/bin/php -q
|
|
<?php
|
|
|
|
require_once ('agi.php');
|
|
require_once ('vn/lib/app.php');
|
|
|
|
$app = new Vn\Lib\App ('vn-asterisk');
|
|
$app->init ();
|
|
$db = $app->getSysConn ();
|
|
|
|
//Agi::init ();
|
|
|
|
// Formats the caller phone number
|
|
|
|
$callerId = str_replace ('+', '00', Agi::get ('agi_callerid'));
|
|
|
|
$countryPrefix = $db->getValue ('SELECT country_prefix FROM config');
|
|
$prefixLen = strlen ($countryPrefix);
|
|
|
|
if (substr ($callerId, 0, $prefixLen) === $countryPrefix)
|
|
$callerId = substr ($callerId, $prefixLen);
|
|
|
|
// Checks if phone number is on the blacklist
|
|
|
|
if ($db->getValue ('SELECT COUNT(*) > 0 FROM blacklist WHERE phone = #', [$callerId]))
|
|
{
|
|
Agi::exec ('HANGUP');
|
|
exit ();
|
|
}
|
|
|
|
// Checks whether its a festive day
|
|
|
|
$sundayFestive = $db->getValue ('SELECT sunday_festive FROM config');
|
|
|
|
if (date ('N') == 6 && $sundayFestive)
|
|
{
|
|
Agi::exec ('SET VARIABLE MACRO playback');
|
|
Agi::exec ('SET VARIABLE ARG1 festive');
|
|
exit ();
|
|
}
|
|
|
|
// Gets the customer from the phone number
|
|
|
|
$customer = $db->getValue ('SELECT customer_from_phone(#)', [$callerId]);
|
|
|
|
if ($customer)
|
|
{
|
|
// Gets the customer salesperson extension
|
|
|
|
$extension = $db->getValue (
|
|
'SELECT a.extension
|
|
FROM vn2008.Trabajadores t
|
|
JOIN pbx.sip a ON t.user_id = a.user_id
|
|
WHERE t.id_trabajador = vn2008.Averiguar_ComercialCliente_Id(#, CURDATE())'
|
|
,[$customer]
|
|
);
|
|
|
|
if ($extension)
|
|
{
|
|
Agi::exec ('SET VARIABLE MACRO exten');
|
|
Agi::exec ("SET VARIABLE ARG1 $extension");
|
|
}
|
|
else
|
|
{
|
|
Agi::exec ('SET VARIABLE MACRO playback');
|
|
Agi::exec ('SET VARIABLE ARG1 heavy');
|
|
}
|
|
|
|
exit ();
|
|
}
|
|
|
|
?>
|