Oggi iniziamo con la configurazione di Asterisk e precisamente con il file sip.conf. In questo archivio sono presenti tutti i parametri per connettere interni e troncali (VoIP provider) usando il protocollo SIP. In Asterisk sono presenti diversi protocolli per connettere interni e troncali. I più usati sono sicuramente SIP e IAX2. Del secondo parleremo in un successivo momento.
Il sip.conf è diviso in tre parti:
In questo articolo vedremo come configurare la parte generale. Ogni linea indica un parametro presente nel sip.conf e la vedrete in neretto. Dopo il punto e virgola inizierá una breve descrizione del parametro stesso. Alla fine di questo articolo verrà riassunto il blocco della configurazione della parte generale.
Prima di tutto apriamo il file con il nostro editor di testi preferito:
cd /etc/asterisk
nano sip.conf
[general] ; indica l’inizio della parte generale
context=default ; i contesti sono usati al momento della costruzione del dialplan. In base ai contesti gli interni avranno accesso a determinate parti del dialplan. Per motivi di sicurezza è bene che questo contesto abbia accesso solo alle chiamate tra gli interni in modo da evitare che eventuali intrusi abbiano accesso alle troncali per effettuare chiamate nazionali e internazionali
allowguest=no ; qui decidiamo se dare o no acccesso a chiamte provenienti da programmi/interni non registrati sul nostro centralino. Per adesso settiamolo su no
allowtransfer=yes ; permettiamo il trasferimento delle chiamate. Valido per tutti gli interni/troncali se non diversamente configurato per ogni singolo interno/troncale
realm=mio.dominio.com ; il nome del dominio che useremo per la creazione delle password (per interni e troncali) usando l’algoritmo MD5 e il parametro md5secret nella configurazione dei singoli interni/troncali.
bindport=5060 ; la porta UDP sulla quale asterisk si pone in ascolto per le connessioni di interni/troncali
bindaddr=xxx.xxx.xxx.xxx ; l’indirizzo IP usato da asterisk. Se sul nostro computer/server remoto sono presenti più di un indirizzo IP possiamo decidere se Asterisk debba accettare le connessioni su tutti (bindaddr=0.0.0.0) o solamente su un IP specifico
;tcpenable=no ; se vogliamo che asterisk usi anche il protocollo TCP per accettare connessioni lo abilitiamo (io non lo uso)
;tcpbindaddr=0.0.0.0 ; come bindaddr ma per il TCP (porta di default 5060)
Segue tutta una parte dedicata all’uso del protocollo TLS (crittografia) rendendo le comunicazioni più sicure. È ancora in fase sperimentale.
srvlookup=yes ; Abillita il controllo dei DNS per le chiamate uscenti
tos_sip=cs3
tos_audio=ef
tos_video=af41
tos_text=af41
cos_sip=3
cos_audio=5
cos_video=4
cos_text=3
; tutto il blocco qui sopra setta il QoS (quality of service). In pratica serve per fare in modo que i pacchetti di segnalizzazione SIP e i pacchetti RTP (audio/video) abbiamo precedenza su tutti gli altri generati dalla rete. In questo modo garantiamo che le conversazioni audio e le videochiamate non siano soggetti a ritardi che ne compromettano la qualità.
maxexpiry=3600 ; tempo massimo per le registrazioni degli interni o alle troncali (in secondi)
minexpiry=60 ; come sopra però definisce il tempo minimo
defaultexpiry=120 ; tempo predefinito per una registrazione (in secondi)
qualifyfreq=60 ; Ogni quanti secondi si controlla se un interno/troncale è attivo. Invia una specie di ping per vedere se è in linea
disallow=all ; disabilita tutti i codec audio e video
allow=ulaw ; abilita il codec audio ulaw (G711)
allow=alaw ; abilita il codec audio alaw (G711)
mohinterpret=default ; musica in attesa predefinita (se non diversamente indicato per ogni singolo interno)
mohsuggest=default ; musica in attesa per un canale quando pone in attesa una “peer”. Vedremo la differenza fra peer, user e friend al momento di configurare gli interni e le troncali
language=it ; se non diversamente specifica per ogni singolo interno, i prompt (le voci) usate saranno quelle in italiano (se installate)
useragent=Asterisk PBX ; Con questo nome si presenterà asterisk al momento di negoziare con gli interni, troncali. Alcuni provider SIP non permettono l’uso del servizio attraverso asterisk ma solo con telefoni IP, softphone. In questi casi può essere utile cambiare questo parametro mettendo, per esempio X-Lite
videosupport=yes ; con questo parametro attiviamo la possibilità di effettuare videochiamate
maxcallbitrate=384 ; quantità massima di banda utilizzabile per una videochiamata (espresso in kb/s)
callevents=yes ; se impostato tutti gli eventi (chiamate, trasferimenti, messa in attesa verranno comunicati al Asterisk Manager. Questo permetterà ad alcuni programmi, tipo FOP, di poter monitorare tutti gli interni e le troncali configurate sul centralino
alwaysauthreject = yes ; quando qualcuno cerca di connettersi a un interno esistente sbagliando la password non verrà comunicato se l'interno esiste o no e la risposta sarà la stessa usata per un interno inesistente. Questo aumenta la sicurezza di asterisk da alcuni tipi di attacchi che cercano di trovare numeri interni esistenti per poi, attraverso diversi metodi, riuscire a trovare la password di quel determinato interno.
allowsubscribe=yes ; Nel protocollo sip è presente un comando che permette di sapere lo stato di un interno. Questo parametro permette l’uso di questo comando. In questo modo possiamo sapere sempre cosa sta facendo l’altro interno (per esempio inserendolo nella lista di contatti di x-lite)
subscribecontext = subscribe ; solo gli interni che hanno accesso a questo contesto potranno conoscere lo stato degli interni
notifyringing = yes ; Vedremo se l’interno sta squillano
notifyhold = yes ; se l’’interno è messo in attesa
t38pt_udptl = yes per attivare la possibilità di ricevere, inviare fax da un interno a un altro. Il software/hardware degli interni deve supportare questo protocollo
Ci sono altri parametri che possono essere configurati. Potete vedere la lista completa nel file sip.conf. A questo punto nella parte generale avremo qualcosa del genere:
general
context=default
allowguest=no
allowtransfer=no
realm=mio.dominio.com
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
tos_sip=cs3
tos_audio=ef
tos_video=af41
tos_text=af41
cos_sip=3
cos_audio=5
cos_video=4
cos_text=3
maxexpiry=3600
minexpiry=60
defaultexpiry=120
qualifyfreq=60
mohinterpret=default
disallow=all
allow=ulaw
allow=alaw
mohinterpret=default
mohsuggest=default
language=it
useragent=Asterisk PBX
videosupport=yes
maxcallbitrate=384
callevents=yes
alwaysauthreject=yes
allowsubscribe=yes
subscribecontext = subscribe
notifyringing = yes
notifyhold = yes
t38pt_udptl = yes
Nel prossimo articolo vedremo come configurare troncali, connessioni a altri server asterisk e, in generale, a altri server esterni.
Commenti recenti
2 settimane 6 giorni fa
3 settimane 3 giorni fa
3 settimane 4 giorni fa
4 settimane 4 giorni fa
5 settimane 12 ore fa
7 settimane 4 giorni fa
7 settimane 5 giorni fa
8 settimane 3 giorni fa
8 settimane 3 giorni fa
9 settimane 5 giorni fa