Cómo enviar SMS desde Oracle

Aquí puedes ver cómo enviar mensajes de texto SMS desde Oracle Express con tu Ozeki SMS Gateway, que probablemente ya has descargado e instalado. Este tutorial te muestra una solución sobre cómo configurar Ozeki SMS Gateway para detectar y enviar mensajes salientes desde tu base de datos a cualquier teléfono móvil. En esta página encontrarás una instrucción detallada de configuración con capturas de pantalla que te ayudarán.

Ozeki SMS Gateway es un potente software de pasarela SMS que permite la comunicación bidireccional de mensajes SMS desde teléfonos móviles a PC y viceversa. Los mensajes pueden almacenarse en una base de datos, como un servidor Oracle.

En este tutorial, crearás una tabla 'ozekimessagein' y 'ozekimessageout', pero podrías darles cualquier nombre que desees. Lo único es que debes recordar los nombres de las tablas. Ozeki SMS Gateway utilizará consultas SQL en la tabla 'ozekimessageout' para enviar mensajes.

Puedes conectar Ozeki SMS Gateway a la red GSM de dos maneras:

  1. Una solución hardware: módem GSM conectado al PC
  2. Una solución software: Proveedor de servicios SMS por IP a través de internet (SMPP, CIMD, UCP/EMI)

Aquí puedes leer cómo configurar Ozeki SMS Gateway con la interfaz gráfica del navegador.

Paso 1 - Configurar la base de datos Oracle

El primer paso de esta guía es configurar una base de datos Oracle. Para ello, primero necesitas instalar Oracle en tu computadora e iniciar sesión en la interfaz web del servidor (Figura 1).

iniciar sesión en oracle
Figura 1 - Iniciar sesión en Oracle

En el menú principal de la aplicación Oracle Database Express, debes seleccionar la opción SQL para configurar la base de datos Oracle, así que haz clic en su icono como puedes ver en la Figura 2.

hacer clic en sql
Figura 2 - Haz clic en 'SQL'

A continuación, debes hacer clic en 'SQL Commands' como muestra la Figura 3 para poder ejecutar comandos SQL en tu base de datos Oracle.

hacer clic en sql commands
Figura 3 - Haz clic en 'SQL Commands'

Por favor, copia y pega las siguientes sentencias SQL para crear los diseños de las tablas (Figuras 4-11).

CREATE TABLE ozekimessagein (
id int,
sender varchar(255) default NULL,
receiver varchar(255) default NULL,
msg varchar(160) default NULL,
senttime varchar(100) default NULL,
receivedtime varchar(100) default NULL,
operator varchar(120) default NULL,
msgtype varchar(160) default NULL,
reference varchar(100) default NULL
)

copiar pegar create table
Figura 4 - Copiar y pegar la sentencia CREATE TABLE

CREATE INDEX index_id1
ON ozekimessagein(id)

copiar pegar create index
Figura 5 - Copiar y pegar la sentencia CREATE INDEX

CREATE SEQUENCE X

copiar pegar create sequence
Figura 6 - Copiar y pegar la sentencia CREATE SEQUENCE

CREATE TRIGGER ozekimessagein_auto 
BEFORE INSERT on ozekimessagein
for each row
when (new.id is null)
begin
  SELECT x.nextval INTO :new.id FROM DUAL;
end

copiar pegar create trigger
Figura 7 - Copiar y pegar la sentencia CREATE TRIGGER

CREATE TABLE ozekimessageout (
id int,
sender varchar(255) default NULL,
receiver varchar(255) default NULL,
msg varchar(160) default NULL,
senttime varchar(100) default NULL,
receivedtime varchar(100) default NULL,
operator varchar(120) default NULL,
msgtype varchar(160) default NULL,
reference varchar(100) default NULL,
status varchar(20) default NULL,
errormsg varchar(250) default NULL
)

copiar pegar create table
Figura 8 - Copiar y pegar la sentencia CREATE TABLE

