Differenze tra le versioni di "Asterisk configurazione"
Riga 172: | Riga 172: | ||
Per ricaricare la configurazione: si usano i comandi visti in [[Asterisk_installazione_base precedenza]]: sip reload, dialplan reload . | Per ricaricare la configurazione: si usano i comandi visti in [[Asterisk_installazione_base precedenza]]: sip reload, dialplan reload . | ||
− | '''Attenzione, ci | + | '''Attenzione, ci potrebbero essere problemi di registrazione sul provider esterno, vedi [[Debug di Asterisk]].''' |
Versione attuale delle 21:31, 15 mag 2013
Per ampliare le funzionalità di Asterisk è possibile aggiungere degli interni ed anche un numero voip per l'interfacciamento con la rete telefonica tradizionale (registrazione gratuita ad esempio messagenet.it, viene assegnato un numero geografico è ed possibile da subito ricevere chiamate, va ricaricato un minimo di credito per effettuarle).
I files di configurazione si trovano nella dir /etc/asterisk/
Qui di seguito la configurazione del file sip.conf viene divisa a blocchi per maggiore dettaglio (le righe che seguono possono essere inserite in un file vuoto):
Nella configurazione generale vanno inseriti i dati di rete compreso l'ip o il dominio del nostro modem più i dati di accesso per un provider voip
[general] context=default ; Default context for incoming calls allowoverlap=no ; Disable overlap dialing support. (Default is yes) udpbindaddr=0.0.0.0 ; IP address to bind UDP listen socket to (0.0.0.0 binds to all) tcpenable=no ; Enable server for incoming TCP connections (default is no) tcpbindaddr=0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces) transport=udp ; Set the default transports. The order determines the primary default transport. srvlookup=yes ; Enable DNS SRV lookups on outbound calls register => 5xxxxxx:********@sip.messagenet.it:5061/0510NNNNNN ;MESSAGENET vedi sotto per i parametri ;5xxxxxx=URI (identificativo client SIP): vedi mail con oggetto Messagenet - attivazione FreeNumber (Servizio VoIP) ;********=Password: 8CA9QQBd vedi mail con oggetto Messagenet - attivazione FreeNumber (Servizio VoIP) ;0510NNNNNN=numero telefonico vedi mail con oggetto Messagenet - attivazione FreeNumber (Servizio VoIP) nat=yes externip=asterisk.raspibo.org ;nome dominio oppure ip pubblico externrefresh=120 ;tempo di aggiornamento del dominio sul provider localnet=192.168.1.0/255.255.255.0 ;configurazione della sottorete
Questa parte non è stata modificata rispetto alla configurazione di default
[authentication] [basic-options](!) ; a template dtmfmode=rfc2833 context=from-office type=friend [natted-phone](!,basic-options) ; another template inheriting basic-options directmedia=no host=dynamic [public-phone](!,basic-options) ; another template inheriting basic-options directmedia=yes [my-codecs](!) ; a template for my preferred codecs disallow=all allow=ilbc allow=g729 allow=gsm allow=g723 allow=ulaw [ulaw-phone](!) ; and another one for ulaw-only disallow=all allow=ulaw
In questa sezione vengono configurati i numeri di telefono:
[2000] type=friend secret=noncorso ; Password host=dynamic insecure=port ; Allow matching of peer by IP address without context=noncorso ; matching port number insecure=invite ; Do not require authentication of incoming INVITEs insecure=port,invite ; (both) qualify=1000 ; Consider it down if it's 1 second to reply qualifyfreq=60 ; Qualification: How often to check for the [2001] type=friend secret=noncorso host=dynamic insecure=port ; Allow matching of peer by IP address without context=noncorso ; matching port number insecure=invite ; Do not require authentication of incoming INVITEs insecure=port,invite ; (both) qualify=1000 ; Consider it down if it's 1 second to reply qualifyfreq=60 ; Qualification: How often to check for the [2002] type=friend secret=noncorso host=dynamic insecure=port ; Allow matching of peer by IP address without context=noncorso ; matching port number insecure=invite ; Do not require authentication of incoming INVITEs insecure=port,invite ; (both) qualify=1000 ; Consider it down if it's 1 second to reply qualifyfreq=60 ; Qualification: How often to check for the [2003] type=friend secret=noncorso host=dynamic insecure=port ; Allow matching of peer by IP address without context=noncorso ; matching port number insecure=invite ; Do not require authentication of incoming INVITEs insecure=port,invite ; (both) qualify=1000 ; Consider it down if it's 1 second to reply qualifyfreq=60 ; Qualification: How often to check for the [sip.messagenet.it] type=friend auth=md5 username=5xxxxxx ;Vedi nota sopra fromuser=5xxxxxx ;Vedi nota sopra secret=******** ;Vedi nota sopra host=sip.messagenet.it port=5061 qualify=yes insecure=invite context=da_messagenet nat=yes canreinvite=no
Proseguiamo con la configurazione del file extensions.conf (le righe che seguono vanno aggiunte al file esistente che è molto lungo e non viene riportato integralmente):
[noncorso] ;Risponditore automatico sull'interno 1234 che recita una fonia e attende una post selezione per eseguire uno script bash exten => 1234,1,Wait(1) ; Wait a second, just for fun exten => 1234,n,Answer ; Answer the line exten => 1234,n(menu),BackGround(custom/menu001) ; Play a congratulatory message exten => 1234,n,WaitExten(5) exten => 1234,n,Goto(1234,menu) ;digitando 51 sulla tastiera viene eseguito uno script che accende un rele exten => 51,1,Noop(accendo) exten => 51,n,System(/var/sys/Scripts/astrasp.sh 1) exten => 51,n,Goto(1234,menu) ;digitando 52 sulla tastiera viene eseguito uno script che spegne un rele exten => 52,1,NoOp(spengo) exten => 52,n,System(/var/sys/Scripts/astrasp.sh 0) exten => 52,n,Goto(1234,menu) ;gestione delle chiamate fra interni exten => 2000,1,Dial(SIP/2000) exten => 2000,n,Hangup exten => 2002,1,Dial(SIP/2002) exten => 2003,n,Hangup exten => 2003,1,Dial(SIP/2003) exten => 2003,n,Hangup exten => _9.,1,Dial(SIP/${EXTEN:1}@sip.messagenet.it) ;Per chiamare l'esteno si antepone 9 davanti al numero _ indica una espressione regolare(tutto quello che inizia con 9 [da_messagenet] exten => _0510NNNNNN,1,Dial(SIP/2001,30,tTr) ;Vedi nota su sip.conf exten => _0510NNNNNN,n,Hangup ;Vedi nota su sip.conf
Per completezza un dettaglio sulla configurazione:
[noncorso] indica il contesto
le righe che iniziano con exten indicano le esetensioni cioè regole legate ad ogni linea con il seguente formato:
exten => destinazione,priorità,applicazione(argomenti)
quindi la riga:
exten => 2000,1,Dial(SIP/2000)
indica che quando viene chiamato l'interno 2000 per prima cosa (1) deve essere girata la chiamata verso l'interno 2000
exten => 2000,n,Hangup
all'istruzione successiva (n, etichetta, potrebbe essere indicata come 2, ma richiederebbe che eventuali modifiche tengano conto della sequenzialità delle istruzioni) quando la chiamata termina viene fatto un riaggancio della linea
E' possibile anche creare delle etichette a cui fare goto ad esempio quando viene riprodotta una fonia:
exten => 1234,n(menu),BackGround(custom/menu001) ; Play a congratulatory message
NB: i files audio devono rispettare il formato usato dal codec in uso per la comunicazione in questo caso wav a 8KHz, per convertire un file audio si può usare il comando sox con i seguenti parametri:
sox file_origine.wav -r 8k -c 1 -e wav menu001.wav
come in questo caso in cui la fonia viene riprodotta ciclicamente:
exten => 1234,n,Goto(1234,menu)
E' anche possibile lanciare script di shell
exten => 51,n,System(/var/sys/Scripts/astrasp.sh 1)
In questo caso una chiamata in arrivo dall'esterno viene girata verso il numero 2001:
exten => _0510NNNNNN,1,Dial(SIP/2001,30,tTr)
Per ricaricare la configurazione: si usano i comandi visti in Asterisk_installazione_base precedenza: sip reload, dialplan reload .
Attenzione, ci potrebbero essere problemi di registrazione sul provider esterno, vedi Debug di Asterisk.