Инструменты пользователя

Инструменты сайта


faq:receive_fax

Отправка вхоядщего факса на email

Обратно к инструкциям

Инструкция применима к АТС вверсии 2020.2.X+. На более ранних версиях АТС нет модулей для работы с факс.
  1. Добавьте новое PHP приложение (см. Приложения диалпланов)
  2. Назначьте внутренний номер, к примеру 2200100
  3. Скопируйте код приолжения
    <?php
    use MikoPBX\Core\System\Notifications;
    use MikoPBX\Core\System\{MikoPBXConfig};
    
    require_once 'phpagi.php';
    require_once 'Globals.php';
    
    $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)){
        Notifications::sendMail('test@gmail.com', 'Fax msg from '.$caller, 'Incoming fax <br><br>', $faxFile); 
        unlink($faxFile);
    }
    sleep(1);
  4. В коде приложения укажите свой email вместо адреса «test@gmail.com».
  5. В разделе «Кастомизация системных файлов» добавьте к файлу extensions.conf следующий код:
    [SIP-1595590171-incoming](+)
    exten => fax,1,Goto(internal,2200100,1)

    Тут «2200100» замените на номер своего приложения

  6. Добавьте к файлу modules.conf
    load => res_fax.so
    load => res_fax_spandsp.so
  7. В коде, «SIP-1595590171» замените на ID своего провайдера. Подсмотреть его значение можно в карточке провайдера, в адресной строке браузера .
  8. В карточке провайдера, в расширенных настройках, в дополнительных параметрах укажите
    [endpoint]
    fax_detect=yes
    fax_detect_timeout=30
  9. Убедитесь, что в разделе «Почта и уведомления» указаны параметры подключения к smtp серверу.
  10. При поступлении звонка, если АТС определить факс-тон, произойдет автоматический редирект звонка на приложение прием факса.

Обратно к инструкциям

faq/receive_fax.txt · Последние изменения: 2020/07/27 12:44 — Алексей Портнов