CREATE INDEX index_id2
ON ozekimessageout(id)!

copiar pegar create index
Figura 9 - Copiar y pegar la sentencia CREATE INDEX

CREATE SEQUENCE Y

copiar pegar create sequence
Figura 10 - Copiar y pegar la sentencia CREATE SEQUENCE

CREATE TRIGGER ozekimessageout_auto 
BEFORE INSERT on ozekimessageout
for each row
when (new.id is null)
begin
  SELECT y.nextval INTO :new.id FROM DUAL;
end

copiar pegar create trigger
Figura 11 - Copiar y pegar la sentencia CREATE TRIGGER

¡Felicidades! Has terminado de crear la estructura de tu base de datos.

Paso 2 - Crear la conexión a la base de datos Oracle

El siguiente paso de la guía es crear la conexión a la base de datos Oracle que pueda conectarse a la base de datos y manejar sus tablas. Para ello, abre SMS Gateway y primero, selecciona el menú Apps desde la barra de herramientas. En este menú, debes desplazarte hasta la sección 'Interfaces de aplicación', y aquí, como en la Figura 12, haz clic en el botón de instalar de 'SQL messaging'.

hacer clic en agregar nuevo usuario o aplicación
Figura 12 - Haz clic en 'Agregar nuevo usuario o aplicación...'

El menú 'SQL messaging' contiene todos los tipos de conexiones de base de datos disponibles en SMS Gateway. Ahora, para poder conectarte a tu base de datos Oracle y sus tablas, simplemente haz clic en el botón Instalar de la conexión a la base de datos Oracle como puedes ver en la Figura 13.

hacer clic en el botón instalar junto al usuario de base de datos
Figura 13 - Haz clic en el botón 'instalar' junto al usuario 'Database'

A continuación, necesitas proporcionar algunos detalles para poder conectarte a la base de datos correctamente. Primero, simplemente asigna un nombre a la conexión. Después, como en la Figura 14, proporciona los detalles de la base de datos Oracle. El 'Data source' es la dirección IP del lugar donde instalaste la base de datos. Si está en la misma computadora, puedes escribir '127.0.0.1' en este campo. Los campos 'User id' y 'Password' deben representar tu cuenta de usuario de la base de datos Oracle. Si has terminado, simplemente haz clic en OK.

proporcionar un nombre para tu usuario de base de datos
Figura 14 - Proporciona un nombre para tu Usuario de Base de Datos

Paso 3 - Enviar un SMS de prueba

Para probar la conexión a la base de datos y la base de datos en sí, simplemente abre la conexión a la base de datos Oracle creada. Aquí, puedes ver la pestaña SQL (Figura 15) donde puedes escribir los comandos SQL que deseas ejecutar. Así que, simplemente copia y pega el comando SQL a continuación, escribe un número de teléfono válido como valor y haz clic en 'Ejecutar' para probar la conexión.

INSERT INTO ozekimessageout 
(receiver, msg, status) 
VALUES 
('+36205460691','Hola','send')

ejecutar la sentencia insert para crear un nuevo registro de mensaje
Figura 15 - Ejecuta la sentencia INSERT para crear un nuevo registro de mensaje

La conexión a la base de datos Oracle es capaz de leer las filas de las tablas creadas, y si detecta un nuevo mensaje, envía el mensaje al número de teléfono que proporcionaste como valor. Luego, el mensaje se almacena en la carpeta Sent de la conexión como puedes ver en la Figura 16.

mensaje colocado en la carpeta enviados
Figura 16 - El mensaje ha sido colocado en la carpeta 'Enviados'

Puedes verificar cada mensaje en la tabla 'ozekimessageout' ejecutando la consulta SQL a continuación. Este comando lista cada mensaje con todos sus detalles, como el número de teléfono del destinatario, el mensaje y el estado del mensaje, como lo demuestra la Figura 17.

SELECT * FROM ozekimessageout

el estado del mensaje es enviado
Figura 17 - El ESTADO del mensaje es 'enviado'

More information