General

Enviando SMS por razones administrativas

En los servidores que administro suelo usar logcheck o logwatch para monitorear los registros de los diferentes servicios. Ambas aplicaciones tienen sus ventajas y desventajas y luego de un par de años usándolas extensivamente me siento bastante cómodo con ellas. Básicamente buscan entradas relevantes en los registros de servicio y generan un reporte legible e interesante sobre lo que pasa en la máquina, que luego te envían por correo electrónico. Algunas veces necesitan ajustarse parámetros para no recibir basura, algunas veces necesitas quitar reglas para que se te notifique de algo en particular.

El problema es que con el tiempo te das cuenta de que recibes mucha más información de la que necesitas, o peor aún, todos los días recibes la misma información. Por ejemplo, actualmente estoy recibiendo tres correos por hora generados por logcheck o logwatch en algunas de las máquinas que administro. Eso implica que si duermes ocho horas, al despertar y revisar tu correo tendrás 24 correos nuevos, casi todos con la misma información. Corres el peligro de convertirte en un administrador bobo que descuide su trabajo por dejar de leer esos correos (cosa que me ocurre muy a menudo con los clientes, que les da fastidio leer los registros).

SMS: the next annoyance level

Con un teléfono GSM decente es trivial conseguir que los problemas en las máquinas pasen a un siguiente nivel de atención. GSM es un estándar viejo cuyo desarrollo para 3G y más allá es pobre, y que en Venezuela está patéticamente explotado por una compañía llamada Digitel cuyos planes de mercadeo en rubros como transmisión de datos son paupérrimos. Sin embargo, GSM es una tecnología sobresaliente en cuanto a diseño y que, afortunadamente, tiene mucha documentación disponible.

Entre esa documentación es posible conseguir una lista de comandos AT para utilizar un módem GSM como plataforma de envío de mensajes cortos de texto (SMS). Más aún, los teléfonos de fabricantes serios y profesionales como Nokia tienen tablas extendidas de comandos AT que te permiten hacer virtualmente de todo con tu teléfono, cosa que es difícil de conseguir en otras marcas y otras tecnologías. Mi teléfono Nokia GSM no tiene cable de datos (es un USB de cuatro pines que no consigo) así que esto lo hice con un Sagem MyX5-2V a través del puerto infrarrojo.

Hands on

Lo primero es verificar si el equipo es efectivamente un módem GSM. Un keel de Linux que incluya soporte para IrDA o dispositivos CDC ACM en una distribución modea, como Debian, es la mejor fuente de información al respecto: conecta tu teléfono con el cable de datos y verifica los mensajes del keel para ver si se detecta un módem (/dev/ttyACM0 ó /dev/ttyUSB0 suelen ser nombres comunes para estos dispositivos). En mi caso, tengo primero que levantar ircomm-tty y correr irattach irda0 -s para generar un dispositivo /dev/ircomm0. Con la opción de conectividad IrDA activada y con el teléfono en rango, usé minicom para pasar comandos AT al equipo.

A través del comando AT+CMGF=1 verifiqué que el equipo tenía capacidades de envío de mensajes cortos de texto. Hay muchos parámetros adicionales que se pueden pasar para ajustar, por ejemplo, el tiempo de vida del SMS, si el mensaje es un SMS flash, etc. La documentación que conseguí está aquí. Luego, con AT+CMGS="numero-de-telefono" le pasas el teléfono del destinatario del mensaje y luego introduces el mensaje. Terminas el mismo con el caracter de terminación Control+Z. Luego de un par de segundos, el módem responde con un mensaje satisfactorio si el SMS fue enviado.

Aplicaciones

En Debian hay disponible algunas aplicaciones interesantes para montar tu propio servidor SMS en casa. La más sencilla que conseguí para lo que quiero hacer es smstools, que levanta un demonio llamado smsd y monitorea unas colas en /var/spool/sms. La configuración se puede hacer por Debconf (me tomó tres ENTER) y el demonio es bastante estable. Ahora, tu script de notificación preferido puede preparar mensajes cortos y tirarlos en /var/spool/sms para que smsd los envíe a el/la administrador/a de la red. Happy spamming.

Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s