Progetto

Generale

Profilo

Actions

AsteriskDebian » Cronologia » Versione 35

« Precedente | Versione 35/36 (diff) | Successivo »
Amministratore Truelite, 06-08-2009 16:17


TracNav(TOC)

Installare Asterisk & C su Debian

Questo documento copre l'installazione di Asterisk e di tutte le applicazione correlate su una Debian (al momento della stesura sono considerate Etch e Lenny) 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 ed una scheda Digium TM400P per la connessione alla telefonia analogica.

I pacchetti distribuiti su Debian Etch sono datati (fermi alla versione 1.2 di Asterisk) e non supportano le funzionalità più recenti del programma e le novità introdotte con Asterisk 1.4. Con Lenny è disponibile la versione 1.4.21, ma anche questa non supporta direttamente l'uso di mISDN, che va compilato a parte. Pertanto illustreremo la installazione dai sorgenti, anche se su Lenny si può comunque scegliere di usare la versione installata dalla distribuzione e compilare soltanto la parte di mISDN.

Si presuppone di partire dalla installazione del sistema base di Etch, senza selezionare niente, se non il sistema base, 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 openssh-server ntp nmap tcpdump bzip2

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 bison flex xsltproc

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


Per poterla utilizzare è però necessario installare altri pacchetti per scaricare i sorgenti direttamente dai repository, per cui occorrerà anche eseguire:
<pre>
apt-get install cvs subversion
</pre>

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:
<pre>
wget http://www.beronet.com/downloads/install-asterisk.tar.gz
tar xzf install-asterisk.tar.gz
cd install-asterisk
make install
</pre>
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:
<pre>
apt-get install libspeex-dev libvorbis-dev libcurl3-dev libnewt-dev \
                libusb-dev libogg-dev libgsm1-dev libasound-dev
</pre>
mentre se si vuole il supporto per esegure le registrazioni delle chiamate su database si potranno installare i seguenti pacchetti:
<pre>
apt-get install libmysqlclient15-dev libsqlite-dev
</pre>
<pre>

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:
<pre>
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
</pre>
dopo di che gli archivi dovranno essere scompattati con qualcosa del tipo:
<pre>
for i in *.tar.gz; do tar -xzf $i; done
</pre>
<pre>

<pre>
<pre>
cd zaptel-1.4.*
./install_prereq test
./install_prereq install
./configure
make
make install
</pre>
<pre>
<pre>
echo "ztdummy" >> /etc/modules
</pre>

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:
<pre>
make config
</pre>
<pre>
<pre>
...
MODULES="$MODULES wctdm" 
...
MODULES="$MODULES ztdummy" 
...
</pre>
<pre>

<pre>
<pre>
cd libpri-1.4.*
make
make install
</pre>
<pre>

Il terzo passo è compilare mISDN e mISDNuser, il primo è il supporto per i moduli del kernel, il secondo per la parte in userspace; questo si effettua in maniera sostanzialmente identica con:
<pre>
cd mISDN-*
make
make install
cd ../mISDNuser-*
make
make install
</pre>
<pre>
<pre>
--- old_hfc_multi.c    2007-11-21 15:09:38.000000000 +0800
+++ hfc_multi.c    2007-11-21 15:07:39.000000000 +0800
@@ -212,6 +212,8 @@
      "HFC-8S", 0, 8, 1, 0, 0},
     {CCAG_VID, CCAG_VID, HFC8S_ID, 0xB562, VENDOR_CCD,
      "HFC-8S Beronet Card", 0, 8, 1, 0, 0},
