Installazione ed uso di una Voismart vGSM con Asterisk
by admin on Mar.04, 2009, under Asterisk, Linux, Telefonia
Ho avuto l’occasione di testare una scheda Voismart vGSM, gentilmente messami a disposizione da Wildix
La Voismart vGSM è una card Quad GSM, PCI, tri band (900/1800/1900) prodotta da Espia di Milano, da utilizzare in abbinamento con Asterisk, per il quale esiste uno specifico channel driver e 4 interfacce tty per la parte di “signalling”.
La gestione della scheda è affidata ai driver vISDN (versatile ISDN) dell’italiano Daniele Orlandi, che a suo tempo dette vita al progetto sulla base della propria insoddisfazione nei confronti delle molte varianti di infrastrutture ISDN disponibili per Linux, considerando zaptel troppo voice-oriented e libpri come una implementazione incompleta dello stack ISDN (specialmente in relazione a EuroISDN) ed inoltre che il supporto dell’accesso base in Asterisk sia possibile solo attraverso patches ed evoluzioni varie.
Dopo uno svogliato tentativo di installare la scheda e farla funzionare su di un Dell Poweredge equipaggiato Fedora Core 5, al primo problema in compilazione, il sottoscritto ha volentieri desistito (provate voi a lavorare vicino ad un jet in fase di perenne decollo) e dirottato la scheda su di un silenzioso PC con a Bordo Ubuntu 6.06 server per AMD64, e tutto è andato bene.
Nessun software accompagna la scheda, per cui se ne deve effettuare il download da
http://www.visdn.it/download/?C=M;O=D
Nella circostanza ho scelto di scaricare il package più recente (visdn-0.18.2.tar.gz), che va poi scompattato in una qualsivoglia directory (convenzionalmente /opt o /usr/src)
L’installazione del pacchetto è molto semplice, ed i prerequisiti sono:
la presenza di Asterisk (ovviamente) coi relativi headers files.
Ho ritenuto opportuno evitare di cimentarmi con una beta di Asterisk 1.4, ma ho scelto di installare la versione più recente del ramo 1.2.X (attualmente la 1.2.13)
la presenza dei kernel headers in modo da poter compilare moduli kernel (la versione del kernel deve essere > 2.6.11 )
dopodichè:
nella directory dei sorgenti di visdn, basta impartire il consueto:
# ./configure && make && make install
Dato che la infrastruttura vISDN e i moduli fanno uso di alcuni devices a caratteri che devono essere appositamente creati in /dev.
occorre copiare il file samples/30-visdn.rules in /etc/udev/rules.d
e poi copiare samples/vgsm.conf, vgsm_operators.conf e vgsm_countries.conf nella directory di configurazione di asterisk, (solitamente /etc/asterisk)
quindi modificare vgsm.conf corentemente con le SIMs presenti sulla scheda
Un esempio di vgsm.conf
[general]
sms_spooler = /usr/lib/asterisk/sms_spooler
sms_spooler_pars = -it
[global]
rx_gain = 255 ; Maximum 255
tx_gain = 255 ; Maximum 255
set_clock = yes
[tim]
device = /dev/vgsm0
pin =
context = vgsm_tim_in
sms_service_center = +393335123456
[wind]
device = /dev/vgsm1
pin =
context = vgsm_wind_in
sms_service_center = +39320123456
[vodafone2]
device = /dev/vgsm2
pin = 0987
context = vgsm_vodafone_in
operator_selection = auto
operator_id =
sms_service_center = +39349123456
[vodafone]
device = /dev/vgsm3
pin =
context = vgsm_vodafone_in
sms_service_center = +39349123456
effettuare il caricamento dei kernel modules tramite:
# modprobe visdn_vgsm
(che provoca anche il caricamento di altri due moduli, dai quali evidentimente dipende, visdn_core e visdn_softcxc)
# modprobe visdn_streamport
# modprobe visdn_timer_system
Avviare Asterisk
Impressioni di utilizzo:
Ho voluto effettuare le mie prove di utilizzo della scheda gateway a partire dal softphone IAX prodotto dalla stessa Wildix, che funziona sotto Windows XP e 2000 ed oltre ad essere compatibile con Asterisk (ci mancherebbe!), è anche compatibile contutti i phone USB Wildix ( K1000, Perfectone UP-90, BeyondTel SX-06 )
Le features del softphone (sebbene ancora in versione beta) sono tante, tra cui la disponibilità di 6 linee, l’estetica più gradevole vista finora in software simili, e sopratutto una qualità vocale veramente elevata.
Il softphone è scaricabile dal sito di Wildix, come utente registrato, ed è contenuto in forma di eseguibile in un archivio autoestraente
Una entry minimale in iax.conf, del tipo:
[wildiax]
type=friend
context=default
host=dynamic
username=wildiax
secret=mysecret
è quanto basta per metterlo in grado di operare.
Per effettuare chiamate in uscita, basta qualcosa del genere:
exten => _3.,1,Dial(VGSM/vodafone/${EXTEN})
Il software installato lato server ha esteso nel frattempo Asterisk con ulteriori comandi ed applicazioni.
Con “vgsm modules reset” si può ad esempio resettare il modulo indicato, reinizzializzarlo e forzare una nuova registrazione
Con “show vgsm modules” (al prompt della CLI) si è ora in grado di osservare lo stato di ogni interfaccia
CLI> show vgsm modules
tim : READY REGISTERED_HOME “Telecom Italia Mobile”
vodafone : READY REGISTERED_HOME “Vodafone”
vodafone2 : READY REGISTERED_HOME “Vodafone”
vodafone3 : READY REGISTERED_HOME “Vodafone”
con “show vgsm modules nome_interfaccia ” si ottengono invece informazioni dettagliate sull’ interfaccia indicata
CLI> show vgsm modules tim
—— Interface ‘tim’ ———
Device : /dev/vgsm2
Context: vgsm_tim_in
RX-gain: 255
TX-gain: 255
Set clock: YES
Power off on exit: YES
Module:
Status: READY
Model: SIEMENS MC55
Version: REVISION 03.03
IMEI: XXXXXXXXXXXXXXX
Supply voltage: 3757 mV
Power consumption: 15 mA
SIM:
Card ID: YYYYYYYYYYYYYYYYYYYY
IMSI: ZZZZZZZZZZZZZZZ
PIN remaining attempts: 3
Network:
Operator Selection: Automatic
Status: REGISTERED_HOME
Current network: 22201 (Telecom Italia Mobile - Italy - GSM 900/1800)
Serving cell
MCC MNC LAC ID BSIC ARFCN RxLev
222 01 d6b1 1649 25 13 -82 dBm
RxLev Sub: -26 dBm
RxLev Full: -24 dBm
RxQual: 0 (BER less than 0.1%)
RxQual Sub: 0 (BER less than 0.1%)
RxQual Full: 0 (BER less than 0.1%)
Timeslot: 0
TA: 3
RSSI: -81 dBm
BER: 99 (N/A)
Adjacent cells (6)
# MCC MNC LAC ID BSIC ARFCN RxLev
1: 222 01 d6b1 9649 20 681 -93 dBm
2: 222 01 d6b1 1173 23 18 -94 dBm
3: 222 01 6181 1647 22 58 -94 dBm
4: 222 01 6181 9647 20 702 -94 dBm
5: 222 01 d6b1 1172 26 50 -99 dBm
6: 222 01 6181 6789 20 671 0 dBm
Calls:
# State Dir T Bearer Channel
Disconnect causes:
Asterisk/Normal call clearing: 2

