<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Idea Factory &#187; Asterisk</title>
	<atom:link href="http://ideafactory.it/category/asterisk/feed" rel="self" type="application/rss+xml" />
	<link>http://ideafactory.it</link>
	<description>c&#039;e&#039; solo un modo di fare le cose: farle bene</description>
	<lastBuildDate>Thu, 01 Jul 2010 15:06:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>chan_zap.c: Unable to register channel</title>
		<link>http://ideafactory.it/asterisk/chan_zapc-unable-to-register-channel.html</link>
		<comments>http://ideafactory.it/asterisk/chan_zapc-unable-to-register-channel.html#comments</comments>
		<pubDate>Tue, 25 Mar 2008 22:09:40 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[chan_zap]]></category>
		<category><![CDATA[zaptel]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/2008/03/25/chan_zapc-unable-to-register-channel/</guid>
		<description><![CDATA[Se avete seguito i miei tutorial su come configurare Asterisk con schede HFC, vi sarete accorti che il modulo zaptel è compilato con l&#8217;ausilio di linux-headers-2.6.18-5. Ma il vostro sistema l&#8217;aggiornate con i classici apt-get update ed apt-get upgrade e quindi ad oggi, avrete una versione del kernel ben diversa da quando avete compilato la [...]]]></description>
			<content:encoded><![CDATA[<p>Se avete seguito i miei <a href="http://www.ideafactory.it/category/asterisk/" onclick="pageTracker._trackPageview('/outgoing/www.ideafactory.it/category/asterisk/?referer=');">tutorial su come configurare Asterisk con schede HFC</a>, vi sarete accorti che il modulo <em>zaptel</em> è compilato con l&#8217;ausilio di <em>linux-headers-2.6.18-5</em>.</p>
<p>Ma il vostro sistema l&#8217;aggiornate con i classici <em>apt-get update</em> ed <em>apt-get upgrade</em> e quindi ad oggi, avrete una versione del kernel ben diversa da quando avete compilato la prima volta il modulo zaptel (io mi trovo alla 2.6.18-6) e può succedere che Asterisk non trova più il modulo <em>chan_zap</em> per interfacciarsi con la scheda ISDN e restituisca degli errori simili a questi:<br />
<code><br />
Mar 25 09:03:55 ERROR[5750] chan_zap.c: Unable to register channel '1-2'<br />
Mar 25 09:03:55 WARNING[5750] loader.c: chan_zap.so: load_module failed, returning -1<br />
Mar 25 09:03:55 WARNING[5750] loader.c: Loading module chan_zap.so failed!<br />
Mar 25 09:04:16 NOTICE[5779] cdr.c: CDR simple logging enabled.<br />
Mar 25 09:04:16 NOTICE[5779] config.c: Registered Config Engine mysql<br />
Mar 25 09:04:16 WARNING[5779] chan_zap.c: Unable to specify channel 1: No such device or address<br />
Mar 25 09:04:16 ERROR[5779] chan_zap.c: Unable to open channel 1: No such device or address<br />
here = 0, tmp-&gt;channel = 1, channel = 1<br />
</code><br />
Come si risolve?</p>
<p>Alla Debian! Basta infatti un bel:</p>
<p><code>module-assistant a-i zaptel</code></p>
<p>Ed il sistema scaricherà il pacchetto più aggiornato di zaptel, degli headers del kernel, compilerà il nuovo modulo ed al riavvio avrete Asterisk funzionante.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/asterisk/chan_zapc-unable-to-register-channel.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk ISDN HFC BRI Zaptel IAXModem Hylafax &amp; Co. (Parte III)</title>
		<link>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-iii.html</link>
		<comments>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-iii.html#comments</comments>
		<pubDate>Sun, 21 Oct 2007 21:15:31 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/2007/10/21/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-iii/</guid>
		<description><![CDATA[In questa parte dell&#8217;articolo configuraziamo IAXModem ed Hylafgax per completare il nostro super centralino fatto in casa. Installiamo IAXModem ed i pacchetti da cui dipende con un semplicissimo: apt-get install iaxmodem Per configurare IAXModem bisogna creare il file /etc/iaxmodem/ttyIAX. Il mio contiente: device /dev/ttyIAX owner uucp:uucp mode 660 port 4570 refresh 300 server 127.0.0.1 peername [...]]]></description>
			<content:encoded><![CDATA[<p>In questa parte dell&#8217;articolo configuraziamo IAXModem ed Hylafgax per completare il nostro super centralino fatto in casa.</p>
<p>Installiamo IAXModem ed i pacchetti da cui dipende con un semplicissimo:<br />
<code><br />
apt-get install iaxmodem</code></p>
<p><span id="more-30"></span></p>
<p>Per configurare IAXModem bisogna creare il file <code>/etc/iaxmodem/ttyIAX</code>.<br />
Il mio contiente:</p>
<p><code><br />
device          /dev/ttyIAX<br />
owner           uucp:uucp<br />
mode            660<br />
port            4570<br />
refresh         300<br />
server          127.0.0.1<br />
peername        iaxmodem<br />
secret          [PASSWORD]<br />
cidname         FAXServer<br />
cidnumber       [NUMERO_ISDN_FAX]<br />
codec           slinear<br />
</code></p>
<p>Facciamo partire IAXModem tramite:</p>
<p><code><br />
/etc/init.d/iaxmodem start<br />
</code></p>
<p>Dalla console di Asterisk (<code>asterisk -cr</code>) verifichiama che il peer di IAXModem sia connesso:</p>
<p><code><br />
iax2 show peers<br />
</code></p>
<p>Se l&#8217;output è qualcosa di simile a questo:<br />
<code><br />
Name/Username    Host                 Mask             Port          Status<br />
iaxmodem/iaxmod  127.0.0.1       (D)  255.255.255.255  4570          OK (2 ms)<br />
1 iax2 peers [1 online, 0 offline, 0 unmonitored]<br />
</code><br />
Siamo fortunati!:)<br />
Per uscire dalla console usare il comando <code>quit</code></p>
<p>Procediamo adesso all&#8217;installazione e configurazione di Hylafax:</p>
<p><code><br />
apt-get install hylafax-server<br />
</code></p>
<p>Per aggiungere lo IAXModem partiamo dal file di configurazione di esempio presente nel pacchetto Debian, quindi per prima cosa lo copiamo nella directory delle configurazioni di Hylafax:</p>
<p><code><br />
cp /usr/share/doc/iaxmodem/examples/config.ttyIAX /var/spool/hylafax/etc/<br />
</code></p>
<p>Adesso modifichiamo il necessario:<br />
<code><br />
CountryCode:            39<br />
AreaCode:               [PREFISSO]<br />
FAXNumber:              +39.[PREFISSO].[NUMERO_FAX]<br />
TagLineFormat:          "Ricevuto da  %%l|%c|Pagina %%P of %%T"<br />
</code></p>
<p>Riavviamo Hylafax con <code>/etc/init.d/hylafax restart</code> e verifichiamo se tra i processi in esecuzione (<code>ps -aux</code>) c&#8217;è:</p>
<p><code>/usr/sbin/faxgetty ttyIAX</code></p>
<p>Molto probabilemente si!:)<br />
Un ulteriore controllo è vedere se il Hylafax è in ascolto su IAXModem tramite il comando <code>faxtstat -a</code>, il cui output dovrebbe essere questo:</p>
<p><code><br />
HylaFAX scheduler on [HOST_SERVER]: Running<br />
Modem ttyIAX (+39.[PREFISSO].[NUMERO]): Running and idle<br />
</code></p>
<p>Ora configuriamo Hylafax a fare in modo che ogni FAX ricevuto sia spedito ad un indirizzo e-mail.<br />
Per fare ciò è necessario editare il file <code>/var/spool/hylafax/bin/faxrcvd</code> e configurare questi parametri:</p>
<p><code><br />
#FROMADDR=FaxMaster<br />
FILETYPE=pdf<br />
SENDTO=FaxMaster<br />
</code></p>
<p>Così facendo i FAX verranno traformati in pdf ed inviati all&#8217;indirizzo e-mail FaxMaster impostato in <code>/etc/aliases</code>:</p>
<p><code>FaxMaster: [TUA_MAIL]</code></p>
<p>Ovviamente perché tutto funzioni è necessario aver configurato un server di posta sul server.</p>
<p>A questo punto è necessario verificare che i programmi descritti in questa serie di articoli partano nel modo corretto.<br />
Per una corretta esecuzione è necessario che lo start-up sia questo:</p>
<ol>
<li>Asterisk</li>
<li>IAXModem</li>
<li>Hylafax</li>
</ol>
<p>Per fare ciò usiamo il comodissimo <code>update-rc.d</code>:</p>
<p><code><br />
update-rc.d -f asterisk remove<br />
update-rc.d -f iaxmodem remove<br />
update-rc.d -f hylafax remove<br />
</code></p>
<p>Così li ho rimossi tutti, mentre con:</p>
<p><code><br />
update-rc.d asterisk defaults 19<br />
update-rc.d iaxmodem defaults 21<br />
update-rc.d hylafax defaults 22<br />
</code></p>
<p>Setto l&#8217;ordine con cui devono essere lanciati all&#8217;avvio.</p>
<p>Bene, siamo giunti alla fine!:)</p>
<p>Se avrò eventuali aggiornamenti non esiterò a pubblicarli e per domande e curiosità sono a disposizione.</p>
<p>Buon PBX a tutti!</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-iii.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Asterisk ISDN HFC BRI Zaptel IAXModem Hylafax &amp; Co. (Parte II)</title>
		<link>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-ii.html</link>
		<comments>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-ii.html#comments</comments>
		<pubDate>Sun, 21 Oct 2007 19:51:40 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/2007/10/21/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-ii/</guid>
		<description><![CDATA[Eccoci al secondo capitolo che trasforma un semplice PC in un valido PBX. La prima parte è consultabile cliccando qui. Mi ero fermato all&#8217;installazione dei pacchetti Debian di Asterisk: apt-get install asterisk asterisk-bristuff asterisk-config asterisk-dev asterisk-sounds-extra asterisk-sounds-main Finita l&#8217;installazione, va configurato Asterisk. Partiamo dal file /etc/asterisk/modules.conf che si occupa di caricare i moduli necessari per [...]]]></description>
			<content:encoded><![CDATA[<p>Eccoci al secondo capitolo che trasforma un semplice PC in un valido PBX.</p>
<p>La prima parte è consultabile cliccando <a href="http://www.ideafactory.it/2007/08/29/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co/" onclick="pageTracker._trackPageview('/outgoing/www.ideafactory.it/2007/08/29/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co/?referer=');">qui</a>.</p>
<p>Mi ero fermato all&#8217;installazione dei pacchetti Debian di Asterisk:</p>
<p><code><br />
apt-get install asterisk asterisk-bristuff asterisk-config asterisk-dev asterisk-sounds-extra asterisk-sounds-main<br />
</code></p>
<p>Finita l&#8217;installazione, va configurato Asterisk.</p>
<p><span id="more-29"></span><br />
Partiamo dal file <code>/etc/asterisk/modules.conf</code> che si occupa di caricare i moduli necessari per le varie feature messe a disposizione dal programma.<br />
Per quanto riguarda la mia configurazione ho disabilitato alcune cose che non mi servicano, infatti nel file ho inserito:</p>
<p><code><br />
noload =&gt; app_capiCD.so<br />
noload =&gt; app_capiHOLD.so<br />
noload =&gt; app_capiRETRIEVE.so<br />
noload =&gt; app_capiECT.so<br />
noload =&gt; app_capiMCID.so<br />
noload =&gt; app_capiNoES.so<br />
noload =&gt; res_config_odbc.so<br />
noload =&gt; res_odbc.so<br />
noload =&gt; cdr_odbc.so<br />
noload =&gt; rate_engine.so<br />
noload =&gt; chan_modem_aopen.so<br />
noload =&gt; chan_modem_bestdata.so<br />
noload =&gt; cham_modem_i4l.so<br />
noload =&gt; chan_skinny.so<br />
noload =&gt; chan_agent.so<br />
noload =&gt; func_odbc.so<br />
noload =&gt; cdr_sqlite.so<br />
noload =&gt; cdr_sqlite3_custom.so<br />
noload =&gt; res_musiconhold.so<br />
</code></p>
<p>Siccome la nostra scheda viene vista attraverso i moduli zaptel, è necessario configurare il file <code>/etc/zaptel.conf</code> per settare i parametri del modulo congrui alla nostra scheda ISDN.<br />
Nel mio caso ho effettuato queste modifiche:</p>
<p><code><br />
span=1,1,3,ccs,ami<br />
bchan=1,2<br />
loadzone=it<br />
defaultzone=it<br />
</code></p>
<p>Salviamo questo file e rivviamo il modulo zaptel o meglio riavviamo il nostro <em>home server</em>.</p>
<p>Adesso passiamo al prossimo file:<code> zapata.conf</code> che contiene le impostazioni necessarie a far funzionare  la nostra scheda ISDN vista tramite il modulo <em>zaptel</em>.</p>
<p>Le modifice da me inserite nel file sono solo queste:<br />
<code><br />
language=it<br />
context=isdn<br />
switchtype=euroisdn<br />
pridialplan=unknown<br />
prilocaldialplan=unknown<br />
internationalprefix=00<br />
nationalprefix=0<br />
signalling=bri_cpe_ptmp<br />
echotraining=100<br />
channel =&gt;1-2<br />
group=1<br />
</code></p>
<p>Language è abbastanza esplicito, <em>context </em>è il contesto di riferimento da gestire successivamente nel file <code>extensions.conf</code>, <em>switchtype</em> è settato <em>euroisdn</em> perché è lo standard usato in Italia da Telecom sulle borchie ISDN, <em>signalling</em> seleziona il tipo di connessione ISDN utilizzato, nel caso comune è <em>point to multi-point</em>.<br />
Con <em>channel</em> diciamo ad Asterisk quanti canali abbiamo e a che gruppo appartengono (tramite <em>group</em>).</p>
<p>Passiamo adesso a configurare il file <code>iax.conf</code>, necessario per utilizzare IAXModem che serve ad avere un modem fax in Hylafax.</p>
<p>Questi sono i parametri necessari per un corretto funzionamento:<br />
<code><br />
bindport=4569<br />
bindaddr=127.0.0.1<br />
iaxcompat=yes<br />
nochecksums=no<br />
delayreject=yes<br />
amaflags=default<br />
language=it<br />
bandwidth=high<br />
allow=all<br />
;disallow=lpc10<br />
jitterbuffer=yes<br />
forcejitterbuffer=yes<br />
dropcount=0<br />
maxjitterbuffer=800<br />
maxjitterinterps=400<br />
resyncthreshold=1000<br />
maxexcessbuffer=80<br />
minexcessbuffer=10<br />
jittershrinkrate=1<br />
trunktimestamps=no<br />
minregexpire = 300<br />
maxregexpire = 300<br />
mailboxdetail=no<br />
regcontext=iaxregistrations<br />
</code><br />
Dopo queste impostazioni è necessario creare l&#8217;utente per IAXModem.<br />
Tale operazione va eseguita sempre nel file <em>iax.conf</em> ma prima è meglio cancellare gli account di default.<br />
Per farfe questo ho rimosso tutte le righe presenti dopo <em>; The valid values are:</em> ed a fine file ho creato l&#8217;utentenecessario:<br />
<code><br />
[iaxmodem]<br />
username=iaxmodem<br />
secret=[PASSWORD]<br />
accountcode=iaxmodem<br />
type=friend<br />
context=iax<br />
;host=127.0.0.1<br />
host=dynamic<br />
notransfer=yes<br />
qualify=yes<br />
disallow=all<br />
allow=alaw<br />
allow=ulaw<br />
allow=slinear<br />
</code></p>
<p>Fatto ciò è il turno di <code>sip.conf</code>, ed ecco infatti le modifiche da me apportate:<br />
<code><br />
realm=Asterisk<br />
srvlookup=no<br />
tos=lowdelay<br />
maxexpiry=3600<br />
defaultexpiry=120<br />
checkmwi=10<br />
recordhistory=yes<br />
disallow=all<br />
allow=g729 ; questo codec va comprato a parte dal sito Digium<br />
allow=alaw<br />
allow=ulaw<br />
language=it<br />
rtptimeout=60<br />
rtpholdtimeout=300<br />
trustrpid = no<br />
progressinband=never<br />
useragent=Asterisk PBX<br />
promiscredir = no<br />
usereqphone = no<br />
dtmfmode = info<br />
compactheaders = yes<br />
registertimeout=20<br />
externhost=<un><br />
externrefresh=10<br />
localnet=[LAN]/[SUBNET_LAN]<br />
nat=yes<br />
rtcachefriends=yes<br />
rtupdate=yes<br />
;[authentication]<br />
</un></code></p>
<p>Alcuni parametri inseriti serviranno a superare l&#8217;ostacolo dovuto al NAT e quindi vanno settati con meticolosa cura appoggiandosi anche a servizi gratuti come quelli di <a href="http://www.dynsdns.org" onclick="pageTracker._trackPageview('/outgoing/www.dynsdns.org?referer=');">Dyndns.org</a> per avere un host che punta sempre al nostro IP pubblico dinamico.</p>
<p>Adesso bisogna creare una connessione verso Eutelia, per fare questo ecco la configurazione:<br />
<code><br />
register=&gt;[NUMERO_EUTELIA]:[PASSWORD_EUTELIA]:[NUMERO_EUTELIA]@eutelia/[NUMERO_EUTELIA]<br />
[eutelia]<br />
username=[NUMERO_EUTELIA]<br />
context=portability-casa<br />
type=peer<br />
srvlookup=no<br />
secret=[PASSWORD_EUTELIA]<br />
realm=voip.eutelia.it<br />
qualify=yes<br />
nat=yes<br />
insecure=very<br />
host=voip.eutelia.it<br />
fromuser=[NUMERO_EUTELIA]<br />
fromdomain=voip.eutelia.it<br />
disallow=all<br />
allow=g729<br />
allow=alaw<br />
allow=ulaw<br />
</code></p>
<p>Modificate i parametri in base al vostro account ed occhio alla direttiva <em>context</em>, è importante perché viene richiamata all&#8217;interno del file <code>extensions.conf</code> che permette la comunicazione tra i vari peers collegati al PBX.</p>
<p>Adesso creiamo gli utenti SIP che costituiranno gli interni telefonici.<br />
Io ho usato una parte diversa in base all&#8217;account:<br />
<code><br />
[701]<br />
type=friend<br />
context=sip-ufficio<br />
secret=[PASSWORD_701]<br />
username=701<br />
callerid=SIP Ufficio &lt;701&gt;<br />
accountcode=701<br />
[702]<br />
type=friend<br />
context=sip-fax<br />
secret=[PASSWORD_702]<br />
username=702<br />
fromuser=SIP Fax &lt;702&gt;<br />
callerid=SIP Fax &lt;702&gt;<br />
accountcode=702<br />
[703]<br />
type=friend<br />
context=sip-casa<br />
secret=[PASSWORD_703]<br />
username=703<br />
callerid=SIP Casa &lt;703&gt;<br />
accountcode=703<br />
</code><br />
ed una parte comune che va incollata subito dopo <em>accountcode</em>:<br />
<code><br />
amaflags=billing<br />
port=5060<br />
host=dynamic<br />
nat=no<br />
disallow=all<br />
allow=alaw<br />
allow=ulaw<br />
allow=gsm<br />
qualify=yes<br />
canreinvite=no<br />
dtmfmode=info<br />
incominglimit=1<br />
</code></p>
<p>In pratica ho creato tre numeri interni del tipo 70X dove, il 701 è l&#8217;interno SIP sul quale verranno instradate le chiamate provenienti dal numero primario della linea ISDN, il 702 è quello riservato al FAX che si appoggerà al secondo numero ISDN ed il 703 è l&#8217;interno su cui verranno inoltrate le chiamate provenienti da Eutelia su cui ho effettuato la number portability del numero di casa.</p>
<p>Tutta la magia viene fatta tramite il file <code>extensions.conf</code> che ho modificato in questo modo:<br />
<code><br />
;CONSOLE=Console/dsp<br />
;IAXINFO=guest<br />
;TRUNK=Zap/g2<br />
;TRUNKMSD=1<br />
</code></p>
<p>Dopo <code>;[context]</code> vanno inserite le rotte di comunicazione:<br />
<code><br />
[default]<br />
[portability-casa]<br />
exten =&gt; _X.,1,Dial(SIP/703) ; numero di portability di casa<br />
exten =&gt; _X.,2,Hangup<br />
[sip-ufficio]<br />
exten =&gt; [MIO_NUMERO_CASA],1,Dial(SIP/703) ; se viene chiamato il numero di casa non inoltro la chiamata su linee esterne<br />
exten =&gt; _X.,1,set(CALLERID(number)=[NUMERO_ISDN_PRIMAIO]) ; e' superfluo visto perche' e' numero principale<br />
exten =&gt; _X.,2,Dial(Zap/1/${EXTEN})<br />
exten =&gt; _X.,3,Hangup<br />
[sip-fax]<br />
exten =&gt; _X.,1,set(CALLERID(number)=[NUMERO_ISDN_SECONDARIO])<br />
exten =&gt; _X.,2,Dial(Zap/2/${EXTEN})<br />
exten =&gt; _X.,3,Hangup<br />
[sip-casa]<br />
exten =&gt; [MIO_NUMERO_UFFICIO],1,Dial(SIP/701) ; se viene chiamato il numero dell'ufficio non inoltro la chiamata su linee esterne<br />
exten =&gt; _X.,1,Dial(SIP/${EXTEN}@eutelia) ; per chiamare l'esterno uso Eutelia<br />
exten =&gt; _X.,2,Dial(Zap/2/${EXTEN})<br />
exten =&gt; _X.,3,Hangup<br />
[isdn]<br />
; Per le telefonate dell'ufficio<br />
exten =&gt; [MIO_NUMERO_UFFICIO],1,Dial(SIP/701)<br />
exten =&gt; [MIO_NUMERO_UFFICIO],2,Hangup<br />
; Per i FAX<br />
exten =&gt; [MIO_NUMERO_FAX],1,Dial(IAX2/iaxmodem/${EXTEN})<br />
exten =&gt; [MIO_NUMERO_FAX],2,Hangup<br />
</code><br />
Le righe successive alla parte dove avete inserito le vostre rotte sono di esempio e quindi le potete benissimo cancellare.</p>
<p>Adesso secondo me è il caso di spiegare cosa ho appena scritto.</p>
<p>Abbiamo:</p>
<ul>
<li>una ISDN con due numeri</li>
<li>3 interni SIP: 701,702,703</li>
<li>un utente IAX per il modem fax</li>
</ul>
<p>Bene, assodato questo il routing è così fatto:</p>
<ul>
<li>qualsiasi chiamata che arriva dall&#8217;account SIP di Eutelia verrà recapitato all&#8217;interno 703</li>
<li>se arriva una chiamata al numero <code>[MIO_NUMERO_UFFICIO]</code>, cioè proveniente dalla linea ISDN con numero primario, squillerà l&#8217;interno numero 701</li>
<li>all&#8217;arrivo di un fax proveniente dal secondo numero ISDN identificato con <code>[MIO_NUMERO_FAX]</code>, verrà contattato il canale IAX2 che funge da modem per Hylafax.</li>
<li>se dall&#8217;interno numero 701 compongo il numero di casa <code>[MIO_NUMERO_DI_CASA]</code>, non verrò usato il canale ISDN ma verrà direttamente contattato l&#8217;interno 703</li>
<li>stessa cosa vista poco fa ma il chiamate è il 703 ed il chiamato sarà 701 così non passo per Eutelia nel voler contattare l&#8217;ufficio</li>
<li>in uscita l&#8217;interno 701 passerà per l&#8217;ISDN con numero principale</li>
<li>in uscita l&#8217;interno 702 passerà per l&#8217;ISDN con numero secondario</li>
<li>in uscita l&#8217;interno 703 userà Eutelia (attualmente faccio passare anche questo su ISDN&#8230;)</li>
</ul>
<p>Ovviamente dovete sostituire i campi di questo tipo: <code>[MAIUSCOLO]</code>, con i numeri ISDN in possesso.</p>
<p>Per qualsiasi dubbio sull&#8217;instradamento delle chiamate potete contattarmi oppure consultare <a href="http://www.voip-info.org/wiki/" onclick="pageTracker._trackPageview('/outgoing/www.voip-info.org/wiki/?referer=');">Voip-Info.org</a> che è straricco di materiale utile alla corretta configurazione di Asterisk.</p>
<p>Adesso dovremmo avere un PBX funzionante.</p>
<p>Per far in modo che Asterisk si avvi bisogna modificare il file <code>/etc/default/asterisk</code> e settare:</p>
<p><code>RUNASTERISK=yes</code></p>
<p>Adesso lanciamo Asterisk con:</p>
<p><code>/etc/init.d/asterisk start</code></p>
<p>e corriamo a vedere il log per eventuali problemi:</p>
<p><code>tail -vf /var/log/asterisk/message</code></p>
<p>Tutto ok? Bene adesso è il turno del FAX&#8230;che vedremo nella <a href="http://www.ideafactory.it/2007/10/21/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-iii/" onclick="pageTracker._trackPageview('/outgoing/www.ideafactory.it/2007/10/21/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-iii/?referer=');">terza parte</a>. <img src='http://ideafactory.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-ii.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Asterisk ISDN HFC BRI Zaptel IAXModem Hylafax &amp; Co.</title>
		<link>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co.html</link>
		<comments>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co.html#comments</comments>
		<pubDate>Wed, 29 Aug 2007 12:01:38 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/2007/08/29/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co/</guid>
		<description><![CDATA[Il titolo può sembrare uno strano linguaggio criptico o una lingua antica ma se si sta leggendo questo articolo molto probabilmente si ha la necessità di: configurare un server Asterisk collegare il server ad una linea ISDN con scheda ISDN HFC utilizzare il numero secondario ISDN come fax inviare i fax ricevuti via mail utilizzare [...]]]></description>
			<content:encoded><![CDATA[<p>Il titolo può sembrare uno strano linguaggio criptico o una lingua antica ma se si sta leggendo questo articolo molto probabilmente si ha la necessità di:</p>
<ul>
<li>configurare un server Asterisk</li>
<li>collegare il server ad una linea ISDN</li>
<li>con scheda ISDN HFC</li>
<li>utilizzare il numero secondario ISDN come fax</li>
<li>inviare i fax ricevuti via mail</li>
<li>utilizzare il numero primario ISDN per le normali telefonate</li>
</ul>
<p>Ma non finisce qui&#8230;l&#8217;articolo spiega anche come:</p>
<ul>
<li>registare i CDR in un database MySQL</li>
<li>utilizzare Eutelia VoIP</li>
<li>smistare le chiamate a seconda della lora destinazione</li>
<li>avere interni che parlano tra loro (gratis)</li>
</ul>
<p>Tutto questo utilizzando pacchetti deb ricompilando a manina quasi niente.</p>
<p><span id="more-25"></span><br />
Si parte da <a href="http://www.debian.org/releases/stable/" onclick="pageTracker._trackPageview('/outgoing/www.debian.org/releases/stable/?referer=');">Debian Etch</a>.</p>
<p>Io ho utilizzato la versione <a href="http://www.debian.org/CD/netinst/" onclick="pageTracker._trackPageview('/outgoing/www.debian.org/CD/netinst/?referer=');">Netinstall</a> perché il PC sarà dedicato a far eil centralino e quindi non mi occorre nient&#8217;altro che un sistema operativo di base ed i pacchetti necessari a creare un valido PBX.</p>
<p>Verifichiamo con <em>lspci</em> se la scheda ISDN è vista dal sistema:</p>
<p><code><br />
02:0e.0 Network controller: Cologne Chip Designs GmbH ISDN network controller [HFC-PCI] (rev 02)<br />
</code></p>
<p>Se vedete qualcosa di simile si può andare avanti&#8230;</p>
<p>Siccome va compilato il modulo <em>zaptel</em> ci occorrono gli <em>headers</em> del kernel nonché zaptel, quindi procediamo all&#8217;installazione di questi pacchetti:</p>
<p><code><br />
apt-get install linux-headers-2.6.18-5 linux-headers-2.6.18-5-686<br />
</code><br />
Controllare con <em>uname -a</em> la versione del kernel in uso e quindi installare il corretto pacchetto <em>linux-headers</em>.</p>
<p>Creiamo un bel link simbolico sotto la directoru <em>/usr/src/</em>:</p>
<p><code><br />
ln -s /usr/src/linux-headers-2.6.18-5-686/ /usr/src/linux</code></p>
<p>Adesso installiamo <em>ZapTel</em>:</p>
<p><code><br />
apt-get install zaptel zaptel-source<br />
</code></p>
<p>Per creare il modulo ed installarlo si utilizza <em>Module Assistant</em>:<br />
<code><br />
module-assistant a-i zaptel<br />
</code></p>
<p>Sia quest&#8217;ultimo comando che i precedenti possono portare all&#8217;installazione di ulteriori pacchetti, inutile dire di dare sempre il consenso!:)</p>
<p>Se tutto è filato liscio eseguendo un:</p>
<p><code><br />
depmod -a<br />
</code></p>
<p>non ci dovrebbero essere anomalie.</p>
<p>Adesso abbiamo a disposizione il modulo <em>zaptel</em>, il modulo <em>zaphfc</em> e il modulo <em>vzaphfc</em>.<br />
Quest&#8217;ultimo serve ad eliminare i problemi di interrupt che si possono venire ad evere se lo slot PCI in cui è la scheda condivide l&#8217;interrupt con qualche altro dispositivo.<br />
Per fiducia noi utilizzeremo il modulo <em>vzaphfc</em>.</p>
<p>Proviamo a caricare il modulo:</p>
<p><code><br />
modprobe vzaphfc<br />
</code></p>
<p>Con un<br />
<code><br />
lsmod | grep "zap"<br />
</code><br />
possiamo vedere questi moduli:</p>
<p><code><br />
vzaphfc                27624  0<br />
zaptel                183364  1 vzaphfc<br />
crc_ccitt               2240  2 zaptel,hisax<br />
<code></code></code></p>
<p>Tutto positivo, tranne che il modulo <em>hisax</em> è up.<br />
Hisax è il vecchio sistema per la gestione dell&#8217;ISDN da parte del kernel, sostituito attualmente da mISDN.<br />
Per fare un modo che il modulo hisax non sia più caricato lo mettiamo nella blacklist di modprobe:</p>
<p><code><br />
vi /etc/modprobe.d/blacklist<br />
</code></p>
<p>Alla fine del file aggiungiamo:</p>
<p><code><br />
blacklist hisax<br />
</code></p>
<p>Dal prossimo riavvio il modulo Hisax resterà a casa.</p>
<p>Ma torniamo a Zaptel&#8230;<br />
Con <em>dmsg<em> dovremmo vedere qualcosa di simile:</em></em></p>
<p><code><em><em><br />
Zapata Telephony Interface Registered on major 196<br />
Zaptel Version: 1.2.11 Echo Canceller: MG2<br />
vzaphfc: HFC-S PCI A Zaptel Driver (V1.42) loading<br />
ACPI: PCI Interrupt 0000:02:0e.0[A] -&gt; GSI 17 (level, low) -&gt; IRQ 201<br />
vzaphfc: card 0: registered ZTHFC1/0/1<br />
vzaphfc: card 0: registered ZTHFC1/0/2<br />
vzaphfc: card 0: registered ZTHFC1/0/3<br />
vzaphfc: card 0: resetting<br />
vzaphfc: card 0 configured for TE mode at mem 0xfb300000 (0xe01c2000) IRQ 201<br />
</em></em></code></p>
<p><em><em>Bene con l&#8217;hardware abbiamo finito!:)<br />
Adesso configuriamo il modulo, editando il file <em>/etc/zaptel.conf</em>, verifichiamo che ci sia:</em></em></p>
<p><code><em><em><br />
span=1,1,3,ccs,ami<br />
bchan=1,2<br />
dchan=3<br />
loadzone=it<br />
defaultzone=it<br />
</em></em></code></p>
<p><em><em>In pratico diciamo al modulo che abbiamo 2 canali per la voce (l&#8217;1 ed il 2) ed 1 (il 3) di segnalazione, che siamo in Italia ed alcuni protoccoli standard di comunicazione (ccs,ami).</em></em></p>
<p><em><em>Ogni volta che verrà caricato il modulo vzaphfc, il sistema leggerà il file appena editato e configurerà la scheda a dovere.</em></em></p>
<p><em><em>Riavviamo la macchina per vedere se il modulo viene caricato automaticamente all&#8217;avvio.</em></em></p>
<p>Verifichiamo se c&#8217;è tutto il necessario:</p>
<p><code><br />
#lsmod | grep "zap"<br />
vzaphfc                27624  0<br />
zaptel                183364  1 vzaphfc<br />
crc_ccitt               2240  1 zaptel<br />
</code></p>
<p>Perfetto!:)</p>
<p>Adesso installiamo Asterisk.</p>
<p>Siccome Debian è la miglior distrubuzione Linux dell&#8217;universo, ha il pacchetto con la versione BRI Stuffed necessaria per utilizzare le schede ISDN HFC.</p>
<p>Installiamo i seguenti pacchetti:</p>
<p><code><br />
apt-get install asterisk asterisk-bristuff asterisk-config asterisk-dev asterisk-sounds-extra asterisk-sounds-main<br />
</code><br />
La seconda parte di questo articolo è consultabile cliccando <a href="http://www.ideafactory.it/2007/10/21/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-ii/" onclick="pageTracker._trackPageview('/outgoing/www.ideafactory.it/2007/10/21/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co-parte-ii/?referer=');">qui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/asterisk/asterisk-isdn-hfc-bri-zaptel-iaxmodem-hylafax-co.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Asterisk addons &amp; Etch: impossible is nothing!</title>
		<link>http://ideafactory.it/asterisk/asterisk-addons-etch-impossible-is-nothing.html</link>
		<comments>http://ideafactory.it/asterisk/asterisk-addons-etch-impossible-is-nothing.html#comments</comments>
		<pubDate>Tue, 26 Jun 2007 11:19:46 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[addons]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=13</guid>
		<description><![CDATA[Chi usa Debian conosce bene la versatilità e la forza del gestore dei pacchetti integrato nella distribuzione ma può capitare che ci siano dei software che o per licenza o per altre scelte non vengono impacchettati. Questo è successo a me con l&#8217;addons di Asterisk. I pacchetti Etch riguardanti Asterisk sono: asterisk - Open Source [...]]]></description>
			<content:encoded><![CDATA[<p>Chi usa Debian conosce bene la versatilità e la forza del gestore dei pacchetti integrato nella distribuzione ma può capitare che ci siano dei software che o per licenza o per altre scelte non vengono impacchettati.<br />
Questo è successo a me con l&#8217;addons di Asterisk.</p>
<p><span id="more-10"></span>I pacchetti Etch riguardanti Asterisk sono:<br />
<code><br />
asterisk - Open Source Private Branch Exchange (PBX)<br />
asterisk-app-dtmftotext - Text entry application for Asterisk<br />
asterisk-app-fax - Softfax application for Asterisk<br />
asterisk-bristuff - Open Source Private Branch Exchange (PBX) - BRIstuff-enabled version<br />
asterisk-chan-capi - Common ISDN API 2.0 implementation for Asterisk<br />
asterisk-classic - Open Source Private Branch Exchange (PBX) - original Digium version<br />
asterisk-config - config files for asterisk<br />
asterisk-dev - development files for asterisk<br />
asterisk-doc - documentation for asterisk<br />
asterisk-h323 - asterisk H.323 VoIP channel<br />
asterisk-oh323 - oh323 channel driver for Asterisk<br />
asterisk-prompt-de - German voice prompts for the Asterisk PBX<br />
asterisk-prompt-es-co - Colombian Spanish voice prompts for Asterisk<br />
asterisk-prompt-fr - French voice prompts for Asterisk<br />
asterisk-prompt-it - Italian voice prompts for the Asterisk PBX<br />
asterisk-prompt-se - Swedish voice prompts for Asterisk<br />
asterisk-sounds-extra - Additional sound files for the Asterisk PBX<br />
asterisk-sounds-main - sound files for asterisk<br />
asterisk-web-vmail - Web-based (CGI) voice mail interface for Asterisk<br />
destar - management interface for the Asterisk PBX<br />
iaxmodem - software modem with IAX2 connectivity<br />
kiax - IAX VoIP softphone<br />
libiax-dev - implementation of the Inter-Asterisk eXchange protocol (devel)<br />
libiax0 - implementation of the Inter-Asterisk eXchange protocol<br />
</code><br />
Tanti vero?<br />
Ne manca uno&#8230; <a href="http://ftp.digium.com/pub/asterisk/releases/asterisk-addons-1.4.2.tar.gz" onclick="pageTracker._trackPageview('/outgoing/ftp.digium.com/pub/asterisk/releases/asterisk-addons-1.4.2.tar.gz?referer=');">Asterisk Addons</a>.<br />
Principalmente serve per configurare Asterisk in modalità Real Time o, ancor meglio, per memorizzare i CDR in un database MySQL.<br />
Se si vuole utilizzare tale software è necessario compilarlo da sorgenti ma prima bisogna essere sicuri che il proprio sistema Debian abbia gia i seguenti pacchetti installati:<br />
<code><br />
asterisk-dev<br />
libmysqlclient15-dev<br />
libmysqlclient15off<br />
mysql-client-5.0<br />
mysql-common<br />
mysql-server-5.0<br />
</code><br />
Oltre ovviamente ai pacchetti standard di Asterisk scelti in base alle proprie necessità. Io uso asterisk-bristuff con la scheda ISDN HFC e devo dire che non è stato mai così facile configurare un centralino su ISDN!.</p>
<p>Adesso bisogna scaricare il pacchetto dal sito di Asterisk:</p>
<p>http://ftp.digium.com/pub/asterisk/releases/asterisk-addons-1.4.2.tar.gz</p>
<p>E tramite le solite operazioni è necessario, decomprimerlo e compilarlo.<br />
Per la configurazione di Asterisk rimando al materiale presente in rete ma segno in agenta di scrivere come ho configurato il mio PBX passo passo sperando che possa essere utile.</p>
<p>E&#8217; la prima volta dopo anni che uso Debian che ho dovuto fare qualcosa a manina, fortunamente veniva dal mondo Slackware e quindi&#8230; <img src='http://ideafactory.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/asterisk/asterisk-addons-etch-impossible-is-nothing.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
