AsteriskConfig » Cronologia » Versione 30
Simone Piccardi, 22-12-2010 20:13
1 | 30 | Simone Piccardi | h1. Configurare Asterisk & C su Debian |
---|---|---|---|
2 | 1 | Amministratore Truelite | |
3 | |||
4 | 30 | Simone Piccardi | Questo documento copre la configurazione di Asterisk (nella versione 1.4) e di tutte le applicazione correlate su una Debian (Etch e Lenny al momento della stesura), e dà per scontato che si sia già effettuata l'installazione di tutto il software necessario, con una procedura equivalente a quella già illustrata in dettaglio in [[AsteriskDebian|qui]]. Salvo diversa indicazione esplicita, quando faremo riferimento a nomi di file si intenderanno indicati a partire dalla directory @/etc/asterisk@ che contiene tutte le configurazioni del programma. |
5 | 1 | Amministratore Truelite | |
6 | Il primo passo per la realizzazione di un centralino telefonico basato su Asterisk è quello che riguarda la configurazione del supporto delle schede di telefonia (che questa sia un PSTN tradizionale, ISDN o un flusso primario) con cui il programma si interfaccia. Questo ovviamente dipende dal tipo di hardware che si utilizza, ed in molti casi esistono anche diversi supporti alternativi per lo stesso hardware. |
||
7 | 29 | Amministratore Truelite | |
8 | 30 | Simone Piccardi | Tratteremo qui due diversi supporti, quello per le schede ISDN fornite da "mISDN":http://www.misdn.org e quello delle varie schede telefoniche supportate direttamente da Asterisk stesso tramite il modulo @zaptel@. L'installazione dei relativi supporti è già stata trattata, qui prenderemo in esame solo la relativa configurazione. In entrambi i casi occorrerà prima configurare il supporto stesso, e poi istruire Asterisk per l'uso dello stesso. |
9 | 1 | Amministratore Truelite | |
10 | 30 | Simone Piccardi | h2. Configurazione per l'uso di "mISDN":http://www.misdn.org |
11 | 29 | Amministratore Truelite | |
12 | 30 | Simone Piccardi | Nel caso di "mISDN":http://www.misdn.org abbiamo visto come uno scheletro di configurazione (che in genere può essere utilizzato senza modifiche) viene generato direttamente con il comando @mISDN config@, ma alternativamente si può usare anche il comando @misdn-init config@ che utilizza la vecchia sintassi. In questo caso vengono creati rispettivamente i due file @/etc/mISDN.conf@ e @/etc/misdn-init.conf@ che poi verranno riutilizzati anche dalla configurazione di Asterisk per l'uso del canale @chan_misdn@. I due file sono equivalenti e mantengono la stessa informazione, il vecchio @/etc/misdn-init.conf@ è un semplice file di testo con assegnazione di variabili, nel caso di una semplice scheda ISDN questo ha la forma: |
13 | 29 | Amministratore Truelite | |
14 | 1 | Amministratore Truelite | <pre> |
15 | 29 | Amministratore Truelite | card=1,hfcpci |
16 | 1 | Amministratore Truelite | te_ptmp=1 |
17 | poll=128 |
||
18 | dsp_poll=128 |
||
19 | 3 | Amministratore Truelite | dsp_options=0 |
20 | dtmfthreshold=100 |
||
21 | debug=0 |
||
22 | </pre> |
||
23 | 30 | Simone Piccardi | |
24 | 29 | Amministratore Truelite | mentre nel caso di due schede multiporta è: |
25 | 30 | Simone Piccardi | |
26 | 29 | Amministratore Truelite | <pre> |
27 | 1 | Amministratore Truelite | card=1,0x8 |
28 | card=2,0x8 |
||
29 | te_ptmp=1,2,3,4,5,6,7,8 |
||
30 | nt_ptp=9,10,11,12,13,14,15,16 |
||
31 | 3 | Amministratore Truelite | poll=128 |
32 | 1 | Amministratore Truelite | dsp_poll=128 |
33 | dsp_options=0 |
||
34 | 3 | Amministratore Truelite | dtmfthreshold=100 |
35 | debug=0 |
||
36 | </pre> |
||
37 | |||
38 | 30 | Simone Piccardi | in particolare sono fondamentali le indicazioni delle schede con la direttiva @card@, nella forma di un numero progressivo seguito dall'indicazione del tipo di scheda, che prevede o l'indicazione in esadecimale del numero di porte o quella dal driver da usare; seguite dalle direttive @te_ptmp@ e @nt_ptp@ che indicano (per le schede che lo supportano) quali porte, che vengono numerate progressivamente nella sequenza delle schede, sono da porre rispettivamente in modalità TE (da _TErminal mode_), in modalità NT (da _Network Terminator mode_). |
39 | |||
40 | 1 | Amministratore Truelite | Quello della modalità di uso delle porte è uno dei passi fondamentali per la configurazione di un centralino, specie nel caso si usino schede multiporta. Si deve tenere presente che una porta in modalità TE consente di collegarsi ad un terminale di rete (vale a dire ad una borchia ISDN), mentre una porta in modalità NT consente il collegamento ad essa di un terminale, come un centralino telefonico classico o un telefono ISDN. L'uso delle modalità PTP (_point to point_) o PTMP (_point to multi point_) dipende anche questo da come si esegue il collegamento (vedi XXX). |
41 | 29 | Amministratore Truelite | |
42 | 30 | Simone Piccardi | Nelle ultime versioni di mISDN il file @/etc/misdn-init.conf@ può essere sostituito da @/etc/mISDN.conf@, che è in formato XML e pertanto, almeno per quanto riguarda i miei gusti personali, praticamente illeggibile, in questo caso i due esempi precedenti vengono tradotti in qualcosa del tipo: |
43 | |||
44 | 1 | Amministratore Truelite | <pre> |
45 | 29 | Amministratore Truelite | <?xml version="1.0"?> |
46 | 1 | Amministratore Truelite | <mISDNconf> |
47 | 2 | Amministratore Truelite | <module poll="128" debug="0" timer="no">hfcmulti</module> |
48 | <module debug="0" options="0">mISDN_dsp</module> |
||
49 | <devnode user="root" group="root" mode="644">mISDN</devnode> |
||
50 | <card type="hfcpci"> |
||
51 | <port mode="te" link="ptmp">1</port> |
||
52 | 1 | Amministratore Truelite | </card> |
53 | 3 | Amministratore Truelite | </mISDNconf> |
54 | </pre> |
||
55 | 30 | Simone Piccardi | |
56 | 29 | Amministratore Truelite | per il primo caso, mentre per il secondo: |
57 | 30 | Simone Piccardi | |
58 | 29 | Amministratore Truelite | <pre> |
59 | 3 | Amministratore Truelite | <?xml version="1.0"?> |
60 | <mISDNconf> |
||
61 | <module poll="128" debug="0" timer="no">hfcmulti</module> |
||
62 | <module debug="0" options="0">mISDN_dsp</module> |
||
63 | <devnode user="root" group="root" mode="644">mISDN</devnode> |
||
64 | <card type="BN8S0"> |
||
65 | <port mode="te" link="ptmp">1</port> |
||
66 | <port mode="te" link="ptmp">2</port> |
||
67 | <port mode="te" link="ptmp">3</port> |
||
68 | <port mode="te" link="ptmp">4</port> |
||
69 | 1 | Amministratore Truelite | <port mode="te" link="ptmp">5</port> |
70 | <port mode="te" link="ptmp">6</port> |
||
71 | <port mode="te" link="ptmp">7</port> |
||
72 | <port mode="te" link="ptmp">8</port> |
||
73 | </card> |
||
74 | <card type="BN8S0"> |
||
75 | <port mode="nt" link="ptm">1</port> |
||
76 | <port mode="nt" link="ptm">2</port> |
||
77 | <port mode="nt" link="ptm">3</port> |
||
78 | <port mode="nt" link="ptm">4</port> |
||
79 | <port mode="nt" link="ptm">5</port> |
||
80 | <port mode="nt" link="ptm">6</port> |
||
81 | <port mode="nt" link="ptm">7</port> |
||
82 | 8 | Amministratore Truelite | <port mode="nt" link="ptm">8</port> |
83 | 1 | Amministratore Truelite | </card> |
84 | </mISDNconf> |
||
85 | </pre> |
||
86 | |||
87 | 30 | Simone Piccardi | Si noti però come in questa seconda forma diventa possibile specificare, oltre alle impostazioni della scheda, quelle relative a permessi e proprietari del file di dispositivo @/dev/mISDN@ con cui Asterisk accede alla scheda (si dovrà aver cura che il programma possa leggere e scrivere su di esso). |
88 | 29 | Amministratore Truelite | |
89 | 30 | Simone Piccardi | Il passo successivo è quello della configurazione di Asterisk per l'uso di @chan_misdn@, che viene effettuata tramite il @file misdn.conf@, che come tutti i file di configurazione di Asterisk ha il formato dei file @.ini@ di Windows. Il file prevede una sezione @[general]@ dove impostare le configurazioni generali del sistema, in cui le due chiavi da modificare eventualmente possono essere @misdn_init@ per indicare quale file contiene le configurazioni di mISDN e @debug@ che può essere impostata ad un valore più alto del default di zero per ottenere maggiori informazioni in caso di problemi. |
90 | 29 | Amministratore Truelite | |
91 | 30 | Simone Piccardi | Una seconda sezione @[default]@ consente di impostare una serie di valori di default da applicare a tutte le porte che si utilizzano, qui si può impostare @language@ per indicare il proprio paese o @context@ per impostare il contesto di default. Due chiavi importanti sono @nationalprefix@ e @internationalprefix@ che prendono rispettivamente il prefisso per i numeri nazionali e per quelli internazionali. A parte questi eventuali cambiamenti, si possono lasciare tutti gli altri valori al default impostato dall'installazione di Asterisk. |
92 | 29 | Amministratore Truelite | |
93 | 30 | Simone Piccardi | Per ogni porta o gruppo di porte per cui si vogliono mantenere configurazioni separate si dovrà poi aprire una sezione separata, in tal caso si dovrà indicare con @ports@ l'elenco, separate da virgole, delle porte, con gli stessi numeri usati nei file @/etc/mISDN.conf@ e @/etc/misdn-init.conf@. Qui di nuovo si dovrà impostare un contesto (da riutilizzare in @extensions.conf@) con @context@. |
94 | 29 | Amministratore Truelite | |
95 | 30 | Simone Piccardi | Per verificare che la configurazione sia corretta e che Asterisk riconosca le schede ISDN si può collegare le stesse ad un apparato, avendo cura di rispettare la modalità scelta (cioè agganciare un telefono ad una porta NT ed una borchia ad una porta TE) dopo di che si potrà controllare che la connessione sia attiva eseguendo dalla console di Asterisk il comando misdn show stacks, così nel caso di un semplice modem ISDN si avrà qualcosa del tipo: |
96 | |||
97 | 26 | Amministratore Truelite | <pre> |
98 | 29 | Amministratore Truelite | parker*CLI> misdn show stacks |
99 | BEGIN STACK_LIST: |
||
100 | 26 | Amministratore Truelite | ** Port 1 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
101 | </pre> |
||
102 | 30 | Simone Piccardi | |
103 | mentre nella configurazione con due schede OctoBRI si avrà: |
||
104 | |||
105 | 1 | Amministratore Truelite | <pre> |
106 | hancock*CLI> misdn show stacks |
||
107 | 29 | Amministratore Truelite | BEGIN STACK_LIST: |
108 | ** Port 1 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
||
109 | 1 | Amministratore Truelite | ** Port 2 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
110 | ** Port 3 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
||
111 | 29 | Amministratore Truelite | ** Port 4 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
112 | ** Port 5 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
||
113 | 1 | Amministratore Truelite | ** Port 6 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
114 | 29 | Amministratore Truelite | ** Port 7 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
115 | 1 | Amministratore Truelite | ** Port 8 Type TE Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
116 | 29 | Amministratore Truelite | ** Port 9 Type NT Prot. PMP L2Link UP L1Link:UP Blocked:0 Debug:1 |
117 | 1 | Amministratore Truelite | ** Port 10 Type NT Prot. PMP L2Link UP L1Link:UP Blocked:0 Debug:1 |
118 | ** Port 11 Type NT Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
||
119 | 29 | Amministratore Truelite | ** Port 12 Type NT Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
120 | ** Port 13 Type NT Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
||
121 | ** Port 14 Type NT Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
||
122 | 1 | Amministratore Truelite | ** Port 15 Type NT Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
123 | ** Port 16 Type NT Prot. PMP L2Link DOWN L1Link:DOWN Blocked:0 Debug:1 |
||
124 | 29 | Amministratore Truelite | </pre> |
125 | 1 | Amministratore Truelite | |
126 | 30 | Simone Piccardi | Per le chiamate entranti può essere necessario impostare @always_immediate=yes@ se si vuole usare all'interno di @extensions.conf@ la normale estensione @s@ nel contesto relativo alle chiamate ricevute. Se si lascia il default infatti verrà usata come estensione il valore del numero che viene chiamato; questo significa che nel contesto di @extensions.conf@ non si potrà usare @s@ come valore di default, ma si dovrà impostare un catchall generico con qualcosa del tipo: |
127 | |||
128 | 29 | Amministratore Truelite | <pre> |
129 | exten => _.,1,Goto(mainmenu,s,1) |
||
130 | 1 | Amministratore Truelite | </pre> |
131 | 30 | Simone Piccardi | |
132 | 29 | Amministratore Truelite | che corrisponde ad un numero qualunque. |
133 | 1 | Amministratore Truelite | |
134 | 30 | Simone Piccardi | Infine essendo possibile avere più numeri sulla stessa porta ISDN, si può usare la chiave @msns@ per indicare per quali dei possibili numeri si intende operare, da specificare con una lista separata da virgole, o con un * (il default) per indicarli tutti. Se si specifica un numero per questa opzione e si effettua la chiamata su un altro il centralino ignorerà la chiamata, in questo modo ad esempio si potrà agganciare al canale analogico assegnato a quel numero un altro dispositivo, come un fax, senza che Asterisk intervenga sulle relative chiamate. |
135 | 29 | Amministratore Truelite | |
136 | 30 | Simone Piccardi | Si tenga presente che i numeri da specificare per @msns@ normalmente non riportano lo 0 iniziale rispetto al numero telefonico attestato sulla linea; si possono comunque vedere quali sono i numeri che vengono visti da Asterisk abilitando il debug (con @debug=1@) e verificando nella console di Asterisk (da accedere con @asterisk -rvvv@) il contenuto di messaggi del tipo: |
137 | |||
138 | 9 | Amministratore Truelite | <pre> |
139 | P[ 1] channel with stid:0 for one second still in use! |
||
140 | 29 | Amministratore Truelite | P[ 1] I IND :NEW_CHANNEL oad:3471032433 dad:557879597 pid:2 state:none |
141 | </pre> |
||
142 | 9 | Amministratore Truelite | |
143 | 30 | Simone Piccardi | dove il campo @dad@ (nel messaggio marcato @NEW_CHANNEL@) indica il numero come deve essere indicato per @msns@. |
144 | |||
145 | 16 | Amministratore Truelite | Un esempio del contenuto del file, in cui si sono mostrate solo le parti modificate rispetto all'installazione standard, potrebbe essere il seguente: |
146 | 30 | Simone Piccardi | |
147 | 1 | Amministratore Truelite | <pre> |
148 | 9 | Amministratore Truelite | [general] |
149 | misdn_init=/etc/misdn-init.conf |
||
150 | debug=1 |
||
151 | 17 | Amministratore Truelite | ... |
152 | 9 | Amministratore Truelite | [default] |
153 | context=default |
||
154 | 7 | Amministratore Truelite | language=it |
155 | echocancel=yes |
||
156 | 18 | Amministratore Truelite | ... |
157 | [isdn] |
||
158 | ports=1 |
||
159 | 29 | Amministratore Truelite | context=misdn |
160 | 18 | Amministratore Truelite | ;always_immediate=yes |
161 | 1 | Amministratore Truelite | msns=557879597 |
162 | 29 | Amministratore Truelite | </pre> |
163 | |||
164 | 30 | Simone Piccardi | h2. Configurazione per l'uso di _zaptel_ |
165 | 1 | Amministratore Truelite | |
166 | 30 | Simone Piccardi | La configurazione di una scheda che richiede l'uso dei moduli forniti da _zaptel_ (una volta che si siano compilati ed installati gli stessi, e selezionati quelli da utilizzare con la procedura illustrata in [[AsteriskDebian]]) parte dalla configurazione dei moduli stessi da fare nel file @/etc/zaptel.conf@. Una volta che si siano indicati i moduli giusti questo può essere generato con il comando @genzaptelconf@, che si incarica di rilevare automaticamente la tipologia degli stessi, ad esempio avendo due moduli FXO e due FXS su una TDM400P si otterrà automaticamente un contenuto del tipo: |
167 | 1 | Amministratore Truelite | |
168 | <pre> |
||
169 | 29 | Amministratore Truelite | # Autogenerated by /usr/sbin/genzaptelconf -- do not hand edit |
170 | # Zaptel Configuration File |
||
171 | 1 | Amministratore Truelite | # |
172 | # This file is parsed by the Zaptel Configurator, ztcfg |
||
173 | # |
||
174 | 18 | Amministratore Truelite | |
175 | # It must be in the module loading order |
||
176 | |||
177 | |||
178 | 23 | Amministratore Truelite | # Span 1: WCTDM/0 "Wildcard TDM400P REV I Board 1" |
179 | fxsks=1 |
||
180 | fxsks=2 |
||
181 | fxoks=3 |
||
182 | 1 | Amministratore Truelite | fxoks=4 |
183 | |||
184 | # Global data |
||
185 | |||
186 | loadzone = it |
||
187 | defaultzone = it |
||
188 | </pre> |
||
189 | 29 | Amministratore Truelite | |
190 | 30 | Simone Piccardi | (se si è nella localizzazione corretta, altrimenti si dovrà provvedere a correggere i valori dei parametri @loadzone@ e @defaultzone@); si noti come nella configurazione i ruoli fra i moduli ed i nomi siano invertiti, se sono moduli FXO si deve usare @fxsks@, se sono FXS si deve usare @fxoks@. |
191 | |||
192 | Una volta configurati i moduli, è necessario configurare Asterisk con il file @zapata.conf@, qui devono essere indicati per i vari canali disponibili sulla scheda i contesti a cui fare riferimento, e le varie impostazioni in uscita, per gli FXO ed il contesto di ingresso per gli FXS, un esempio di questo file per la TDM400P con la precedente configurazione è il seguente: |
||
193 | |||
194 | 1 | Amministratore Truelite | <pre> |
195 | [channels] |
||
196 | |||
197 | language=it |
||
198 | |||
199 | 23 | Amministratore Truelite | signalling=fxo_ks |
200 | 1 | Amministratore Truelite | echocancel=yes ; You can set this to 32, 64, or 128, tweak to your needs. |
201 | 23 | Amministratore Truelite | echocancelwhenbridged=yes |
202 | 1 | Amministratore Truelite | echotraining=yes ; Asterisk trains to the beginning of the call, number is in ms |
203 | 23 | Amministratore Truelite | group=1 |
204 | 1 | Amministratore Truelite | context=truelite-firenze ; Points to the default context of your extensions.conf |
205 | callerid=<101> |
||
206 | mailbox = 101 |
||
207 | channel => 4 |
||
208 | 23 | Amministratore Truelite | |
209 | signalling=fxs_ks |
||
210 | 1 | Amministratore Truelite | relaxdtmf=yes |
211 | echocancel=yes |
||
212 | echocancelwhenbridged=yes |
||
213 | echotraining=yes |
||
214 | group=2 |
||
215 | rxgain=6.0 |
||
216 | context=incoming-pstn |
||
217 | callprogress=yes |
||
218 | 10 | Amministratore Truelite | busydetect=yes |
219 | 1 | Amministratore Truelite | callerid=asreceived |
220 | 13 | Amministratore Truelite | usecallerid=yes |
221 | 1 | Amministratore Truelite | hidecallerid=no |
222 | 12 | Amministratore Truelite | threewaycalling=yes |
223 | 29 | Amministratore Truelite | transfer=yes |
224 | 12 | Amministratore Truelite | channel => 1-2 |
225 | 1 | Amministratore Truelite | </pre> |
226 | 29 | Amministratore Truelite | |
227 | 30 | Simone Piccardi | h2. Configurazione dei telefoni SIP |
228 | 1 | Amministratore Truelite | |
229 | |||
230 | 30 | Simone Piccardi | Questa configurazione prevede due parti; la prima è relativa al supporto SIP di Asterisk, che si effettua tramite il file @sip.conf@. In questo caso occorre prima configurare la sezione @[general]@ per i valori generici e poi impostare i vari account SIP usati dai telefoni, di nuovo si possono mantenere i valori di default, le chiavi che eventualmente si possono modificare sono: |
231 | 29 | Amministratore Truelite | |
232 | 30 | Simone Piccardi | |_.Chiave|_.Default|_.Significato| |
233 | |@context@ |@default@|contesto per le chiamate SIP| |
||
234 | |@bindport@|@5060@|porta su cui contattare il server SIP| |
||
235 | |@bindaddr@|@0.0.0.0@|indirizzo IP del server SIP| |
||
236 | 1 | Amministratore Truelite | |
237 | |||
238 | Per ciascun account SIP si dovrà poi creare una sezione, in cui impostare tutti i parametri, con qualcosa del tipo: |
||
239 | 30 | Simone Piccardi | |
240 | 24 | Amministratore Truelite | <pre> |
241 | 1 | Amministratore Truelite | [piccardi] |
242 | type=friend ; either "friend" (peer+user), "peer" or "user" |
||
243 | 24 | Amministratore Truelite | mailbox=104 ; mailbox 104 in voicemail, or 104@default for context "default" |
244 | 1 | Amministratore Truelite | username=piccardi ; username usually matches the section title |
245 | 24 | Amministratore Truelite | secret=pwdultrasec ; a password to connect to server |
246 | 29 | Amministratore Truelite | host=dynamic ; or the IP for static but private IP address |
247 | context=truelite-firenze ; context for calls |
||
248 | 24 | Amministratore Truelite | Callgroup=1 |
249 | 29 | Amministratore Truelite | pickupgroup=1 |
250 | </pre> |
||
251 | 1 | Amministratore Truelite | |
252 | 30 | Simone Piccardi | fatto questo occorrerà impostare i singoli telefoni VoIP per utilizzare il relativo account, questo dipende ovviamente dal tipo di telefono e dal modello, ed in genere viene fatto tramite l'interfaccia web degli stessi. |
253 | 1 | Amministratore Truelite | |
254 | 24 | Amministratore Truelite | |
255 | 30 | Simone Piccardi | h2. Configurazione per effettuare chiamate SIP da dietro un NAT |
256 | 1 | Amministratore Truelite | |
257 | 30 | Simone Piccardi | Una seconda configurazione è quella che invece consente di utilizzare asterisk per effettuare chiamate usando il protocollo SIP verso l'eterno, ad esempio se si vuole effettuare una chiamata verso un account SIP di utenti noti, o si vuole usare ENUM (vedi prossimo paragrafo) per contattare direttamente un recapito usando questo protocollo. In generale per effettuare una chiamata con il protocollo SIP verso un account remoto è sufficiente usare l'applicazione Dial in @extension.conf@, con una sintassi del tipo: |
258 | 1 | Amministratore Truelite | |
259 | 24 | Amministratore Truelite | <pre> |
260 | exten => XXX,N,Dial(SIP/user@host.name.com) |
||
261 | 29 | Amministratore Truelite | </pre> |
262 | 30 | Simone Piccardi | |
263 | 24 | Amministratore Truelite | che girerà via SIP la chiamata. Il problema è che il protocollo non funziona bene quando il client è posto dietro un firewall che effettua una traslazione degli indirizzi (il NAT) come avviene comunemente per un centralino posto nella propria rete interna. |
264 | |||
265 | 30 | Simone Piccardi | Per far sì che le chiamate SIP abbiano successo allora è necessario istruire Asterisk per gestire la presenza di un NAT, questo comporta che si deve modificare @sip.conf@ per indicare quale è l'indirizzo IP con cui si esce su internet dopo il NAT e quale è la rete locale su cui si trova il centralino. Per farlo occorre allora inserire nella sezione @[general]@ di detto file le seguenti configurazioni |
266 | |||
267 | 29 | Amministratore Truelite | <pre> |
268 | 15 | Amministratore Truelite | externip = MIO.IND.IP.PUBB |
269 | localnet=192.168.1.0/24 |
||
270 | nat=yes |
||
271 | 29 | Amministratore Truelite | </pre> |
272 | 15 | Amministratore Truelite | |
273 | 30 | Simone Piccardi | h2. Configurazione per la selezione automatica delle chiamate in uscita con ENUM |
274 | 29 | Amministratore Truelite | |
275 | 30 | Simone Piccardi | Una delle caratteristiche più interessanti di Asterisk è quella del supporto per il protocollo ENUM che consente, con una interrogazione ad un apposito servizio basato sul DNS, di farsi indicare la presenza di una eventuale mappatura fra un numero telefonico ordinario ed un account VoIP, in modo da poter automatizzare l'uso di chiamate SIP o IAX verso certi numeri senza dover prevedere una esplicita mappatura dentro @extension.conf@. |
276 | 15 | Amministratore Truelite | |
277 | DA FARE |
||
278 | |||
279 | 30 | Simone Piccardi | h2. Configurazione di app_ldap |
280 | 29 | Amministratore Truelite | |
281 | 30 | Simone Piccardi | Una volta installata l'applicazione secondo quanto illustrato in [[AsteriskDebian]] questa sarà disponibile automaticamente se, come ordinario, si è impostato @autoload=yes@ in @modules.conf@. L'applicazione definisce la funzione @LDAPget@, che consente di effettuare interrogazioni nella forma: |
282 | 29 | Amministratore Truelite | |
283 | <pre> |
||
284 | 30 | Simone Piccardi | exten => s,1,LDAPget(CIDNAME=interno) |
285 | </pre> |
||
286 | 29 | Amministratore Truelite | |
287 | 30 | Simone Piccardi | dove @CIDNAME@ è una variabile che verrà impostata al risultato della interrogazione identificata dalla sezione esterno nel file di configurazione di @app_ldap@, questo è il file @ldap.conf@, che prevede la possibilità di definire una serie di query su LDAP corrispondenti ad altrettante sezioni del file: |
288 | 29 | Amministratore Truelite | |
289 | 27 | Amministratore Truelite | <pre> |
290 | [interno] |
||
291 | host = localhost ; hostname server LDAP |
||
292 | version = 3 ; LDAP version, must be 3 |
||
293 | user = ; DN for binding, empty to anonymous bind |
||
294 | pass = ; password for binding |
||
295 | base = ou=Contacts,dc=truelite,dc=it ; search base |
||
296 | filter = (&(objectClass=person)(companyPhone=%s)) ; search filter |
||
297 | attribute = cn ; search result |
||
298 | 29 | Amministratore Truelite | convert = UTF-8, ISO-8859-1 |
299 | </pre> |
||
300 | 27 | Amministratore Truelite | |
301 | 30 | Simone Piccardi | le varie variabili sono commentate, in generale non serve eseguire un collegamento autenticato (posto che l'indirizzario sia interrogabile in maniera anonima); l'attributo indicato da attribute che corrisponde al primo risultato del filtro di ricerca sarà assegnato alla variabile specificata nella chiamata a @LDAPget@. |
302 | 27 | Amministratore Truelite | |
303 | 30 | Simone Piccardi | Si tenga presente che l'applicazione non supporta SSL, per cui se necessario occorrerà impostare un tunnel con @stunnel@ per eseguire un collegamento cifrato. |
304 | 27 | Amministratore Truelite | |
305 | 30 | Simone Piccardi | h2. Configurazione di un fax _pass-trough_ |
306 | 28 | Amministratore Truelite | |
307 | 30 | Simone Piccardi | Nella versione 1.4 Asterisk non supporta la ricezione dei fax, è però possibile configurare la modalità di trasmissione degli stessi in passaggio attraverso una chiamata SIP, in modo da poterli inviare ad un convertitore VoIP/PSTN cui attaccare un ricevitore fax con una normale linea analogica. |
308 | 29 | Amministratore Truelite | |
309 | 30 | Simone Piccardi | La configurazione richiede anzitutto che si specifichi l'uso della modalità _pass-trough_ nella configurazione generale degli account SIP (non può essere indicata nelle sezioni dei singoli account), si deve cioè avere qualcosa del genere in @sip.conf@: |
310 | 29 | Amministratore Truelite | |
311 | <pre> |
||
312 | 27 | Amministratore Truelite | [general] |
313 | 28 | Amministratore Truelite | ... |
314 | t38pt_udptl = yes |
||
315 | 27 | Amministratore Truelite | ... |
316 | 29 | Amministratore Truelite | </pre> |
317 | 1 | Amministratore Truelite | |
318 | Inoltre in molti casi si possono avere dei timeout o errori nella connessione al convertitore, pertanto è consigliata la seguente configurazione per l'accont SIP cui è collegato il fax: |
||
319 | 30 | Simone Piccardi | |
320 | 1 | Amministratore Truelite | <pre> |
321 | [fax] |
||
322 | context=internal |
||
323 | type=friend |
||
324 | dtmfmode=inband |
||
325 | host=dynamic |
||
326 | canreinvite=no |
||
327 | insecure=port |
||
328 | disallow=all |
||
329 | allow=alaw |
||
330 | 29 | Amministratore Truelite | allow=ulaw |
331 | 1 | Amministratore Truelite | </pre> |