AsteriskDebian » Cronologia » Versione 36
Simone Piccardi, 22-12-2010 19:54
1 | 36 | Simone Piccardi | h1. Installare Asterisk & C su Debian |
---|---|---|---|
2 | 1 | Amministratore Truelite | |
3 | 36 | Simone Piccardi | 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, e di una scheda Digium TM400P per la connessione alla telefonia analogica. |
4 | 35 | Amministratore Truelite | |
5 | 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":http://www.misdn.org, 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":http://www.misdn.org. |
||
6 | |||
7 | 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: |
||
8 | 36 | Simone Piccardi | |
9 | 35 | Amministratore Truelite | <pre> |
10 | apt-get install openssh-server ntp nmap tcpdump bzip2 |
||
11 | 1 | Amministratore Truelite | </pre> |
12 | |||
13 | 35 | Amministratore Truelite | 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: |
14 | 36 | Simone Piccardi | |
15 | 1 | Amministratore Truelite | <pre> |
16 | 31 | Amministratore Truelite | apt-get install build-essential bison flex xsltproc |
17 | 35 | Amministratore Truelite | </pre> |
18 | 36 | Simone Piccardi | |
19 | 1 | Amministratore Truelite | inoltre occorre essere sicuri di avere gli header del kernel che si sta utilizzando, questo significa anche che si dovrà installare: |
20 | 36 | Simone Piccardi | |
21 | 35 | Amministratore Truelite | <pre> |
22 | 1 | Amministratore Truelite | apt-get install linux-headers-@uname -r@ |
23 | 35 | Amministratore Truelite | </pre> |
24 | 36 | Simone Piccardi | |
25 | 35 | Amministratore Truelite | infine possono servire alcune librerie aggiuntive, da installare con: |
26 | 36 | Simone Piccardi | |
27 | 1 | Amministratore Truelite | <pre> |
28 | 35 | Amministratore Truelite | apt-get install libncurses5-dev libnewt-dev libeditline-dev libedit-dev |
29 | 6 | Amministratore Truelite | </pre> |
30 | 35 | Amministratore Truelite | |
31 | 36 | Simone Piccardi | La procedura standard prevede che si scarichino i sorgenti dal sito della Digium e da quello di _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 _mISDN_, sul quale è disponibile una procedura basata sull'uso di un @Makefile@. |
32 | 35 | Amministratore Truelite | |
33 | 1 | Amministratore Truelite | Per poterla utilizzare è però necessario installare altri pacchetti per scaricare i sorgenti direttamente dai repository, per cui occorrerà anche eseguire: |
34 | 36 | Simone Piccardi | |
35 | 1 | Amministratore Truelite | <pre> |
36 | 35 | Amministratore Truelite | apt-get install cvs subversion |
37 | 1 | Amministratore Truelite | </pre> |
38 | 35 | Amministratore Truelite | |
39 | 7 | Amministratore Truelite | 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: |
40 | 36 | Simone Piccardi | |
41 | 8 | Amministratore Truelite | <pre> |
42 | 35 | Amministratore Truelite | wget http://www.beronet.com/downloads/install-asterisk.tar.gz |
43 | 1 | Amministratore Truelite | tar xzf install-asterisk.tar.gz |
44 | cd install-asterisk |
||
45 | make install |
||
46 | </pre> |
||
47 | 36 | Simone Piccardi | |
48 | 17 | Amministratore Truelite | 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. |
49 | 1 | Amministratore Truelite | |
50 | 17 | Amministratore Truelite | 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: |
51 | 36 | Simone Piccardi | |
52 | 17 | Amministratore Truelite | <pre> |
53 | 35 | Amministratore Truelite | apt-get install libspeex-dev libvorbis-dev libcurl3-dev libnewt-dev \ |
54 | 1 | Amministratore Truelite | libusb-dev libogg-dev libgsm1-dev libasound-dev |
55 | </pre> |
||
56 | 36 | Simone Piccardi | |
57 | 1 | Amministratore Truelite | mentre se si vuole il supporto per esegure le registrazioni delle chiamate su database si potranno installare i seguenti pacchetti: |
58 | 36 | Simone Piccardi | |
59 | 35 | Amministratore Truelite | <pre> |
60 | 4 | Amministratore Truelite | apt-get install libmysqlclient15-dev libsqlite-dev |
61 | 1 | Amministratore Truelite | </pre> |
62 | 35 | Amministratore Truelite | |
63 | 36 | Simone Piccardi | 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. |
64 | |||
65 | 35 | Amministratore Truelite | 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: |
66 | 36 | Simone Piccardi | |
67 | 1 | Amministratore Truelite | <pre> |
68 | 17 | Amministratore Truelite | wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz |
69 | 1 | Amministratore Truelite | wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz |
70 | wget http://www.misdn.org/downloads/mISDN.tar.gz |
||
71 | 17 | Amministratore Truelite | wget http://www.misdn.org/downloads/mISDNuser.tar.gz |
72 | 1 | Amministratore Truelite | wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz |
73 | wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz |
||
74 | </pre> |
||
75 | 36 | Simone Piccardi | |
76 | 1 | Amministratore Truelite | dopo di che gli archivi dovranno essere scompattati con qualcosa del tipo: |
77 | 36 | Simone Piccardi | |
78 | 17 | Amministratore Truelite | <pre> |
79 | for i in *.tar.gz; do tar -xzf $i; done |
||
80 | 35 | Amministratore Truelite | </pre> |
81 | |||
82 | 36 | Simone Piccardi | e poi si potrà passare alla compilazione delle varie componenti (zaptel, libpri, mISDN, mISDNuser, asterisk e asterisk-addons) con la procedura standard. |
83 | |||
84 | 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 é: |
||
85 | |||
86 | 1 | Amministratore Truelite | <pre> |
87 | 17 | Amministratore Truelite | cd zaptel-1.4.* |
88 | ./install_prereq test |
||
89 | 1 | Amministratore Truelite | ./install_prereq install |
90 | ./configure |
||
91 | make |
||
92 | 35 | Amministratore Truelite | make install |
93 | </pre> |
||
94 | 36 | Simone Piccardi | |
95 | 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: |
||
96 | |||
97 | 1 | Amministratore Truelite | <pre> |
98 | 35 | Amministratore Truelite | echo "ztdummy" >> /etc/modules |
99 | 18 | Amministratore Truelite | </pre> |
100 | |||
101 | 1 | Amministratore Truelite | 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: |
102 | 36 | Simone Piccardi | |
103 | 35 | Amministratore Truelite | <pre> |
104 | 1 | Amministratore Truelite | make config |
105 | </pre> |
||
106 | 36 | Simone Piccardi | |
107 | 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 dovranno lasciare scommentate solo le righe: |
||
108 | |||
109 | 1 | Amministratore Truelite | <pre> |
110 | 20 | Amministratore Truelite | ... |
111 | 1 | Amministratore Truelite | MODULES="$MODULES wctdm" |
112 | ... |
||
113 | MODULES="$MODULES ztdummy" |
||
114 | ... |
||
115 | 20 | Amministratore Truelite | </pre> |
116 | |||
117 | 36 | Simone Piccardi | inoltre si dovrà provvedere alla configurazione del tutto nel file @/etc/zaptel.conf@, che tratteremo a parte in [[AsteriskConfig]]. |
118 | |||
119 | Il secondo passo consiste nell'installazione di @libpri@, in questo caso è sufficiente entrare una semplice compilazione della libreria e susseguente installazione con: |
||
120 | |||
121 | 35 | Amministratore Truelite | <pre> |
122 | cd libpri-1.4.* |
||
123 | 1 | Amministratore Truelite | make |
124 | make install |
||
125 | </pre> |
||
126 | |||
127 | 36 | Simone Piccardi | (si tenga presente che la libreria sarà installata in @/usr/lib@, che non è proprio il massimo della pulizia, e viola le regole del FHS). |
128 | |||
129 | 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: |
||
130 | |||
131 | 20 | Amministratore Truelite | <pre> |
132 | 35 | Amministratore Truelite | cd mISDN-* |
133 | 33 | Amministratore Truelite | make |
134 | 1 | Amministratore Truelite | make install |
135 | 33 | Amministratore Truelite | cd ../mISDNuser-* |
136 | 1 | Amministratore Truelite | make |
137 | make install |
||
138 | 33 | Amministratore Truelite | </pre> |
139 | 36 | Simone Piccardi | |
140 | si tenga presente che nel caso si usino delle schede OpenVox (sostanzialmente dei cloni a prezzo inferiore delle schede multicanale) si dovrà effettuare applicare a mano il seguente patch al file @mISDN-1_1*/drivers/isdn/hardware/mISDN/hfc_multi.c@, che consente il riconoscimento della stessa come scheda supportata. |
||
141 | |||
142 | 33 | Amministratore Truelite | <pre> |
143 | --- old_hfc_multi.c 2007-11-21 15:09:38.000000000 +0800 |
||
144 | 1 | Amministratore Truelite | +++ hfc_multi.c 2007-11-21 15:07:39.000000000 +0800 |
145 | @@ -212,6 +212,8 @@ |
||
146 | 33 | Amministratore Truelite | "HFC-8S", 0, 8, 1, 0, 0}, |
147 | 1 | Amministratore Truelite | {CCAG_VID, CCAG_VID, HFC8S_ID, 0xB562, VENDOR_CCD, |
148 | "HFC-8S Beronet Card", 0, 8, 1, 0, 0}, |
||
149 | 33 | Amministratore Truelite | + {CCAG_VID, CCAG_VID, HFC8S_ID, 0xE998, VENDOR_CCD, |
150 | 35 | Amministratore Truelite | + "HFC-8S [[OpenVox]] Card ", 0, 8, 1, 8, 0}, |
151 | 33 | Amministratore Truelite | {CCAG_VID, CCAG_VID, HFC8S_ID, 0xB56B, VENDOR_CCD, |
152 | "HFC-8S Beronet Card (+)", 0, 8, 1, 8, 0}, |
||
153 | {CCAG_VID, CCAG_VID, HFCE1_ID, 0xB523, VENDOR_CCD, |
||
154 | @@ -4433,6 +4435,7 @@ |
||
155 | 21 | Amministratore Truelite | /** Cards with HFC-8S Chip**/ |
156 | 1 | Amministratore Truelite | { CCAG_VID, 0x16B8 , CCAG_VID, 0xB562, 0, 0, 0 }, //BN8S |
157 | 21 | Amministratore Truelite | { CCAG_VID, 0x16B8 , CCAG_VID, 0xB56B, 0, 0, 0 }, //BN8S+ |
158 | 35 | Amministratore Truelite | + { CCAG_VID, 0x16B8 , CCAG_VID, 0xE998, 0, 0, 0 }, //8S [[OpenVox]] B800P |
159 | 21 | Amministratore Truelite | { CCAG_VID, 0x16B8 , CCAG_VID, 0x16B8, 0, 0, 0 }, //old Eval |
160 | 1 | Amministratore Truelite | { CCAG_VID, 0x16B8 , CCAG_VID, 0xB521, 0, 0, 0 }, //IOB8ST Recording |
161 | 35 | Amministratore Truelite | { CCAG_VID, 0x16B8 , CCAG_VID, 0xB522, 0, 0, 0 }, //IOB8ST |
162 | 21 | Amministratore Truelite | </pre> |
163 | 35 | Amministratore Truelite | |
164 | 36 | Simone Piccardi | 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@: |
165 | |||
166 | 1 | Amministratore Truelite | <pre> |
167 | blacklist hisax |
||
168 | blacklist hisax_fcpcipnp |
||
169 | blacklist hisax_isac |
||
170 | blacklist crc_ccitt |
||
171 | blacklist isdn |
||
172 | 24 | Amministratore Truelite | blacklist slhc |
173 | 15 | Amministratore Truelite | blacklist capi |
174 | 21 | Amministratore Truelite | blacklist capifs |
175 | 1 | Amministratore Truelite | blacklist kernelcapi |
176 | blacklist kernel_capi |
||
177 | blacklist avmfritz |
||
178 | 24 | Amministratore Truelite | blacklist hfc4s8s_l1 |
179 | 1 | Amministratore Truelite | </pre> |
180 | |||
181 | Fatto questo occorrerà eseguire la configurazione degli stessi, a tal proposito si dovrà prima eseguire il comando: |
||
182 | 36 | Simone Piccardi | |
183 | 1 | Amministratore Truelite | <pre> |
184 | mISDN scan |
||
185 | 35 | Amministratore Truelite | </pre> |
186 | 36 | Simone Piccardi | |
187 | 1 | Amministratore Truelite | se questo avrà successo, con qualcosa del tipo: |
188 | 36 | Simone Piccardi | |
189 | 1 | Amministratore Truelite | <pre> |
190 | parker:~# mISDN scan |
||
191 | 1 mISDN compatible device(s) found: |
||
192 | >> hfcpci |
||
193 | 35 | Amministratore Truelite | </pre> |
194 | 36 | Simone Piccardi | |
195 | nel caso di una scheda ISDN con il classico chip HCF, oppure, nel caso di un paio di schede OctoBRI, qualcosa del tipo: |
||
196 | |||
197 | 35 | Amministratore Truelite | <pre> |
198 | hancock# mISDN scan |
||
199 | 2 mISDN compatible device(s) found: |
||
200 | 33 | Amministratore Truelite | >> BN8S0 |
201 | 1 | Amministratore Truelite | >> BN8S0 |
202 | </pre> |
||
203 | |||
204 | Una volta confermato il riconoscimento delle schede si potranno seguire le istruzioni ed eseguire: |
||
205 | 36 | Simone Piccardi | |
206 | 33 | Amministratore Truelite | <pre> |
207 | 35 | Amministratore Truelite | mISDN config |
208 | 34 | Amministratore Truelite | </pre> |
209 | 36 | Simone Piccardi | |
210 | che crea il file @/etc/mISDN.conf@, dopo di che con @mISDN start@ si potranno caricare i moduli ed avviare il servizio, si potrà poi verificare che è tutto a posto con @misdnportinfo@, e con una scheda ISDN si avrà qualcosa del tipo: |
||
211 | |||
212 | 35 | Amministratore Truelite | <pre> |
213 | parker:~# misdnportinfo |
||
214 | |||
215 | 1 | Amministratore Truelite | Port 1: TE-mode BRI S/T interface line (for phone lines) |
216 | -> Protocol: DSS1 (Euro ISDN) |
||
217 | -> childcnt: 2 |
||
218 | -------- |
||
219 | 34 | Amministratore Truelite | |
220 | 33 | Amministratore Truelite | mISDN_close: fid(3) isize(131072) inbuf(0x804c060) irp(0x804c060) iend(0x804c060) |
221 | 35 | Amministratore Truelite | </pre> |
222 | 36 | Simone Piccardi | |
223 | mentre con delle schede OctoBRI si avrà invece: |
||
224 | |||
225 | 33 | Amministratore Truelite | <pre> |
226 | hancock:~# misdnportinfo |
||
227 | Port 1: TE-mode BRI S/T interface line (for phone lines) |
||
228 | -> Protocol: DSS1 (Euro ISDN) |
||
229 | -> childcnt: 2 |
||
230 | -------- |
||
231 | 21 | Amministratore Truelite | ... |
232 | 1 | Amministratore Truelite | -------- |
233 | 24 | Amministratore Truelite | Port 9: NT-mode BRI S/T interface port (for phones) |
234 | 1 | Amministratore Truelite | -> Interface can be Poin-To-Point/Multipoint. |
235 | 15 | Amministratore Truelite | ... |
236 | </pre> |
||
237 | 35 | Amministratore Truelite | |
238 | 15 | Amministratore Truelite | Infine per automatizzare l'inizializzazione del servizio ed il caricamento dei moduli all'avvio sarà poi opportuno inserire il relativo script nei runlevel con: |
239 | 36 | Simone Piccardi | |
240 | 35 | Amministratore Truelite | <pre> |
241 | 1 | Amministratore Truelite | update-rc.d mISDN defaults 15 30 |
242 | 21 | Amministratore Truelite | </pre> |
243 | 35 | Amministratore Truelite | |
244 | 21 | Amministratore Truelite | 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: |
245 | 36 | Simone Piccardi | |
246 | 35 | Amministratore Truelite | <pre> |
247 | 22 | Amministratore Truelite | cd asterisk-1.4.* |
248 | 1 | Amministratore Truelite | ./configure |
249 | #make menuconfig |
||
250 | make |
||
251 | make install |
||
252 | 23 | Amministratore Truelite | </pre> |
253 | 36 | Simone Piccardi | |
254 | 35 | Amministratore Truelite | 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: |
255 | 36 | Simone Piccardi | |
256 | 35 | Amministratore Truelite | <pre> |
257 | 1 | Amministratore Truelite | make samples |
258 | 23 | Amministratore Truelite | make config |
259 | </pre> |
||
260 | 35 | Amministratore Truelite | |
261 | 23 | Amministratore Truelite | 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: |
262 | 36 | Simone Piccardi | |
263 | 1 | Amministratore Truelite | <pre> |
264 | 35 | Amministratore Truelite | cd asterisk-addons-1.4.* |
265 | ./configure |
||
266 | 23 | Amministratore Truelite | #make menuconfig |
267 | make |
||
268 | make install |
||
269 | </pre> |
||
270 | 36 | Simone Piccardi | |
271 | 23 | Amministratore Truelite | e si potranno poi generare anche gli esempi di configurazione con: |
272 | 36 | Simone Piccardi | |
273 | 1 | Amministratore Truelite | <pre> |
274 | 35 | Amministratore Truelite | make samples |
275 | 26 | Amministratore Truelite | </pre> |
276 | 35 | Amministratore Truelite | |
277 | 26 | Amministratore Truelite | 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: |
278 | 36 | Simone Piccardi | |
279 | 35 | Amministratore Truelite | <pre> |
280 | 26 | Amministratore Truelite | asterisk -rvvv |
281 | 35 | Amministratore Truelite | </pre> |
282 | 29 | Amministratore Truelite | |
283 | 36 | Simone Piccardi | h2. Applicazioni aggiuntive |
284 | 35 | Amministratore Truelite | |
285 | 36 | Simone Piccardi | Una applicazione esterna piuttosto utile se si ha un indirizzario su LDAP è @app_ldap@, che si può scaricare da http://www.mezzo.net/asterisk, essa infatti consente di eseguire delle interrogazioni ad un server LDAP così da poter associare ad un numero di telefono un nome in maniera automatica. L'installazione è banale, occorre eseguire i seguenti comandi: |
286 | 35 | Amministratore Truelite | |
287 | <pre> |
||
288 | wget http://www.mezzo.net/asterisk/app_ldap-2.0rc1.tgz |
||
289 | 1 | Amministratore Truelite | tar -xvzf app_ldap-2.0rc1.tgz |
290 | cd app_ldap-* |
||
291 | make |
||
292 | make install |
||
293 | </pre> |
||
294 | 36 | Simone Piccardi | |
295 | 35 | Amministratore Truelite | per la configurazione si consulti [[AsteriskConfig]]. |