Routage des faxes selon le DID

L'ensemble asterisk, hylafax et iaxmodem permet de router les faxes (transmis en général par mail, mais également possible vers une imprimante) en fonction du numéro appelé (DID ou SDA). Ainsi, un seul modem est nécessaire pour l'ensemble des utilisateurs, l'information du DID étant passée à hylafax, qui pourra router l'appel vers qui bon lui semble.

: à étudier. Depuis FreePBX 2.7, un nouveau module de faxe permet de router des faxes vers des utilisateurs précis, sans avoir besoin d'hylafax.

Modification du contexte de gestion des faxes par défaut

FreePBX gère un contexte écrit en dur dans /etc/asterisk/extension.conf pour gérer les faxes. Nous allons devoir modifier légèrement ce contexte pour qu'asterisk transmette le DID appelé vers hylafax (dans la variable CALLERID4). Pour cela, il suffit d'éditer le fichier /etc/asterisk/extensions_override_freepbx.conf:

vim /etc/asterisk/extensions_override_freepbx.conf

Ce fichier devrait être vierge. Il faut placer le code suivant dedans:

; fax perso avec routage sur DID
[ext-fax]
exten => s,1,Answer
exten => s,2,Goto(in_fax,1)
exten => in_fax,1,StopPlayTones
exten => in_fax,2,GotoIf($["${FAX_RX}" = "system"]?3:analog_fax,1)
exten => in_fax,3,Macro(faxreceive)
exten => in_fax,4,Hangup
exten => analog_fax,1,GotoIf($["${FAX_RX}" = "disabled"]?4:2) ;if fax is disabled, just hang up
exten => analog_fax,2,Set(DIAL=${DB(DEVICE/${FAX_RX}/dial)});
;exten => analog_fax,3,Dial(${DIAL},20,d)
exten => analog_fax,3,Dial(${DIAL}/${FROM_DID},20,d)
exten => analog_fax,4,Hangup
;exten => out_fax,1,wait(7)
exten => out_fax,1,txfax(${TXFAX_NAME},caller)
exten => out_fax,2,Hangup
exten => h,1,system(/var/lib/asterisk/bin/fax-process.pl --to ${EMAILADDR} --from ${FAX_RX_FROM} --subject "Fax from ${URIENCODE(${CALLERID(number)})} ${URIENCODE(${CALLERID(name)})}" --attachment fax_${URIENCODE(${CALLERID(number)})}.pdf --type application/pdf --file ${FAXFILE});
exten => h,2,Hangup()

Configurer FreePBX

Plusieurs étapes sont nécessaires pour configurer FreePBX:

Configuration d'une extension correspondant à Iaxmodem (extension IAX2 classique)

Déclaration de cette extension comme faxe par défaut au niveau général