Отправка входящего факса на email
Назначьте внутренний номер, к примеру 2200110
Вставьте следующий код во вкладку "Программный код"
<?php
require_once 'Globals.php';
use \MikoPBX\Core\Asterisk\AGI;
use MikoPBX\Core\System\Notifications;
use MikoPBX\Core\System\{MikoPBXConfig};
$agi = new AGI();
$faxFile = "/tmp/" .$agi->get_variable("CDR(linkedid)", true).'.tiff';
$caller = $agi->get_variable("CALLERID(num)", true);
$agi->exec("ReceiveFax", "{$faxFile},d");
$result = $agi->get_variable("FAXOPT(status)", true);
if($result === 'SUCCESS' && file_exists($faxFile)){
$notify = new Notifications();
$notify->sendMail('test@gmail.com', 'Fax msg from '.$caller, 'Incoming fax <br><br>', $faxFile);
unlink($faxFile);
}
sleep(1);
В коде приложения укажите свой email вместо адреса «test@gmail.com».
Перейдите в раздел "Кастомизация системных файлов"
Откройте для редактирования файл "extensions.conf"
Добавьте следующий код в конец файла:
[SIP-1687941868-incoming](+)
exten => fax,1,Goto(internal,2200100,1)
«2200100» замените на номер своего приложения
В коде, «SIP-1687941868» замените на ID своего провайдера. Подсмотреть его значение можно в карточке провайдера, в адресной строке браузера
Откройте для редактирования файл "modules.conf"
Вставьте в конец файла код:
load => res_fax.so
load => res_fax_spandsp.so
В карточке провайдера, в расширенных настройках, в дополнительных параметрах укажите
[endpoint]
fax_detect=yes
fax_detect_timeout=30