+        {CCAG_VID, CCAG_VID, HFC8S_ID, 0xE998, VENDOR_CCD,
+         "HFC-8S [[OpenVox]] Card ", 0, 8, 1, 8, 0},
     {CCAG_VID, CCAG_VID, HFC8S_ID, 0xB56B, VENDOR_CCD,
      "HFC-8S Beronet Card (+)", 0, 8, 1, 8, 0},
     {CCAG_VID, CCAG_VID, HFCE1_ID, 0xB523, VENDOR_CCD,
@@ -4433,6 +4435,7 @@
     /** Cards with HFC-8S Chip**/
     { CCAG_VID, 0x16B8   , CCAG_VID, 0xB562, 0, 0, 0 }, //BN8S
     { CCAG_VID, 0x16B8   , CCAG_VID, 0xB56B, 0, 0, 0 }, //BN8S+
+        { CCAG_VID, 0x16B8   , CCAG_VID, 0xE998, 0, 0, 0 }, //8S [[OpenVox]] B800P
         { CCAG_VID, 0x16B8   , CCAG_VID, 0x16B8, 0, 0, 0 }, //old Eval
     { CCAG_VID, 0x16B8   , CCAG_VID, 0xB521, 0, 0, 0 }, //IOB8ST Recording
     { CCAG_VID, 0x16B8   , CCAG_VID, 0xB522, 0, 0, 0 }, //IOB8ST 
</pre>

<pre>
<pre>
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
</pre>

Fatto questo occorrerà eseguire la configurazione degli stessi, a tal proposito si dovrà prima eseguire il comando:
<pre>
mISDN scan
</pre>
se questo avrà successo, con qualcosa del tipo:
<pre>
parker:~# mISDN scan
1 mISDN compatible device(s) found:
>> hfcpci
</pre>
nel caso di una scheda ISDN con il classico chip HCF, oppure, nel caso di un paio di schede [[OctBRI]], qualcosa del tipo:
<pre>
hancock# mISDN scan
2 mISDN compatible device(s) found:
>> BN8S0
>> BN8S0
</pre>

Una volta confermato il riconoscimento delle schede si potranno seguire le istruzioni ed eseguire:
<pre>
mISDN config
</pre>
<pre>
<pre>
parker:~# misdnportinfo 

Port  1: TE-mode BRI S/T interface line (for phone lines)
 -> Protocol: DSS1 (Euro ISDN)
 -> childcnt: 2
--------

mISDN_close: fid(3) isize(131072) inbuf(0x804c060) irp(0x804c060) iend(0x804c060)
</pre>
mentre con delle schede [[OctoBRI]] si avrà invece:
<pre>
hancock:~# misdnportinfo
Port  1: TE-mode BRI S/T interface line (for phone lines)
 -> Protocol: DSS1 (Euro ISDN)
 -> childcnt: 2
--------
...
--------
Port  9: NT-mode BRI S/T interface port (for phones)
 -> Interface can be Poin-To-Point/Multipoint.
...
</pre>

Infine per automatizzare l'inizializzazione del servizio ed il caricamento dei moduli all'avvio sarà poi opportuno inserire il relativo script nei runlevel con:
<pre>
update-rc.d mISDN defaults 15 30
</pre>

Il quarto passo è installare Asterisk, in questo caso la procedura è leggermente più complessa, in quanto se si vogliono personalizzare le configurazioni è necessaria una sessione interattiva, che nelle seguenti istruzioni si è commentata in quanto si può saltarla restando sulle configurazioni di default:
<pre>
cd asterisk-1.4.*
./configure
#make menuconfig
make
make install
</pre>
una volta compilati ed installati tutti i file, la procedura consente di installare una configurazione di esempio e gli script di avvio con i seguenti comandi:
<pre>
make samples
make config
</pre>

Infine si possono compilare gli _addons_ di Asterisk, per i quali si può segure la stessa identica procedura mostrata in precedenza per Asterisk stesso, vale a dire:
<pre>
cd asterisk-addons-1.4.*
./configure
#make menuconfig
make
make install
</pre>
e si potranno poi generare anche gli esempi di configurazione con:
<pre>
make samples
</pre>

Una volta completata tutta l'installazione si provi a riavviare la macchina per verificare che Asterisk venga fatto partire  correttamente all'avvio, si verifichi che il processo sia attivo, e che ci si possa collegare alla console con:
<pre>
asterisk -rvvv
</pre>

h3. Applicazioni aggiuntive

<pre>
<pre>
wget http://www.mezzo.net/asterisk/app_ldap-2.0rc1.tgz
tar -xvzf app_ldap-2.0rc1.tgz
cd app_ldap-*
make
make install
</pre>
per la configurazione si consulti [[AsteriskConfig]].

Aggiornato da Amministratore Truelite oltre 14 anni fa · 35 revisions