Envío de Mensajes SMS desde Fox
Por Alberto Rodríguez
Los mensajes SMS están suponiendo una auténtica
revolución en el mundo de la telefonía y tienen un gran futuro en las
aplicaciones de gestión.
Si el origen fueron
los mensajes SMS (Short Message Service) los que ahora se van imponiendo son
los EMS (Enhanced Messaging Service) o MMS (Multimedia Messaging Service).
El Short Message
Service (SMS) es la capacidad de enviar y recibir mensajes de texto a/y
desde teléfonos móbiles. El texto se puede componer de letras, o números o una
combinación de ellos. Los SMS se crearon cuando se incorporaron al estándar
Global System for Mobiles (GSM). El primer mensaje corto se envió en Diciembre
de 1992 desde un Personal Computer (PC) a un teléfono movil de Vodafone GSM en
la red de UK.
El Enhanced
Messaging Service (EMS) es la capacidad de enviar, imágenes, texto ó
sonido en un mensaje. La tecnología EMS es un
estándar del 3GPP (foro de regulación de GSM y UMTS), que supone una evolución
del SMS. Utiliza la concatenación de varios mensajes SMS. El primer movil que soportaba EMS salió a finales de
2001. La misma infraestructura que se usa para los SMS sirve para los EMS. Como toda tecnología, el
estándar EMS ha evolucionando. Los primeros móviles con EMS cuentan con la
versión EMS 4.0, mientras que los últimos llevan la 5.0.
El Multimedia
Messaging Service (MMS) como su propio nombre indica es la capacidad de
enviar y recibir mensajes que comprendean una combinación de texto, sonido,
imagenes y video a móviles que tengan
la capacidad MMS. El sistema MMS, aparte del envío de gráficos y animaciones como en el
EMS, permite el envío de fotos "adjuntas" al mensaje o insertar
archivos de vídeo o música, algo muy similar a lo que actualmente hacemos con
los mensajes de e-mail.
Los mensajes SMS
están especificados por el WTSI en los documentos GSM 03.40 y GSM 03.38, y
pueden ser de 160 caracteres de largo, siempre que cada carácter sea de 7 bits
según el alfabeto 7-bit
default alphabet. Los mensajes enviados con el alfabeto de 8 bits (max
140 caracteres) no se suelen ver por los móviles como mensajes de texto; se
suelen usar para datos (mensajes de
imágenes y sonidos). Los mensajes de 16-bit
(max 70 caracters) se usan para textos de mensaje Unicode (UCS2),
visible por muchos teléfonos.
En la actualidad los
mensajes SMS tienen toda una serie de ventajas de acuerdo a sus
características:
Almacenaje y envio
Esto significa que en el caso de que el
envío y el receptor no esté disponible, el mensaje es almacenado. Por el
contrario, no hay mecanismo de almacenaje incorporado al GPRS. Una vez que los
datos están preparados y listos para enviar, SMS tiene la ventaja sobre los
paquetes de datos en que el “problema” de enviar el mensaje pasa al centro SMS
más que al usuario.
Confirmación de entrega
Esto significa que el usuario sabe que el mensaje corto ha llegado a su destino.
Desventajas de
los SMS
Tamaño limitado de los
mensajes
El mensaje corto está
limitado a 140 octetos debido a las limitaciones de la Mobile Application Part
(MAP). Sería preferible un mensaje que tenga varias veces esta magnitud. Los
servicios de datos por paquetes como el GPRS tiene una capacidad de envío mucho
mayor. Esto quiere decir que los usuarios están menos limitados por las
barreras de los protocolos.
En los mensajes MMS
se ha superado el límite de los 160 caracteres.
Estructura
inflexible del mensaje
La estructura del
protocolo SMS Protocol Data Unit como está definido en el estándar GSM 03.40 es
inflexible. El Data Coding Scheme, Origination Address, Protocol Identifier y
otros campos de cabecera están fijos y esto ha limitado el número de escenarios
posibles. Incluso el uso de algunas caracteristicas impide que se usen otras.
El intento de solución para esto ha sido por ejemplo enviar dos veces el
Message Class. Sin embargo, esto es ineficiente. En su lugar, parece que el 3G incluirá un Tag de tamaño variable.
Cada parámetro en la cabecera como por ejemplo el Data Coding Scheme tendría un
Tag para indicar qué tipo de información se va a enviar en el campo siguiente
con una variable que indica el tamaño de la información que se envía.
Almacenaje y Envío
Todos los mensajes
SMS pasan por el centro de mensajes del proveedor. Mucho se ha discutido sobre
la posibilidad de enviar mensajes sin pasar por esos centros pero sin éxito
hasta la fecha
El Wireless
E-Mail
Una tecnología que está entrando ahora es el Wireless
e-Mail (o sea los e-mail enviados desde Smartphones o similares y la
ventaja/desventaja que tienen frente a los MMS son:
Las principales desventajas del Wireless e-Mail son:
·
No tienes notificación
de recepción del mensaje.
·
Van a parar a un
Servidor de Correo y ahí se quedan hasta que alguien los solicita.
·
Van a una dirección de
E-mail
Su principal ventaja
Son gratuitos. Salvo el
coste del envío del Smartphone.
Las ventajas de los MMS
son:
·
Notificación de
recepción.
·
Se pueden enviar a una
dirección de correo o a un e-mail
·
Llegan instantaneamente
al phone y al usuario se le dice que ha llegado.
Todavía es pronto para
saber quien ganará pero la lucha se está empezando a establecer ahora.
En resumen
Actualmente, el Short
Message Service tiene ventajas únicas que otros servicios no tienen tales como
el envío y confirmación. Sin embargo, tiene algunas notables carencias como el
tamaño del mensaje y su estructura.
El MMS ha incorporado
algunas de las cosas más interesantes del SMS como saber cuando un movil está
conectado y así le pueda enviar mensajes.
¿ Qué necesito para poder enviar mensajes desde mi ordenador?
Un teléfono movil que esté conectado a tu PC
¿Cómo conecto el phone a mi PC?
Las formas de conectar un movil a un PC que yo
conozca ahora mismo son 3:
·
Por cable a un puerto
COM
·
Por Infrarojos
·
Por Bluetooh
La mejor opción es la primera pues sabes
perfectamente a qué puerto está conectado tu teléfono.
La opción de infrarojos tuve que desecharla debido a
la dificultad que tiene Windows de asignar un puerto COM (facilmente
identificable) a los infrarojos .
El bluetooh también es una opción interesante pues te
suele dar el puerto COM7 ú COM8 y es fácil de manejar. El único problema es la
seguridad debido a que su alcance es de 4 metros, cualquiera en tu entorno
podría usarlo (por ejemplo el vecino de arriba).
¿Cómo comrpruebo que mi phone está bien conectado al PC y podemos
empezar a trabajar?
La mejor forma es que uses el Hyperterminal que viene con todos los
Windows.
1.- Carga el Hyperterminal.
2.- Indica el puerto al que está conectado tu movil
3.- Pon la velocidad a 9600
4.- Escribe ATZ y pulsa <enter>
Si obtienes un flamante OK. ¡Enhorabuena! Puedes
seguir leyendo y aplicando el resto del artículo. En caso de que no te responda tienes un problema... pues no eres
capaz de comunicarte con el teléfono.
Los teléfonos móviles
soportan la norma RS232 (Modems para PC). El estándar “de facto”
para controlar los teléfonos son los viejos y conocidos comandos AT HAYES,
o más comúnmente conocidos como comandos AT. De este modo podemos
configurar y controlar el módem utilizando los comandos AT. Una vez
establecida la conexión con un módem remoto, se pasa del modo comando al modo
conexión.
Cuando el usuario teclea el comando “ATZ” seguido de ENTER.
El módem interpreta este comando, que es de inicialización y devuelve la cadena
“OK” seguida de un retorno de carro para indicar que se ha ejecutado con éxito.
A continuación se listan algunos comandos AT.
ATA: Responder a una llamada entrante
ATD: Llamar a un número de tlf.
ATE: Eco de comandos ON/OFF
ATF: Seleccionar modo de conexión
ATH: Colgar/Descolgar
ATI: Obtener identificadores
ATL: Volumen del altavoz
ATM: Control del altavoz
ATS: Lectura/escritura de registros
ATZ: Reset del módem
Los teléfonos GSM no sólo se
comportan de forma muy parecida a un modem normal, permitiendo el intercambio
de datos con otro modem y utilizándose los comandos AT originales, sino que
incluyen muchas más características ya que permiten gestionar la base de datos
de teléfonos, la lista de los mensajes SMS recibidos, enviar mensajes SMS,
configurar diversos parámetros...
Para tener acceso a todos esos servicios, y dado que los comandos AT
estaban muy extendidos
y
muy estandarizados, se ha realizado una ampliación, añadiéndose nuevos
comandos. Estos
nuevos
comandos comienzan por las letras AT+, y se denominal comandos AT+.
Los Comandos AT+
A continuación se listan algunos de los comandos AT+ para tener una idea
de lo que se puede controlar a través del modem, aunque existen muchos más
a) AT+CGMI:
Identificación del fabricante
b) AT+CGSN:
Obtener número de serie
c) AT+CIMI:
Obtener el IMSI.
d) AT+CPAS:
Leer estado del modem
2.
Comandos del servicio de red
a) AT+CSQ:
Obtener calidad de la señal
b) AT+COPS:
Selección de un operador
c) AT+CREG:
Registrarse en una red
d) AT+WOPN:
Leer nombre del operador
3.
Comandos de seguridad:
a) AT+CPIN:
Introducir el PIN
b) AT+CPINC:
Obtener el número de reintentos que quedan
c) AT+CPWD:
Cambiar password
4.
Comandos para la agenda de teléfonos
a) AT+CPBR:
Leer todas las entradas
b) AT+CPBF:
Encontrar una entrada
c) AT+CPBW:
Almacenar una entrada
d) AT+CPBS:
Buscar una entrada
5.
Comandos para SMS
a) AT+CPMS:
Seleccionar lugar de almacenamiento de los SMS
b) AT+CMGF:
Seleccionar formato de los mensajes SMS
Modo
texto
Modo
PDU
c) AT+CMGR:
Leer un mensaje SMS almacenado
d) AT+CMGL:
Listar los mensajes almacenados
e) AT+CMGS:
Enviar mensaje SMS
f )
AT+CMGW: Almacenar mensaje en memoria
g) AT+CMSS:
Enviar mensaje almacenado
h) AT+CSCA:
Establecer el Centro de mensajes a usar
i) AT+ WMSC: Modificar el estado de un mensaje
Nota: No
todos los móviles soportan todas estas instrucciones. Deberás ver cuales son
las que soportan el tuyo.
Algunos ejemplos
A continuación se muestran algunos ejemplos de utilización de los
comantos AT+. Para probarlos se ha utilizado un ordenador PC, con un teléfono
conectado al puerto serie y el Hyperterminal.
Lectura de la lista de teléfonos
Para
listar todos los teléfonos se utiliza el comando AT+CPBR. Primero comprobamos
la capacidad del directorio telefónico:
AT+CPBR=?
+CPBR:
(1-150),20,14
OK
La
información devuelta nos indica que el directorio tiene 150 entradas, desde la
1 hasta la 150, y que en cada entrada el teléfono puede ocupar como máximo 20
caracteres y el texto 14. Para listar los teléfonos debemos indicar qué
entradas se quieren examinar. Como en este SIM hay 150 como máximo, utilizamos
el siguiente comando:
AT+CPBR=1,150
+CPBR:
1,"617557556",129,"LUIS"
+CPBR:
2,"925541831",129,"ROSA"
+CPBR:
3,"934465076",129,"PACO G"
+CPBR:
4,"944634436",129,"MARIANICO"
+CPBR: 5,"955338584",129,"ANGELCHU"
+CPBR:
6,"617203473",129,"PESADO"
+CPBR:
7,"679453250",129,"LUCRECIA"
+CPBR: 8,"629040222",129,"PAPA"
OK
Se
listan todos los teléfonos comprendidos entre las entradas 1 y 150. En total
hay 8, que ocupan las posiciones 1-8. Para listar las 3 primeras entradas
habría que hacer los siguiente:
AT+CPBR=1,3
+CPBR:
1,"617557556",129,"LUIS"
+CPBR:
2,"925541831",129,"ROSA"
+CPBR:
3,"934465076",129,"PACO G"
OK
Bien. Ya vas viendo que
las posibilidades son muchas. Pero seguro que me estarás diciendo ¿Y el Fox
donde está aquí?
Envío de mensajes desde Fox
FoxPro viene con el
MSCOM que es un ActiveX para manejo de puertos. Nosotros podemos usar ese
ActiveX de la misma forma que estamos interactuando con el HyperTerminal.
Mira el siguiente código:
oCom =
CREATEOBJECT("MSCOMMLib.MSComm")
oCom.CommPort =
1 && Estoy usando el puerto 1
oCom.Settings =
"9600,N,8,1"
TRY
IF oCom.PortOpen = .F.
oCom.PortOpen = .T.
ENDIF
CATCH
? 'Error : El puesto está abierto'
ENDTRY
oCom.Output
="ATZ" + CHR(13)
oCom.Output
="AT+CMGF=1" + CHR(13)
INKEY(.1)
*- Número del
Servidor SMS en este caso el de AMENA
oCom.Output
="AT+CSCA=+34656000311,145" + CHR(13)
INKEY(.1)
*- Número de
destino al que enviamos el mensaje
oCom.Output =
"AT+CMGS=" + lcTFDestino + CHR(13)
*- Texto que queremos enviar (acabado con CTRL
+ Z)
oCom.Output =
lcTexto + CHR(26)+ CHR(13)
INKEY(.1)
oCom.PortOpen =
.F.
Nota: este
código sólo funcionará en Fox 8 al usar el TRY/CATH
Ya ves que es
bastante fácil. No obstante, si te
metes en profundidad hay muchos campos en los que puedes ver las múltiples
opciones de que dispones.
Por ejemplo, en este
caso hemos compuesto el mensaje en formato texto. Si quieres lo podrías crear
en formato PDU traduciendo las cadenas y realizando una sola conexión con el
servidor.
FoxPress – Marzo de 2004
© 2004 FoxPress. All rights reserved