Supongamos que por alguna razón vamos a estar ausentes de nuestra tierra una temporada y no queremos gastarnos una pasta en roaming pero queremos que nuestra gente siga pudiendo llamarnos.
Lo primero que necesitamos es algo con lo que hacer y recibir llamadas y SMS. Ese algo es Asterisk con chan_sebi, un canal que ha desarrollado Odicha, un grande del bare metal.
Muchos modems USB soportan el envio de SMS, pero necesitamos uno que soporte tambien voz. En mi caso utilice el Huawei K3520, que puede encontrarse en eBay por unos 50-70 euros.
Manos a la obra!
Lo primero es descargar y compilar el codigo, que se encuentra en el repositorio RSP:
svn co http://asterisk-es-rsp.irontec.com/svn/asterisk-es-rsp/
cd branches/asterisk/1.4.24
./configure && make && make install
make samples && make config
ahora instalamos los asterisk-addons de Odicha, los que tienen chan_sebi
cd team/Odicha/1_4/asterisk-addons-1.4.9
./configure && make menuselect (marcamos chan_sebi)
make install && make samples
Una vez lo tenemos instalado vamos a configurar chan_sebi editando el fichero /etc/asterisk/sebi.conf:
[huawei1]
imei=3534xxxxxxxx ; imei of modem
;pin=12345678 ; pin (use only if sim card has pin request enabled)
csca=+34607003110 ; SMS centre number (Vodafone ES - example)
sms=yes ; Enable sms send/receive
voice=yes ; Enable voice for calls
context=from-sebi ; dialplan context for incoming calls
group=1 ; this phone is in channel group 1
volume=5 ; Modem Volume (1-5)
language=es ; Channel language
;nocallsetup=yes ; set this only if you want override call status notifications
;hidecid=#31# ; if you want outbound calls without caller id
;noincomingcalls=yes ; Reject all voice incoming calls
Solo tenemos que ajustar el IMEI, PIN, numero de servicio de SMS y contexto.
Ahora vamos a crear un sencillo dialplan para hacer/recibir llamadas y SMS:
[from-sebi]
; Incoming calls
exten => s,1,NoOp(Incoming call from ${CALLERID(num)})
exten => s,n,Dial(SIP/saghul,60))
exten => s,n,Hangup
; Incomming SMS
exten => sms,1,NoOp(Incoming SMS from ${SMSSRC})
exten => sms,n,System(/usr/local/bin/recvSMS.sh "${SMSSRC}" "${SMSTXT}")
exten => sms,n,Hangup
[from-ast16]
exten => _6XXXXXXXX,1,NoOp(Outgoing call through the SEBI device to ${EXTEN})
exten => _6XXXXXXXX,n,Dial(Sebi/g1/${EXTEN},60)
exten => _6XXXXXXXX,n,Hangup
Con esto ya podremos hacer y recibir llamadas, pero para los SMS vamos a hacer algo mas elegante:
Utilizaremos el script recvSMS.sh, que nos mandara un email con el asunto “SMS from 6123123123″ a la dirección de email que le indiquemos. Y para rizar el rizo, utilizaremos el script readMail.py cada minuto en el cron, para que si respondemos al email del SMS esa respuesta se convierta en SMS. How cool is that?!
Para finalizar, si no teneis instalado ningun servidor de correo podeis instalar ssmtp y utilizarlo con una cuanta de GMail por ejemplo. Es tan facil como esto:
remote-mobile:~# cat /etc/ssmtp/ssmtp.conf
root=tu_email@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=tu_email@gmail.com
UseSTARTTLS=YES
AuthUser=tu_usuario_de_gmail
AuthPass=tu_clave_de_gmail
FromLineOverride=YES
y esto:
remote-mobile:~# cat /etc/ssmtp/revaliases
root:saghul.movil@gmail.com:smtp.gmail.com:587
Enjoy!
PD: Manwe y amigos de la RAE: perdón por los acentos y tal, ando en precario a nivel de teclados y el autocorrector no es que mole mucho…













