Iaxmodem

Iaxmodem e` un soft modem che parla IAX da un lato ed espone una seriale virtuale dall'altro. Permette ad esempio (ma non solo) di usare Hylafax abbinato ad Asterisk senza alcun modem fisico. Iaxmodem funziona al meglio se Asterisk e` connesso a una linea ISDN esterna (non voip) e se iaxmodem e` installato sullo stesso host di Asterisk. Questo perche` iaxmodem soffre moltissimo il jitter, e quindi meno segmenti di rete ci sono in mezzo meglio e`.

Installazione

Configurazione

Se si vuole avere piu` di una istanza di iaxmodem (per avere piu` di una linea modem attiva contemporaneamente) occorre creare divesi files di configurazione dentro a /etc/iaxmodem/. Questo esempio e` per una sola linea.

* creare il file /etc/iaxmodem/iaxmodem-cfg.ttyIAX e metterci dentro la configurazione come segue:

* creare una configurazione adeguata dentro a /etc/asterisk/iax.conf, come segue:

* creare in asterisk le opportune regole di chiamata in extensions.conf, in modo da poter ricevere e fare chiamate da iaxmodem. Per esempio, si puo` configurare l'ingresso delle chiamate con un exten => 324,1,Dial(iax2/iaxmodem/${EXTEN}) e l'uscita funziona da sola, se, come nel mio esempio, iaxmodem e` stato configurato nel context interni (il quale contiene i telefoni interni che possono ovviamente chiamare fuori).

* ricaricare la config di asterisk con iax2 reload e riavviare iaxmodem con /etc/init.d/iaxmodem restart

* A questo punto avete una seriale virtuale /dev/ttyIAX che potete accedere con qualsiasi terminale (minicom per esempio) sulla quale vi risponde iaxmodem, che si comporta come un classico modem con comandi AT.

Configurazione di Hylafax

La config di esempio e` presente nella documentazione di iaxmodem. Io l'ho presa e leggermente adattata, ma solo per quanto riguarda la parte di regole di dial, numeri di telefono, eccetera. Non ho toccato la parte del modem vero e proprio. Questa e` la configurazione che ho usato, chiamate ovviamente config.ttyIAX, copiata dentro a /etc/hyalafax. Di fatto e` come una qualsiasi configurazione di un modem per hylafax.

# configurazione per iaxmodem

CountryCode:            39
AreaCode:               051
FAXNumber:              +39.051.123456
LongDistancePrefix:     0
InternationalPrefix:    00
DialStringRules:        etc/dialrules.europe
ServerTracing:          0xFFF
SessionTracing:         0xFFF
RecvFileMode:           0660
LogFileMode:            0640
DeviceMode:             0600
RingsBeforeAnswer:      1
SpeakerVolume:          off
GettyArgs:              "-h %l dx_%s"
LocalIdentifier:        "Nome azienda"
TagLineFont:            etc/lutRS18.pcf
TagLineFormat:          "From %%l|%c|Page %%P of %%T"
MaxRecvPages:           200

ModemType:              Class1          # use this to supply a hint

Class1AdaptRecvCmd:     AT+FAR=1
Class1TMConnectDelay:   400             # counteract quick CONNECT response
ModemResetCmds:         AT+VCID=1       # enables CallID display
PagerTTYParity:         none

Nota importante per Hylafax

Per evitare che hylafax parta prima che iaxmodem abbia creato la sua com virtuale, e` meglio modificare il file /etc/init.d/hylafax aggiungendo la voce "iaxmodem" alla riga "Required-Start", e poi dare il comando insserv hylafax. Questo fara` si` che la sequenza di init lanci iaxmodem prima di hylafax. Se ancora non bastasse, si puo` mettere un breve sleep nel file di init di hylafax che lo ritardi di qualche secondo.

Asterisk/IaxmodemFax (last edited 2014-07-14 12:49:37 by Kurgan)