Como instalar un Servidor de Mensajería con Gammu – Parte 1

Gammu para Linux

Gammu para Linux

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.

Gammu en Synaptic

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.

Instalación de Gammu

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:


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   ramses dijo

    Hola este servidor de SMS sirve para enviar SMS desde linux a cualquier tipo de teléfono con cualquier operadora??

  2.   José Manuel Parrado Ortega dijo

    Si te fijas, hace referencia a enviar comandos at a dispositivos . Es decir que se podría mandar mensajes a cualquier operadora, pero se utiliza un modem o teléfono para ello

  3.   Otoniel Rincón dijo

    Hola, Excelente tutorial lo he seguido todo, pero hay algo que no he podido resolver, no se si pueden ayudarme, y es el de conectar Modem remotamente, es decir, teniendo 2 servidores, en uno el servidor Gamm, en el otro servidor el MODEM USB, entonces como debería configurar el parametro «port = /dev/ttyUSB1»?.
    De ante mano muchisimas gracias.
    un saludo

    1.    Linux Post Install dijo

      Saludos, Otoniel. La verdad no tengo idea de como se debería hacer eso. Hasta creó que eso no es posible… Ojalá alguien con más experiencia con Gammu pueda responder tu interrogante.