Con questa piccola guida installeremo un server linux Ubuntu (e quindi basato su Debian) e successivamente compileremo Celliax per aggiungergli le funzionalità di gateway GSM.Il tutto “farcito” con qualche semplice configurazione dei file celliax.conf, sip.conf e extensions.conf
Di Celliax ormai sappiamo tutto, quello che cercheremo di fare oggi è di installare questo promettente progetto open source su di un server Ubuntu Feisty Fawn 7.04, al fine di aggiungere al nostro “amato” centralino IP anche la funzionalità di gateway GSM.
La scelta è caduta su questa distribuzione perchè è certamente una delle più attive, con rilasci di nuovi pacchetti e bugfix “quasi quotidiani”, inoltre Ubuntu si è ormai distinta per la sua facilità di utilizzo e gestione, nonchè per l’enorme quantità di software “precompilato” (o meglio “debianizzato”) pronto ad essere installato con pochi comandi.
Cominciamo.
A) Per prima cosa è necessario scaricarsi dal sito della distribuzione la versione ALTERNATE di Ubuntu (disponibile per moltissime architetture), e masterizzarne il cd
B) Avviamo il pc con il cd di Ubuntu Feisty, ed una volta giunti al menu grafico scegliamo INSTALL A TEXT ONLY BASED SYSTEM. Partirà il processo di installazione durante il quale sarebbe bene connettere il nostro pc al router per mezzo di un cavo di rete.
C) Una volta terminata l’installazione e riavviato il pc avremo di fronte a noi un consolle testuale.Passiamo ad installare tutto il necessario per compilare celliax ed installare asterisk grazie al comando:
sudo apt-get install asterisk asterisk-prompt-it asterisk-dev xorg-dev libasound2-dev build-essential subversion cvs libssl-dev zlib1g-dev bison ncurses-dev libnewt-dev initrd-tools procps
D) Non ci resta che aggiornare il sistema prima di passare alla vera e propria installazione di Celliax
sudo apt-get update && sudo apt-get upgrade
E) A questo punto spostiamoci nella cartella /usr/src e passiamo in installare Celliax da sorgenti:
cd /usr/src sudo svn checkout http://www.celliax.org:8081/svn/celliax/branches/test1 test1 cd test1/asterisk-1.2.17/ sudo make
F) Al termine della compilazione (potrebbe impiegare diverso tempo) spostiamo il channel_celliax appena creato ed i suoi file di configurazione:
sudo cp channels/chan_celliax.so /usr/lib/asterisk/modules/ sudo cp ../celliax_stuff/newconfigs/celliax.conf /etc/asterisk/
G) Bene non ci resta che impostare una password di root e passare alla personalizzazione della nostra configurazione.
sudo passwd
H) Impostata la password di root cominciamo con il creare un’ interno SIP
su nano /etc/asterisk/sip.conf
Eccovi il mio:
[general] nat=yes ;se asterisk è dietro nat externip=111.111.111 ;mio ip adsl o dyndns localnet=192.168.1.54/255.255.255.0 ; indirizzo locale server asterisk bindport = 5060 ; Port to bind to (SIP is 5060) bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine) disallow=all allow=ulaw allow=alaw [100] type=friend secret=password record_out=Never record_in=Never qualify=yes port=5060 nat=yes mailbox=100@device host=dynamic dtmfmode=rfc2833 dial=SIP/100 context=interni canreinvite=yes callerid=device <100>
I) Ora passiamo ad extensions.conf
nano /etc/asterisk/extensions.conf
L’estensione [interni] semplicemente fa squillare l’interno 100 in caso di chiamata incoming, mentre l’estensione [mobile] realizza un test dell’eco (chi chiama potrà fare un test dell’eco).
[interni]
exten => _X.,1,Dial(Celliax/${EXTEN},30)
[mobile]
exten => s,1,Answer
exten => s,n,wait(1)
exten => s,n,Playback(demo-echotest) ; Let them know what’s going on
exten => s,n,Echo ; Do the echo test
exten => s,n,Playback(demo-echodone) ; Let them know it’s over
exten => s,n,Hangup
;exten => s,1,Dial(SIP/100,30,tTr) ;Transfer to another extension
;exten => s,n,Hangup ; Hang them up
L) Non ci resta che personalizzare il file di configurazione di celliax
nano /etc/asterisk/celliax.conf
Eccovi il mio commentato:
language=it ; imposta la lingua da utilizzare (nel nostro caso IT avendo installato il pacchetto di voci italiane di asterisk) context=mobile ; context creato in extensions da eseguire.Nel mio caso [mobile], e quindi il test dell'echo; ; extension=100 ;(Default extension (in extensions.conf) dove far arrivare le chiamate incoming; control_device_protocol=AT ; protocollo utilizzato da celliax per gestire le chiamate incoming ed outgoing, se usate un cell AT compatibile (motorola) impostate AT ;name of the serial port device control_device_name=/dev/ttyACM0 ; this is a Motorola phone, recognized as a modem ;control_device_name=/dev/ttyS9 ; this is the COM10 on windows ;control_device_name=/dev/ttyUSB0 ; this is the first USB serial port in Linux playback_boost=-10 ; for usb audio cm-108 on motorola c650 capture_boost=-18 ; for usb audio cm-108 on motorola c650 alsa_period_size=30 alsa_periods_in_buffer=4
Molto importanti sono le voci name of the serial port device e la parte relativa al tuning audio di ALSA.
Per quanto riguarda il name of the serial port, questo altro non è che la porta creata dal server linux una volta connesso il cellulare alla presa usb.I cellulari motorola sono riconosciuti automaticamente da Linux come modem, è quindi viene creata una porta ttyACMx. E’ dunque fondamentale avere un cellulare “compatibile” con linux (di fatto è sufficiente che una volta connesso la macchina lo riconosca come hub usb creando un device ttyUSBx).
Per verificare questo è sufficente una volta connesso il cellulare alla porta usb lanciare il comando:
dmesg
e controllare l’output a video.
Per il tuning della scheda ALSA invece dovremo modificare le voci:
playback_boost capture_boost alsa_period_size alsa_periods_in_buffer
Valori bassi (o negativi) riducono l’eco ma fanno divenire la voce metallica, valori alti fanno divenire la voce “più calda” ma introducono diverso eco.Quando troverò valori pienamente soddisfacenti, sto ancora conducendo diverse prove non mancherò di aggiornare il post.
M) Fatto questo non ci resta che attivare i canali audio di Alsamixer
sudo alsamixer -V all
Attivate (premendo il tasto M): MASTER, MASTER MONO, PCM, CAPTURE e disattivate tutti gli altri (sempre premendo il tasto M una volta posizionati sulla colonna di nostro interesse).
Quanto al valore cui impostare le voci attivate vale quanto detto in precedenza per il tuning di ALSA.
Ok, riavviate la macchina e cominciate “a giocare” con asterisk e le impostazioni di ALSA.Eccovi alcuni comandi utili:
su ; per diventare root ed avviare/riavviare/fermare asterisk /etc/init.d/asterisk start /etc/init.d/asterisk restart /etc/init.d/asterisk stop






I commenti all'articolo
Non ci sono ancora commenti for “Installiamo celliax su un server Ubuntu (Debian)”