Extras
Informes de entrega
El software de SMSEagle le permite habilitar informes de entrega para cada SMS enviado. Los informes de entrega son una función que permite recibir una confirmación de que el SMS fue recibido en el teléfono del destinatario.
Para habilitar los informes de entrega, vaya a la interfaz web > menú Settings y establezca “Delivery Reports” en “Yes”

Una vez que los informes de entrega estén habilitados en la interfaz web, puede verificar si el SMS fue entregado al destinatario:
En la interfaz web En el menú Folders > Sent items > abra el mensaje que desea verificar. Presione “Show Details“ en la esquina superior derecha del mensaje. El campo “Modem Status” contiene información sobre el estado de entrega

Usando Webhooks La función CallbackURL permite definir un webhook para el cambio de estado de entrega. Los webhooks son endpoints HTTP estándar implementados en su aplicación externa que aceptarán solicitudes HTTP del dispositivo SMSEagle. Los webhooks le evitan tener que enviar solicitudes continuamente al dispositivo SMSEagle preguntando por el estado del mensaje. Consulte más detalles en el capítulo Callback URL de este Manual del Usuario.
Usando API
Use el método “read_sms” para obtener datos de un SMS seleccionado en la carpeta sentitems. Los datos contendrán las columnas “Status” y “DeliveryDateTime” que incluyen información sobre el estado de entrega del mensaje. Para obtener más información sobre los posibles valores de la columna “Status”, consulte la tabla “Field Description Of Response Data – Sentitems Folder” en la Referencia de APIv1.
Conexión directa a la base de datos de SMSEagle
La base de datos de SMSEagle funciona con el motor de base de datos PostgreSQL. Puede usar un acceso directo a la base de datos para leer/escribir mensajes SMS directamente desde/hacia la base de datos mediante consultas SQL.
El acceso a la base de datos para aplicaciones externas está deshabilitado de forma predeterminada. Para habilitarlo, vaya a la interfaz web > menú Settings y habilite el siguiente ajuste:

