Daca in articolul precedent v-am prezentat o solutie prin care puteam sa trimitem SMS-uri prin intermediul unui client de e-mail, de data aceasta va vom prezenta o solutie care permite receptionarea unui fax de catre server-ul Asterisk si transmiterea acestuia prin e-mail, ca atasament de tip PDF .
Descrierea solutiei
Pentru a testa aceasta functionalitate se pot folosi doua solutii si anume:
- Digium Fax For Asterisk (FFA)
- folosirea pachetului Spandsp (dezvoltat de Steve Underwood).
In ambele variante se genereaza un fisier grafic in format TIFF multi-page insa acest format nu este optim pentru transmiterea prin e-mail deoarece aplicatiile standard instalate pe majoritatea statiilor de lucru nu afiseaza acest format. Pentru a evita instalarea unor aplicatii speciale s-a ales transformarea fisierului TIFF rezultat in format PDF. In acest scop a fost folosit utilitarul tiff2pdf, care este furnizat in pachetul libtiff.
Instalarea solutiei FFA (Fax For Asterisk)
Instalarea FFA este simpla si nu implica compilarea nici unui pachet software. Se folosesc pasii descrisi in fisierul README. Pe scurt acestia sunt:- Procurarea unei licente pentru aplicatia Fax For Asterisk
- Validarea si instalarea licentei
- Determinarea modulelor necesare si instalarea acestora
- Verificarea instalarii si a licentei.
Odata cu instalarea FFA vor fi instalate si aplicatiile RxFax si TxFax. Acestea sunt necesare pentru functionalitatea solutiei.
Instalarea pachetului libtiff
Pachetul libtiff se instaleaza in functie de distributia Linux folosita pentru server-ul Asterisk. Pentru distributiile de tip Red Hat (Red Hat, Fedora, Centos, etc.) se foloseste comanda:
[root@tenora ~]# yum install libtiff
Cum functioneaza?
Logica solutiei pentru receptionarea unui fax va fi implementata in dialplan-ul pe care il foloseste centrala Asterisk. Un astfel de dialplan, care contine pe langa fax2email si solutia email2fax (transmiterea unui fax cu ajutorul clientului de email), este disponibil aici.
Despre solutia email2fax vom vorbi in cadrul unui alt articol.
Revenind la dialplan, pentru solutia fax2email s-au folosit urmatoarele contexte:
- custom-fax - tratarea apelurile de tip "incoming fax" folosite pentru receptionarea fax-ului.
- macro-tenora-faxreceive - apelarea functiei RxFax
- macro-tenora-faxstatus - salvarea unor variabile de canal.
In urma acestor configurari la primirea unui apel de tip "incoming fax", se va raspunde apelului, se vor seta o serie de variabile de canal (de ex. numele fisierului folosit pentru salvarea datelor primite pe fax) dupa care se va apela aplicatia RxFax.
La detectarea inchiderii apelului se face transformarea fisierului TIFF receptionat in format PDF. Daca fisierul nu a putut fi transformat (de ex. lipseste sau a este corupt) se va trimite un mesaj de receptionare eronata a faxului. Daca fisierul PDF exista atunci se va transmite ca atasament. In ambele situatii, se va primi un e-mail in care sunt incluse variabilele de canal setate de aplicatia RxFax, asa cum se poate vedea si in imaginea de mai jos.
![]() |
Ultimul pas consta in rularea unei aplicatii care va sterge fisierele generate si care nu mai sunt necesare ulterior.
In plus
In cadrul dialplan-ului au mai fost folosite, independent de solutia FFA, urmatoarele aplicatii:
- mime-construct - pentru transmiterea de mesaje de tip e-mail. Instalarea acestei aplicatii este descrisa aici.
- backticks - aplicatie Asterisk care seteaza intr-o variabila de canal rezultatul rularii unei aplicatii de sistem. Instalarea acestei aplicatii este descrisa aici.
Asteptam comentariile si sugestiile dumneavoastra pe adresa info@modulo.ro cat si pe forumul VOIP - totul despre voice over ip, cu subiectul Receptionarea FAX-urilor prin e-mail..