Progetto

Generale

Profilo

Actions

AsteriskDebian » Cronologia » Versione 18

« Precedente | Versione 18/36 (diff) | Successivo »
Amministratore Truelite, 23-07-2008 19:05


TracNav(TOC)

Installare Asterisk & C su Debian Etch

Questo documento copre l'installazione di Asterisk e di tutte le applicazione correlate su una Debian Etch utilizzando come scheda telefonica una scheda ISDN PCI basata sul chipset ''Cologne HFC'', che è uno dei più comuni e diffusi chipset utilizzato sulle schede ISDN.

I pacchetti distribuiti su Etch sono datati (fermi alla 1.2) e non supportano le funzionalità più recenti del programma, in particolare l'uso di [http://www.misdn.org mISDN] e le novità introdotte con Asterisk 1.4. Pertanto procederemo alla installazione dai sorgenti.

Si presuppone di partire dalla installazione del sistema base di Etch, senza selezionare niente, se non questo, dal menu iniziale di ''tasksel''. Per operare via rete e installare un mimino di programmi utili (e mantenere i tempi corretti) si consiglia comunque l'installazione dei seguenti pacchetti: {{{
apt-get install ssh ntp nmap tcpdump
}}}

Per la compilazione dei programmi è essenziale installare una serie di pacchetti ausiliari, anzitutto è necessario installare quanto necessario per la compilazione di base, più alcuni programmi aggiuntivi, con: {{{
apt-get install build-essential bzip2 bison flex
}}}
inoltre occorre essere sicuri di avere gli header del kernel che si sta utilizzando, questo significa anche che si dovrà installare: {{{
apt-get install linux-headers-`uname -r`
}}}
infine possono servire alcune librerie aggiuntive, da installare con: {{{
apt-get install libncurses5-dev libnewt-dev libeditline-dev libedit-dev
}}}

La procedura standard prevede che si scarichino i sorgenti dal sito della Digium e da quello di [http://www.misdn.org mISDN] per poi compilare uno per uno i singoli componenti. Esiste però una modalità semplificata per installare Asterisk e tutti i programmi compilandoli dai sorgenti che è quella di utilizzare il metodo illustrato sul sito di [http://www.misdn.org mISDN], sul quale è disponibile una procedura basata sull'uso di un {{{Makefile}}}.

Per poterla utilizzare è però necessario installare altri pacchetti per scaricare i sorgenti direttamente dai repository, per cui occorrerà anche esesguire: {{{
apt-get install cvs subversion
}}}

Una volta che si siano installati i pacchetti necessari, per usare la procedura, come descritto in http://www.misdn.org/index.php/MISDN_with_Asterisk, è sufficiente eseguire i seguenti comandi: {{{
wget http://www.beronet.com/downloads/install-asterisk.tar.gz
tar xzf install-asterisk.tar.gz
cd install-asterisk
make install
}}}
in questo caso però alcune procedure di installazione (come quella relativa alla generazioni degli scheletri di configurazione) non vengono eseguite ma si limita a fare dei semplici controlli che i pacchetti che servono siano disponibili (e chiede di installarli altrimenti), dopo di che scarica i vari pezzi e li compila uno per uno senza doverlo fare singolarmente a mano e cercare le dipendenze principali.

Inoltre pacchetti da installare citati in precedenza sono quelli necessari a compilare il programma, ma se si vogliono utilizzare le varie funzionalità fornite da Asterisk, come quelle relative alle diverse codifiche audio, occorrerà installare anche una serie di pacchetti aggiuntivi, in particolare potranno risultare utili: {{{
apt-get install libspeex-dev libvorbis-dev libcurl3-dev libnewt-dev \
libusb-dev libogg-dev libgsm1-dev libasound-dev
}}}
mentre se si vuole il supporto per esegure le registrazioni delle chiamate su database si potranno installare i seguenti pacchetti: {{{
apt-get install libmysqlclient15-dev libsqlite-dev
}}}
ed eventualmente {{{unixodbc-dev}}}, che però si porta dietro, almeno su Etch, una serie di dipendenze assurde. Dato che questo può causare problemi con il supporto per {{{mysql}}} fornito da Asterisk stesso non lo si è citato esplicitamente, vedremo come installare direttamente il supporto dagli addons.

Una volta installati anche questi pacchetti si potrà eseguire una installazione completamente manuale in modo da avere un controllo più dettagliato di tutto il procedimento, anzitutto si devono scaricare i singoli pacchetti necessari con: {{{
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
wget http://www.misdn.org/downloads/mISDN.tar.gz
wget http://www.misdn.org/downloads/mISDNuser.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
}}}
dopo di che gli archivi dovranno essere scompattati con qualcosa del tipo: {{{
for i in *.tar.gz; do tar -xzf $i; done
}}}
e poi si potrà passare alla compilazione delle varie componenti ({{{zaptel}}}, {{{libpri}}}, {{{mISDN}}}, {{{mISDNuser}}}, {{{asterisk}}} e {{{asterisk-addons}}}) con la procedura standard.

In caso si decida di proseguire manualmente la sequenza da realizzare è quella appena illustrata: il primo passo è compilare {{{zaptel}}} che contiene i moduli del kernel per le schede, anche se nel nostro caso utilizzeremo {{{chan_misdn}}} questi sono necessari lo stesso per avere a disposizione il modulo {{{ztdummy}}} che serve per fornire una base dei tempi ad Asterisk. La procedura da seguire é: {{{
cd zaptel-1.4.*
./install_prereq test
./install_prereq install
./configure
make
make install
}}}
questo compilerà ed installer tutto il necessario, dopo di che sarà quantomeno installare il modulo {{{ztdummy}}} cosa che si fa con il comando {{{modprobe ztdummy}}}, il caricamento potrà essere successivamente reso definitivo all'avvio della macchina con: {{{
echo "ztdummy" >> /etc/modules
}}}

La versione 1.4 fornisce però anche il supporto diretto al caricamento e alla inizializzazione delle schede attraverso degli opportuni script di avvio. Questi potranno essere installati con l'ulteriore comando: {{{
make config
}}}
in tal caso si potrà anche evitare di forzare il caricamento di {{{ztdummy}}} all'avvio, in quanto lo script di avvio così installato permette di selezionare quali moduli caricare tramite il file {{{/etc/default/zaptel}}}, in questo si dovranno commentare o scommentare le righe che definiscono i singoli moduli, ad esempio nel caso si abbia una scheda TDM400P si dovanno lasciare scommentate solo le righe: {{{
...
MODULES="$MODULES wctdm"
...
MODULES="$MODULES ztdummy"
...
}}}
inoltre si dovrà provvedere alla configurazione del tutto nel file {{{/etc/zaptel.conf}}}.

Il secondo passo consiste nell'installazione di {{{libpri}}}, di nuovo si trattera

Una volta installato mISDN, per evitare l'uso dei moduli di kernel standard per la gestione della scheda ISDN occorrerà aggiungere le seguenti righe al file {{{/etc/modprobe.d/blacklist}}}: {{{
blacklist hisax
blacklist hisax_fcpcipnp
blacklist hisax_isac
blacklist crc_ccitt
blacklist isdn
blacklist slhc
blacklist capi
blacklist capifs
blacklist kernelcapi
blacklist kernel_capi
blacklist avmfritz
blacklist hfc4s8s_l1
}}}

Aggiornato da Amministratore Truelite oltre 15 anni fa · 18 revisions