Como instalar un Servidor de Mensajería con Gammu – Parte 1
Actualmente la mensajería de texto vía SMS es una parte importante de la experiencia móvil junto con la de correos vía Internet. A nivel empresarial la mensajería móvil en muchos casos sigue siendo el canal de comunicación más efectivo y universal actualmente en uso. Y comparado con otros canales de comunicación como el correo, la mensajería móvil vía SMS contiene mucho menos spam y es más probable que la lean todos sus destinatarios inmediatamente tras la entrega.
Debido a ello es importante tener siempre a la mano en nuestra infraestructura de servidores bajo Linux un Servidor de Mensajería SMS con Gammu, listo para su activación en caso de ser requerido. Y estos son los pasos que les servirán a muchos como una guía o modelo para lograr la instalación y configuración del mismo dentro de su Granja de Servidores.
Introducción
Gammu es citando la propia pagina oficial en español
” El nombre del proyecto, como así también el de la utilidad de línea de órdenes que puede usar para controlar el teléfono. Está escrito en C y construido sobre libGammu“.
En palabras comunes se puede decir que Gammu es un Sistema de Gestión de Dispositivos Móviles con Lineas Telefónicas, es decir, es un proyecto que proporciona la capa de abstracción para acceder a teléfonos móviles y sus funciones. El mismo abarca una amplia gama de marcas de teléfonos, enfocándose en los teléfonos AT compatibles y los teléfonos Nokia.
Gammu es una biblioteca y una utilidad de línea de comandos (de terminal), aunque viene con una capa gráfica llamada Wammu para facilitar su uso parte de usuarios finales. Posee una licencia GNU GPL versión 2.
Dicho proyecto fue iniciado por Marcin Wiacek y junto a otras personas, y actualmente está dirigido por Michal Čihař con la ayuda de muchos otros colaboradores.
Gammu provee acceso a una amplia variedad de características. Sin embargo, el nivel de soporte varía de un teléfono a otro. Puede ver la Base de Datos de Teléfonos de Gammu para conocer experiencias de usuarios con diversos teléfonos. Por lo general las siguientes características tienen soporte:
- Listado, inicio y manejo de llamadas
- Recuperación, copia de respaldo y envío de SMS
- Recuperación MMS
- Listado, importación y exportación de contactos (vCard)
- Listado, importación y exportación de calendario y tareas (vCalendar o iCalendar).
- Recuperación de teléfono e información de red
- Acceso a sistema de archivos del teléfono.
Paso 1 – Instalación de Gammu
Para su instalación los paquetes dependerán de la Distro y la versión de la misma, pero en los casos de DEBIAN 8 y DEBIAN 9 los mismos serán los descritos a continuación:
apt install gammu gammu-doc gammu-smsd libgammu7 libgsmsd7 # DEBIAN 8 apt install gammu gammu-doc gammu-smsd libgammu8 libgsmsd8 # DEBIAN 9 apt install mobile-broadband-provider-info ppp pppconfig modemmanager usb-modeswitch usb-modeswitch-data wvdial # Paquetes útiles y comunes para la Gestión de Dispositivos de Internet/SMS en Puertos USB.
Paso 2 – Verificación de Puertos “DIALOUT”
Sus puertos “Dialout” USB al ser listados pueden venir con la nomenclatura “ttyUSB0, ttyUSB1, ttyUSB2, ttyUSB3” o ttyS0, ttyS1, ttyS2, ttyS3.
Ejecutar listado de puertos tty – dialout:
ls -l /dev/tty* # Listar los puertos TTY
Paso 3 – Conectar el Dispositivo Módem SMS y validar su detección
Ejecutar comando lspci:
lsusb # Comando para listar dispositivos USB conectados
Imaginemos que el Dispositivo conectado y detectado sale en pantalla de la siguiente manera en el terminal:
Bus 001 Device 013: ID 19d2:0031 ZTE WCDMA Technologies MSM MF110/MF627/MF636 # Pendriver de Internet de proveedor telefónico
Ejecutar listado de dispositivos seriales:
ls /dev/serial/by-id -ls # Comando para listar dispositivos seriales conectados y detectados
Paso 4 – Configuración de Gammu
Archivo .gammurc
Para configurar Gammu se puede crear manualmente un archivo llamado “.gammurc” en el “home del root” con el siguiente contenido y usando la orden de comando:
nano /root/.gammurc ########## CONTENIDO DE EJEMPLO ########## [gammu] port = /dev/ttyUSB1 -> Puertos ttyUSB habilitados (ttyUSB0 - ttyUSB1 - ttyUSB2) model = connection = at19200 -> Tipo de conexion que se desea configurar. synchronizetime = yes logfile = logformat = nothing use_locking = gammuloc = ##########################################
O se puede ejecutar el siguiente comando que nos guaira en su creación:
gammu-config # Comando para crear archivo de configuración
Archivo .gammu-smsdrc
Para configurar Gammu edite manualmente el archivo llamado “.gammu-smsdrc” en la carpeta “etc” del Sistema Operativo con el siguiente contenido y usando la orden de comando:
nano /etc/gammu-smsdrc ########## CONTENIDO DE EJEMPLO ########## # Configuration file for Gammu SMS Daemon # Gammu library configuration, see gammurc(5) [gammu] # Please configure this! port = /dev/ttyUSB1 connection = at # Debugging #logformat = textall # SMSD configuration, see gammu-smsdrc(5) [smsd] service = files logfile = syslog # Increase for debugging information debuglevel = 0 # Paths where messages are stored inboxpath = /var/spool/gammu/inbox/ outboxpath = /var/spool/gammu/outbox/ sentsmspath = /var/spool/gammu/sent/ errorsmspath = /var/spool/gammu/error/ ##########################################
Paso 5 – Identificar el Dispositivo de Internet Móvil / SMS
Este procedimiento se puede hacer de 2 maneras:
Forma 1
Usando el archivo gammu-smsdrc de la siguiente manera:
gammu -c /etc/gammu-smsdrc --identify ########## CONTENIDO DE EJEMPLO ########## Dispositivo : /dev/ttyUSB1 Fabricante : ZTE CORPORATION Modelo : unknown (MF190) Firmware : BD_MF190V1.0.0B06 IMEI : 355435048527666 IMSI SIM : 734061006753643 ##########################################
Forma 2
Usando el comando gammu identify de la siguiente manera:
gammu identify ########## CONTENIDO DE EJEMPLO ########## Dispositivo : /dev/ttyUSB1 Fabricante : ZTE CORPORATION Modelo : unknown (MF190) Firmware : BD_MF190V1.0.0B06 IMEI : 355435048527666 IMSI SIM : 734061006753643 ##########################################
Paso 6 – Probar el programa Gammu
Se puede probar la instalación y configuración realizada de Gammu de 2 formas:
Forma 1
Ejecutando el siguiente comando:
gammu getallsms ########## CONTENIDO DE EJEMPLO ########## 0 partes de SMS en 0 secuencias SMS ##########################################
Forma 2
Ejecutando el siguiente comando:
gammu sendsms text 04161234567 Introduzca el texto del mensaje y pulse Ctrl+D: ESTO ES UNA PRUEBA DE ENVÍO. Si quiere cancelar, pulse Ctrl+C... Enviando SMS 1/1...esperando respuesta de la red..Aceptar, referencia de mensaje=7
Ahora solo queda verificar que el Mensaje SMS haya llegado a su destino! Y si hasta aquí todo ha salido bien usted ya posee el Programa instalado y perfectamente configurado para enviar mensajes SMS desde la Consola de sus Terminal.
Para envíos masivos solo nos falta crear la Base de Datos y hacer nuevas pruebas de envío. Todo esta parte la veremos en la parte 2 de este articulo y en la parte 3 su integración con la aplicación web Kalkun.
Sí solo necesitas una aplicación más sencilla hasta para un usuario normal podrías probar con esta: Bluephone
Si desean repasar un poco más sobre Gammu pueden ir al manual oficial o leer las noticias (novedades) sobre la aplicación en su sección de noticias o ver el siguiente vídeo:
El artículo Como instalar un Servidor de Mensajería con Gammu – Parte 1 aparece primero en Como instalar un Servidor de Mensajería con Gammu – Parte 1.