La scheda viene fornita con il codice sorgente dei driver necessari per utilizzarla sotto Linux.
Per usare la scheda con Trixbox apriamo una sessione sulla postazione Trixbox ed iniziamo con l’installare i pacchetti che serviranno per procedere con la compilazione dei driver:
yum install gcc
yum install make
yum install kernel-devel
yum install asterisk-devel
Installati i prerequisiti possiamo scaricare l’ultima versione del driver dal sito Beronet :
wget http://www.beronet.com/component/option,com_remository/Itemid,38/func,download/filecatid,39/chk,b163d660c1abe8f39e29f0fd542f2968/lang,en/
quindi possiamo decomprimerlo:
tar xvfz install-gsm.tar.gz
compiliamo i codici :
cd install-gsm
make
ed installiamo il modulo kernel ed il canale per asterisk
make install
a questo punto è sufficiente caricare il modulo:
modprobe bnxgsm
e controllare che il modulo venga effetivamente caricato :
lsmod |grep bnxgsm
....
bnxgsm 25528 2
per testare al volo il codice appena installato possiamo:
modificare il file “/etc/asterisk/gsm.conf” ad esempio :
(general)
debug=0
smsdir=/var/spool/asterisk/smsin
check_homezone=no
skip_plus=no
syslogdebug=yes
(bgsm)
ports=2
hidecallerid=no
pin=5192
smsc=+393359609600
resetinterval=0
provider=I TIM
settiamo i permessi sui device
chmod 777 /dev/gsm/*
e da dentro la console (CLI) di Asterisk possiamo caricare il modulo
per la gestione dei canali GSM :
asterisk -vvvr
module load chan_gsm.so
sempre dalla CLI di Asterisk il comando
help gsm
dovrebbe restituire
gsm debug info print some debug info
gsm fetch sms fetches all the stored sms from port and stores them in smsdir (gsm.conf)
gsm init port inits port
gsm restart port restarts the gsm port
gsm send at sends at command to port gsm send sms sends a sms to port with number
gsm set debug sets the debuglevel to
gsm set next simslot sets next simslog
gsm set op sets an operator
gsm show config descripti Display description for the given configuration directive
gsm show config descripti List descriptions for all configuration directives
gsm show config values Print the configuration values read from file
gsm show operators shows a list of operators
gsm show sms shows all the stored sms from port gsm show status shows status of the gsm modules
gsm show version shows version of the gsm channel
gsm shutdown port shuts down port
adesso bisogna fare in modo che il driver venga caricato al boot e che i device creati vengano attribuiti all’utente con cui gira Asterisk che è per l’appunto “asterisk”.
Creiamo il file “/etc/sysconfig/modules/bnxgsm.modules”, rendiamolo eseguibile e mettiamo al suo interno:
#!/bin/sh
modprobe bnxgsm
mentre per fare in modo che i device siano creati con i permessi giusti dobbiamo modificare il file “/etc/udev/rules.d/gsm.rules” e fare in modo che contenga le seguenti righe :
KERNEL=="port[0-9]*", NAME="gsm/%k" , OWNER="asterisk" GROUP="root", MODE="0660"
KERNEL=="ctl[0-9]*", NAME="gsm/%k" , OWNER="asterisk" GROUP="root", MODE="0660"
Modifichiamo il file “more /etc/asterisk/modules.conf ” per istruire Asterisk in modo che faccia partire il canale chan_gsm.so aggiungendovi nella sezione (modules) la riga :
load => chan_gsm.so
a questo punto non resta che creare un CUSTOM TRUNK dall’interfaccia di Trixbox usando come dial string la stringa GSM/X/$OUTNUM$ dove X è un numero che va da 1 a 3 ed indica il canale GSM da utilizzare.
Per fare una prova usando una sola SIM metterla nello slot centrale che è sicuramente identificata come SLOT2.
Non resta che usare il trunk appena creato in una delle regole di outbound.