Una vez habilitado el acceso a la base de datos, es posible conectarse a la base de datos desde una aplicación externa utilizando las siguientes credenciales:
Host: dirección IP de su dispositivo
Nombre de la base de datos:
smseagleUsuario:
smseagleuserContraseña:
postgreeagle
Inyectar SMS cortos usando SQL
El ejemplo más simple es un mensaje de texto corto (limitado a 160 caracteres):
INSERT INTO outbox (
DestinationNumber,
TextDecoded,
CreatorID,
Coding,
Class,
SenderID
) VALUES (
'1234567',
'This is a SQL test message',
'Program',
'Default_No_Compression',
-1,
'smseagle1'
);
INSERT INTO user_outbox (
id_outbox,
id_user
) SELECT CURRVAL(pg_get_serial_sequence('outbox','ID')), 1;
En el ejemplo anterior, el mensaje pertenecerá al usuario con id_user 1 (por defecto “admin”). Puede encontrar los valores de id_user para otros usuarios en la tabla public.»user». El campo SenderID contiene el número de identificación del módem SMSEagle. Para el módem 1, SenderID = smseagle1, SenderID = smseagle2 para el módem 2, etc.
Inyectar SMS largos usando SQL
Insertar mensajes de varias partes es un poco más complicado, también necesita construir el encabezado UDH y almacenarlo escrito en hexadecimal en el campo UDH. A menos que tenga una buena razón para hacerlo manualmente, use la API.
Para un mensaje de texto largo, el UDH comienza con 050003 seguido de un byte como referencia del mensaje (puede colocar cualquier valor hexadecimal ahí, pero debe ser diferente para cada mensaje, D3 en el siguiente ejemplo), un byte para el número de mensajes (02 en el ejemplo, debe ser único para cada mensaje que envíe al mismo número de teléfono) y un byte para el número del mensaje actual (01 para el primer mensaje, 02 para el segundo, etc.).
Por ejemplo, un mensaje de texto largo de dos partes podría verse de la siguiente manera:
INSERT INTO outbox (
"DestinationNumber",
"CreatorID",
"MultiPart",
"UDH",
"TextDecoded",
"Coding",
"Class",
"SenderID"
) VALUES (
'1234567',
'Program',
'true',
'050003D30201',
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, qui',
'Default_No_Compression',
-1,
'smseagle1'
)
INSERT INTO outbox_multipart (
"ID",
"SequencePosition",
"UDH",
"TextDecoded",
"Coding",
"Class"
) SELECT
CURRVAL(pg_get_serial_sequence('outbox','ID')),
2,
'050003D30202',
's nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
'Default_No_Compression',
-1;
INSERT INTO user_outbox (
id_outbox,
id_user
) SELECT
CURRVAL(pg_get_serial_sequence('outbox','ID')),
1;
Nota: Agregar UDH significa que tiene menos espacio para el texto, en el ejemplo anterior solo puede usar 153 caracteres en un solo mensaje.
Scripts de limpieza de la base de datos
Hemos agregado algunos scripts útiles que pueden usarse para eliminar mensajes SMS de la base de datos a través de la CLI de Linux. Los scripts se encuentran en el siguiente directorio: /opt/scripts/
db_delete – script para eliminar SMS de las carpetas Inbox, SentItems anteriores a la fecha proporcionada. Uso:
./db_delete YYYYMMDDhhmmdb_delete_7days – script para eliminar SMS de las carpetas Inbox, Sentitems anteriores a 7 días. Uso:
./db_delete_7daysdb_delete_allfolders – script para limpiar las carpetas de la base de datos PostgreSQL (Inbox, SentItems, Outbox). Diseñado especialmente para ejecutarse periódicamente mediante cron. Uso:
./db_delete_allfoldersdb_delete_select - script para eliminar SMS de la carpeta de base de datos elegida (Inbox, Outbox, SentItems, Trash). Uso:
./db_delete_select {inbox|outbox|sentitems|trash}
Agregar script al demonio cron del sistema
Cree un archivo dentro del directorio /etc/cron.d/ con el nombre que desee (por ejemplo, pico db_cleaner)
Ejemplo de contenido de este archivo:
0 0 1 * * root /opt/scripts/db_delete_allfoldersEsto ejecutará el script de limpieza cada día 1ro del mes.
Agente SNMP
“Simple Network Management Protocol (SNMP) es un protocolo estándar de Internet para gestionar dispositivos en redes IP. Se utiliza principalmente en sistemas de gestión de redes para supervisar dispositivos conectados a la red en busca de condiciones que requieran atención administrativa” (fuente: Wikipedia).
El dispositivo SMSEagle tiene un agente Net-SNMP integrado. El agente SNMP proporciona acceso al árbol MIB de Linux Host del dispositivo y, además (mediante la extensión NET-SNMP-EXTEND-MIB), permite el acceso a métricas personalizadas específicas de SMSEagle.
Las métricas SNMP disponibles que describen el estado de un dispositivo SMSEagle son:
Nombre de la métrica |
Descripción |
OID |
|---|---|---|
GSM_Signal1 |
Devuelve la intensidad de la señal 3G/4G en porcentaje para el módem 1. Rango de valores: 0-100. Si el módem está desconectado de la red celular, GSM_Signal devuelve 0. |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.71.83.77.95.83.105.103.110.97.108.49 |
GSM_Signal[X] |
Devuelve la intensidad de la señal 3G/4G en porcentaje para el módem X. Rango de valores: 0-100. Si el módem está desconectado de la red celular, GSM_Signal devuelve 0. |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.71.83.77.95.83.105.103.110.97.108.[48+X] |
GSM_NetName1 |
Devuelve el nombre de la red celular en el módem 1 |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.12.71.83.77.95.78.101.116.78.97.109.101.49 |
GSM_NetName[X] |
Devuelve el nombre de la red celular utilizada en el módem X |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.12.71.83.77.95.78.101.116.78.97.109.101.[48+X] |
GSM_ModemState[X] donde X es el número del módem |
Devuelve información sobre el estado del módem, habilitado/deshabilitado |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.77.111.100.101.109.83.116.97.116.101.49 (para el 1er módem) |
FolderOutbox_Total |
Devuelve el número de mensajes SMS en la carpeta Outbox (longitud de la cola de salida) |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.18.70.111.108.100.101.114.79.117.116.98.111.120.95.84.111.116.97.108 |
FolderInbox_Total |
Devuelve el número de mensajes SMS en la carpeta Inbox |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.17.70.111.108.100.101.114.73.110.98.111.120.95.84.111.116.97.108 |
FolderSent_Last24H |
Devuelve el número de mensajes SMS enviados desde el dispositivo en las últimas 24 horas |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.18.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.50.52.72 |
FolderSent_Last1M |
Devuelve el número de mensajes SMS enviados desde el dispositivo durante el último mes |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.17.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.49.77 |
FolderSent_Last24HSendErr |
Devuelve el número de mensajes SMS enviados con error en las últimas 24h. El error ocurre cuando el módem 3G no puede enviar el mensaje SMS o el mensaje es rechazado por el operador 3G/4G (esto sucede sobre todo cuando el saldo de una tarjeta SIM de prepago se ha agotado) |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.25.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.50.52.72.83.101.110.100.69.114.114 |
SIM_State[X] donde X es el número del módem |
Devuelve información del estado físico de la SIM |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.83.73.77.95.83.116.97.116.101.49 (para el 1er módem) |
SIM_RegState[X] donde X es el número del módem |
Devuelve información del estado de registro de la tarjeta SIM en la red móvil. |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.83.73.77.95.82.101.103.83.116.97.116.101.49 (para el 1er módem) |
Valores de resultado
Usando OID
Los valores de resultado para cada métrica personalizada están disponibles y pueden obtenerse desde el OID indicado en la tabla anterior.
Usando el nombre textual
Alternativamente, los valores de resultado para cada métrica personalizada pueden obtenerse usando nombres textuales desde el árbol OID bajo: NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»[METRIC NAME]»
Por ejemplo: Valor de resultado para el parámetro GSM_Signal1: NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»GSM_Signal1»
Si la herramienta SNMP que ha elegido no puede acceder a los objetos NET-SNMP-EXTEND-MIB, puede descargar las definiciones MIB desde: https://www.smseagle.eu/download/NET-SNMP-EXTEND-MIB.txt
Lectura de los valores de resultado Para probar la lectura de los valores de los parámetros desde el agente SNMP, puede usar cualquier herramienta disponible para el protocolo SNMP (por ejemplo: la librería NET-SNMP para Linux o iReasoning MiB-Browser para Windows).
Ejemplo de lectura del valor de GSM_Signal1 usando la librería NET-SNMP
a) Comando para leer el valor del resultado:
snmpget -v 2c -c public localhost .1.3.6.1.4.1.8072.1.3.2.3.1.2.11.71.83.77.95.83.105.103.110.97.108.49
Resultado:
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»GSM_Signal1» = STRING: 54
Comentario: El valor de intensidad de señal 3G/4G es del 54%
Ejemplo de lectura del valor GSM_NetName1 con la biblioteca NET-SNMP
a) Comando para leer el valor del resultado:
snmpget -v 2c -c public localhost .1.3.6.1.4.1.8072.1.3.2.3.1.2.12.71.83.77.95.78.101.116.78.97.109.101.49
Resultado:
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»GSM_NetName1» = STRING: PLAY
Comentario: La red actualmente usada en la tarjeta SIM #1 es PLAY
Ejemplo de lectura del valor FolderOutbox_Total usando la librería NET-SNMP (y el nombre textual de la métrica)
a) Comando para leer el valor del resultado:
snmpget -v 2c -c public ip-of-smseagle “NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»FolderOutbox_Total»”
Resultado:
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»FolderOutbox_Total» = STRING: 0
Comentario: El número de mensajes SMS en espera en la cola de la bandeja de salida es 0
Ejemplo de lectura del tiempo de actividad del sistema desde un host Linux usando la librería NET-SNMP
a) Comando para leer el valor del resultado:
snmpget -v 2c -c public ip-of-smseagle system.sysUpTime.0
Resultado:
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (216622) 0:36:06.22
Comentario: El sistema Linux lleva activo 36 horas, 6.22 minutos
Ejemplo de exploración de los parámetros de extensión de SMSEagle EN el árbol MIB usando la librería NET-SNMP
a) Comando para leer el valor del resultado:
snmpwalk -v 2c -c public ip-of-smseagle .1.3.6.1.4.1.8072.1.3.2.3.1.2
Resultado:
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»GSM_Signal1» = STRING: 54
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»GSM_Signal2» = STRING: 54
…
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»GSM_NetName1» = STRING: PLAY
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»GSM_NetName2» = STRING: PLAY
…
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»FolderInbox_Total» = STRING: 15
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»FolderSent_Last1M» = STRING: 19
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»FolderOutbox_Total» = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.»FolderSent_Last24H» = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.» FolderSent_Last24HSendErr» = STRING: 0
Ejemplo de exploración de los parámetros de extensión de SMSEagle EN el árbol MIB usando mib-browser

