Asterisk FreePBX Fax-to-Email
Прием и отправка факсов на e-mail, общий или назначенный екстеншену.
Прием факсов во FreePBX 12
Asterisk должен быть скомпилирован с поддержкой SpanDSP. Убедимся что модули res_fax.so и res_fax_spandsp.so загружены:
localhost*CLI> module show like fax Module Description Use Count Status res_fax.so Generic FAX Applications 1 Running res_fax_spandsp.so Spandsp G.711 and T.38 FAX Technologies 1 Running 2 modules loaded
Настройки Системного факса
Settings > Fax Configuration
Как видите, ничего интересного.
Далее создадим виртуальный факс екстеншен.
И включим поддержку факсов в настройках екстеншена.
Перейдем в модуль FollowMe созданного екстеншена.
И в разделе Destination if no answer: выберем Fax Recipient - номер нашего факса FAX(1999)
Таким же образом, можно использовать созданный факс для приема входящих факсов
в модуле Connectivity > Inbound Routes
там же можно включить автоматическое распознавание факс сигнала:
Fax Detect
Или создать факс для любого SIP екстеншена в системе.
localhost*CLI> core show channels Channel Location State Application(Data) IAX2/iaxmodem1-15384 (None) Up ReceiveFAX(/var/spool/asterisk 1 active channel 1 active call 495 calls processed -- Executing [s@ext-fax:5] ExecIf("IAX2/iaxmodem1-15384", "0?Set(FAXSTATUS="FAILED: error: statusstr: OK")") in new stack -- Executing [s@ext-fax:6] Hangup("IAX2/iaxmodem1-15384", "") in new stack == Spawn extension (ext-fax, s, 6) exited non-zero on 'IAX2/iaxmodem1-15384' -- Executing [h@ext-fax:1] GotoIf("IAX2/iaxmodem1-15384", "0?failed") in new stack -- Executing [h@ext-fax:2] GotoIf("IAX2/iaxmodem1-15384", "0?noemail") in new stack -- Executing [h@ext-fax:3] Set("IAX2/iaxmodem1-15384", "DELETE_AFTER_SEND=true") in new stack -- Executing [h@ext-fax:4] System("IAX2/iaxmodem1-15384", "/var/lib/asterisk/bin/fax2mail.php --to "hdi@neotek.ru" --dest "" --callerid '"" <fax2>' --file /var/spool/asterisk/fax/1415626900.6823.tif --exten "Fax (1999)" --delete "true" --attachformat "pdf"") in new stack -- Executing [h@ext-fax:5] Macro("IAX2/iaxmodem1-15384", "hangupcall,") in new stack -- Executing [s@macro-hangupcall:1] GotoIf("IAX2/iaxmodem1-15384", "1?theend") in new stack -- Goto (macro-hangupcall,s,3) -- Executing [s@macro-hangupcall:3] ExecIf("IAX2/iaxmodem1-15384", "0?Set(CDR(recordingfile)=)") in new stack -- Executing [s@macro-hangupcall:4] Hangup("IAX2/iaxmodem1-15384", "") in new stack
Принятые факсы, по умолчанию, сохраняются в директорию /var/spool/asterisk/fax .