Configuración del control de acceso SNMP v3
Por defecto, los dispositivos SMSEagle utilizan el control de acceso SNMP v2. El uso de v3 puede reforzar la seguridad, aunque no es obligatorio. Para cambiar fácilmente al control de acceso SNMP v3, hemos preparado un script de shell especial ubicado en el directorio /opt/smseagle.
Inicie sesión vía SSH usando la cuenta root
Navegue a: cd /opt/smseagle/
Script de configuración: ./snmpv3
El script puede ejecutarse con los siguientes parámetros:
add
del
enablev2
disablev2
Para agregar un USUARIO v3, ejecute:
./snmpv3 add USERNAME PASSWORD ENCRYPTIONPASSWORD
Para eliminar un USUARIO, ejecute:
./snmpv3 del
Para deshabilitar la política de acceso v2, ejecute:
./snmpv3 disablev2
Para habilitar la política de acceso v2, ejecute:
./snmpv3 enablev2
Reenvío de registros a un servidor externo
Nuestros dispositivos ejecutan rsyslog para la gestión de registros. Aquí describimos cómo configurar reglas adicionales para el demonio rsyslog: rsyslogd. Este es solo un breve extracto del sitio web del manual de rsyslog. La información completa está disponible en: https://www.rsyslog.com/
La configuración de rsyslogd se gestiona mediante un archivo de configuración ubicado en /etc/rsyslog.conf
En la parte inferior del archivo de configuración, agregue:
*.* action(type=»omfwd» target=»SERVER_IP» port=»PORT» protocol=»PROTOCOL»
action.resumeRetryCount=»10»
queue.type=»linkedList» queue.size=»10000»)
donde: SERVER_IP – dirección IP (o FQDN) del servidor receptor PORT – puerto en el servidor receptor PROTOCOL uno de los valores: tcp, udp
Ejemplo:
*.* action(type=»omfwd» target=»192.168.0.250» port=»10514» protocol=»tcp»
action.resumeRetryCount=»10»
queue.type=»linkedList» queue.size=»10000»)
Cifrado SSL de su tráfico de registros: consulte este artículo: https://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_summary.html
Verificación automática de actualizaciones de software
El software SMSEagle está en un proceso de mejora continua. Escuchamos a nuestros clientes, y las nuevas versiones se basan en las aportaciones/solicitudes de nuestros clientes. Las actualizaciones de software se publican con frecuencia y ofrecen acceso a nuevas funciones y correcciones de problemas reportados. La interfaz web (Web-GUI) le ofrece la posibilidad de verificar automáticamente si hay nuevas actualizaciones de software. Esto se puede hacer de dos maneras:
Verificación manual
Para verificar manualmente si hay actualizaciones de software disponibles, vaya al menú Settings > pestaña Maintenance. Haga clic en el botón “Check manually now”. En la parte superior aparecerá un globo en rojo con información indicando si el sistema está actualizado.
Comprobación automática
Para iniciar las comprobaciones automáticas de actualizaciones de software, vaya al menú Settings > pestaña Updates, y marque la opción “Automatically check for software updates”. Esto habilitará comprobaciones periódicas (una vez al mes) de actualizaciones de software disponibles. Si hay una nueva actualización disponible, aparecerá un mensaje “Update Available” en el menú Settings> Sysinfo – junto al número de versión de software actual.
Si selecciona “Notify Admin about new software version by SMS”, el dispositivo enviará adicionalmente un SMS a la cuenta de administrador predeterminada (si el número de teléfono está introducido en la cuenta) con una notificación sobre la nueva actualización de software.

Captura de pantalla de “General settings-Updates”
Nota: Su dispositivo SMSEagle debe tener conectividad HTTPS con la dirección www.smseagle.eu para que esta función funcione.
Base de conocimientos y portal de soporte
Puede encontrar más información y consejos útiles sobre la configuración del dispositivo SMSEagle en nuestra base de conocimientos y portal de soporte en línea en: https://support.smseagle.eu