SMPP
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMTICAS Y FSICAS
CARRERA DE INGENIERA EN NETWORKING
GRUPO #8
SMPP (SHORT MESSAGE PEER TO PEER)
INTEGRANTES:
CEPEDA SANTOS JUAN CARLOS
JCOME BAJAA ERICKA
NIVECELA PAREDES XAVIER
PEAFIEL ADRIN RONALD
ROS CAICHO ARTURO
DOCENTE: ING. OSCAR APOLINARIO
CURSO: N6A
NDICE GENERAL
SMPP
CAPTULO I: INTRODUCCIN................................................................................. 5
TEMA............................................................................................................................. 5
SUBTEMA..................................................................................................................... 8
ANTECEDENTE............................................................................................................. 8
OBJETIVOS..................................................................................................................... 8
ALCANCE........................................................................................................................ 8
JUSTIFICACIN.............................................................................................................. 8
CAPTULO II: MARCO TERICO............................................................................. 10
ANTECEDENTES.......................................................................................................... 10
FUNDAMENTACIN TERICA................................................................................ 10
QU ES SMPP................................................................................................... 10
GLOSARIO........................................................................................................ 10
CARACTERSTICAS DEL SMPP........................................................................... 10
APLICACIONES DEL SMPP.................................................................................. 10
CAPTULO III: DESARROLO...................................................................................... 15
SMS GATEWAY............................................................................................................ 15
OZEKI NG SMS GATEWAY....................................................................................... 17
PRUEBA DE ENVO DE UN SMS.............................................................................. 17
CAPTULO IV: CONCLUSIN.................................................................................... 15
CONCLUSIONES.......................................................................................................... 15
RECOMENDACIONES................................................................................................ 16
BIBLIOGRAFA................................................................................................................ 19
NDICE DE GRFICOS
SMPP
GRFICO N 1 TIPOS DE SEALES....................................................................................................
7
GRFICO N 2 REPRESENTACIN DEL ESPECTRO DE LNEAS.................................................. 8
GRFICO N 3 CANAL PERFECTO SIN RUIDO O ISI....................................................................
12
GRFICO N 4 CANAL CON RUIDO E INTERFERENCIA.............................................................
13
GRFICO N 5 CODIFICADOR DPCM (TRANSMISOR)................................................................
15
GRFICO N 6 CODIFICADOR DPCM (RECEPTOR).......................................................................
16
CAPTULO I
INTRODUCCIN
En el da de hoy el SMS (servicio de mensajes cortos) y MMS (servicio de mensajes
multimedia) son dos de los servicios ms populares en las comunicaciones inalmbricas,
ofreciendo a los clientes emocionantes maneras de comunicarse mediante el envo de
SMPP
mensajes de texto y multimedia. Este documento ofrece orientacin prctica en la
planificacin e implementacin de los servicios de SMS y MMS con interfuncionamiento (la
capacidad de enviar un mensaje con xito cuando el origen y destino de los telfonos
celulares no utilizan el mismo operador de telefona mvil). Todo esto se lleva a cabo a
travs de un protocolo que se lo detalla a continuacin.
TEMA
Short Message Peer to Peer (SMPP)
SUBTEMAS
SMS Gateway
Aplicacin de JAVA
Envo y Recepcin de mensajes
ANTECEDENTES
SMPP (Short Message Peer-to-Peer) fue diseado originalmente por Aldiscon, una pequea
compaa irlandesa que ms tarde fue adquirida por Logica (ahora separada y conocida
como Acision). El protocolo fue originalmente creado por un desarrollador, Ian J Chambers,
para hacer pruebas de funcionalidad del SMSC sin necesidad de utilizar equipos de prueba
SS7 para enviar mensajes. En 1999, Logica entreg formalmente SMPP al Foro
Desarrolladores SMPP, posteriormente rebautizado como el Foro de SMS y ahora disuelto.
Las especificaciones del protocolo SMPP todava estn disponibles a travs de la pgina
web, que tambin lleva un aviso indicando que se dar de baja al final de 2007. Como parte
de las condiciones de traspaso originales, la propiedad del SMPP ha vuelto a Acision debido
a la disolucin del SMS foro.
OBJETIVOS
SMPP
Objetivo General:
Realizar el envo de un SMS por medio de un cliente JAVA
Objetivos Especficos:
Establecer la conexin entre cliente y servidor
Desarrollar el cliente en JAVA
Conectar el cliente con el gateway SMS
Desarrollar e implementar las clases necesarias para lograr las conexiones
ANTECEDENTES
El SMPP puede considerarse un protocolo extensible. Con el fin de alcanzar el mayor grado
posible de compatibilidad e interoperabilidad cualquier aplicacin debe aplicar el principio
de robustez de Internet: "Se conservador en lo que enva, ser liberal en lo que acepta". Se
debe utilizar un conjunto mnimo de caractersticas que son necesarias para realizar una
tarea. Y si el objetivo es la comunicacin, cada aplicacin debe superar las inconformidades.
Varios tipos de mensajes (mensajes de texto SMS, WAP push, mensajes de datos binarios,
etc...) pueden ser enviados desde mltiples plataformas, aplicaciones y dispositivos para
hacer ms fcil conectar sistemas internos y externos. Ofrecer robustas e inteligentes
soluciones de negocio, que ayudan informado el accionar de la toma de decisiones de
negocio y aumentar la productividad en toda la organizacin. Controlar los costes sin
sacrificar el rendimiento, la disponibilidad o la escalabilidad en tres reas clave: la
mensajera empresarial, la productividad del desarrollador, y el control de costos.
JUSTIFICACIN
Actualmente, las organizaciones se enfrentan a varios problemas de comunicacin nicos: la
proliferacin de mensajes electrnicos a travs de su empresa; la necesidad de proporcionar
SMPP
a los empleados, clientes y socios, informacin coherente; el deseo de equipar mejor a los
trabajadores con informacin significativa para tomar decisiones; y el mandato de controlar
los costos sin sacrificar la disponibilidad de las aplicaciones, seguridad, fiabilidad o
escalabilidad.
CAPTULO II
MARCO TERICO
Contrario a su nombre, el SMPP utiliza el modelo de operacin cliente-servidor. El Centro
de mensajes suele actuar como un servidor, a la espera de las conexiones desde ESMEs.
SMPP
Cuando SMPP se utiliza para la interconexin de SMS, el MC enviado generalmente acta
como un cliente.
El protocolo se basa en pares de peticin PDU / respuesta (unidades de datos de protocolo, o
paquetes) intercambiados sobre la Capa 4 (sesin TCP o X.25 SVC3) del modelo OSI. El
conocido puerto asignado por la IANA para SMPP cuando se opera a travs de TCP es 2775,
pero varios nmeros de puerto arbitrarios se utilizan a menudo en entornos de mensajera.
QU ES SMPP?
El protocolo de mensajes cortos punto a punto (SMPP) es un protocolo abierto, estndar
diseado para proporcionar una interfaz de comunicaciones de datos flexible para la
transferencia de datos de mensajes cortos entre un centro de mensajes, tales como un centro
de servicio de mensajes cortos (SMSC), GSM suplementarios no estructurados, Server u
otro tipo de centro de mensajes y un sistema de aplicacin SMS, WAP, como un servidor
proxy, gateway de correo electrnico o de otro tipo de mensajera de gateway.
GLOSARIO
AIM - Application Interface Module (Modulo de interfaz de aplicacin)
API - Application Programming Interface
CDR - Call Detail Record
ESME - External Short Message Entity.
SMPP
MSC - Mobile Switching Centre.
MS - Mobile Station.
NSAP - Network Service Access Point.
PDU - Protocol Data Unit.
PSSD - Process Unstructured Supplementary Services Data.
PSSR - Process Unstructured Supplementary Services Request.
SME - Short Message Entity.
SMSC - Short Message Service Centre.
SMPP - Short Message Peer to Peer Protocol.
TIA - Telecommunications Industry Association.
VC - Virtual Connection.
SMPP
Grfico 1: Diagrama de SMPP
Fuente: ActiveExperts, http://www.activexperts.com/sms-component/smppspecifications/introduction/fig1-1.jpg
CARACTERSTICAS
Utilizando el protocolo SMPP, un sistema de aplicacin SMS llamado Entidad de Mensajes
Cortos (ESME) puede iniciar una conexin de capa de aplicacin con un SMSC a travs de
una conexin TCP/IP o red X.25 y puede enviar y recibir mensajes cortos hacia y desde el
SMSC, respectivamente. El ESME tambin puede consultar, cancelar o sustituir mensajes
cortos utilizando SMPP.
SMPP admite un conjunto de funciones de mensajera de dos vas (envo y recibo), tales
como:
Transmitir mensajes de un ESME a destinos nicos o mltiples a travs del SMSC
SMPP
10
Un ESME puede recibir mensajes a travs del SMSC a partir de otros SME (por
ejemplo, estaciones mviles).
Consultar el estado de un mensaje corto almacenado en el SMSC
Cancelar o sustituir un mensaje corto almacenado en el SMSC
Enviar un mensaje corto registrado (para el cual un "recibo de entrega 'ser devuelto
por el SMSC al generador del mensaje)
Programar la fecha y la hora de entrega del mensaje
Seleccionar el modo de mensaje, es decir, de datagramas o almacenar y reenviar
Establecer la prioridad de entrega del mensaje corto
Definir el tipo de codificacin de datos del mensaje corto
Establecer el perodo de validez de mensajes corto
Asociar un tipo de servicio con cada mensaje, por ejemplo, la notificacin de correo
de voz
APLICACIONES
El protocolo SMPP define:
Un conjunto de operaciones para el intercambio de mensajes cortos entre un ESME
y un SMSC
Los datos que una aplicacin ESME debe intercambiar con un SMSC durante las
operaciones SMPP.
Los suscriptores de una red celular SMS pueden recibir mensajes cortos en una estacin
mvil (MS) a partir de uno o ms de ESME.
Los medios por los cuales estos mensajes llegan a la ESME a travs de una interfaz distinta
SMPP estn ms all del alcance de este documento. Sin embargo, los ejemplos de tales
aplicaciones ESME incluyen:
SMPP
11
Alertas de correo de voz procedentes de un VPS (Sistema de Procesamiento de Voz)
VPS, lo que indica mensajes de voz en el buzn de un cliente.
Servicios de buscapersonas numricos y alfanumricos
Servicios de informacin
Llamadas directamente marcado o desviados a un operador de mensaje, que reenva
el mensaje al SMSC, para su posterior entrega al telfono del abonado.
Aplicaciones de telemetra
CAPTULO III
DESARROLLO
El intercambio de mensajes entre un ESME y SMSC a travs de SMPP puede clasificarse en
tres grupos distintos de transacciones:
Los mensajes enviados desde el ESME (transmisor) al SMSC
Los mensajes enviados desde el SMSC al ESME (receptor)
SMPP
12
Los mensajes enviados desde el ESME (Transceptor) al SMSC y los mensajes
enviados desde el SMSC al ESME (Transceptor)
Grfico 2: Transacciones SMPP
Fue
nte: ActiveExperts, http://www.activexperts.com/sms-component/smppspecifications/overview/fig2-1.jpg
SMS GATEWAY
Para el desarrollo de la aplicacin se trabaj con Ozeki NG SMS Gateway, este Gateway es
un producto de la empresa Ozeki Informatics Ltd. que es un proveedor lder de software de
mensajera mvil. Ofrece productos de telecomunicaciones fciles de usar y diverso en
funciones para empresas y organizaciones.
Ozeki es una empresa dinmica y en crecimiento, con sede en Debrecen, Hungra con
oficinas en Budapest. Fue establecido en 2000 por inversores privados hngaros. La
compaa trabaja con clientes internacionales y se centra en mantener la buena reputacin
que se ha ganado a travs de los aos. Sus productos son utilizados por las empresas en ms
de 200 pases.
SMPP
13
Grfico 3: Ozeki Informatics Ltd.
Fuente: Ozeki Informatics Ltd., http://www.ozeki.hu
OZEKI NG SMS GATEWAY
Ozeki lanz el Java SMS SDK, ya que ha experimentado una demanda continua de los
desarrolladores de Java para una herramienta, que sea capaz de aadir la funcionalidad de
SMS para aplicaciones JAVA de una manera eficiente. Este SDK se comunica con el Ozeki
GN SMS Gateway, a travs de un socket TCP/IP. El socket est conectado siempre, lo que
hace que sea posible, el recibo de informes de entrega de SMS y mensajes SMS entrantes al
instante. El Ozeki Java SMS SDK implementa la comunicacin TCP/IP y proporciona
SMPP
14
llamadas a mtodos y eventos que se pueden implementar para lograr la funcionalidad
deseada.
Grfico 4: Comunicacin del SDK por medio de socket TCP/IP
Fu
ente: Ozeki SMS, http://www.ozekisms.com/attachments/584/2009_08_05_java_pelda_tcp.gif
Para poder utilizar este SDK, es necesario instalar Ozeki NG SMS Gateway en la red ya
que este ser responsable de la colocacin del sistema a la red mvil. Se recibir las
conexiones TCP/IP desde el Java SMS SDK y as podr enviar y recibir mensajes SMS a
travs del mtodo de comunicacin configurada (Grfico 4). Por ejemplo, puede
enviar/recibir mensajes SMS a travs de un telfono GSM conectado a su ordenador con un
telfono de cable de datos de PC, o bien, enviar/recibir mensajes SMS a travs de Internet
si se ha suscrito a un servicio de Internet de SMS.
PRUEBA DE ENVO DE UN SMS
SMPP
15
Para utilizar el SDK, es necesario tener el Java SE Development Kit instalado en la
computadora. El SDK fue desarrollado y probado en Eclipse, pero debera funcionar sin
problemas en cualquier otra plataforma de desarrollo Java. Entramos a la aplicacin Ozeki
NG e ingresamos nuestros datos.
Grfico 5: Ingreso a Ozeki NG
Una vez adentro, debemos agregar una nueva conexin o proveedor de servicio.
SMPP
16
Grfico 6: Nuevo proveedor de servicio
Como vamos a utilizar SMPP, entonces sealamos en SMPP Connection y damos clic en
Install.
Grfico 6: SMPP Connection install
SMPP
17
Ahora debemos ingresar los datos proporcionados por nuestro proveedor de servicio.
Grfico 7: Proveedor de servicio
El proveedor es un mismo compaero de grupo, usa la versin de Ozeki NG para Android.
Grfico 8: Ozeki NG Android
SMPP
18
Ya est creado la conexin, pero an no termina, debemos agregar una ruta.
Grfico 9: Nueva ruta
Definimos los campos de la ruta.
Grfico 10: Nueva ruta
Donde el Route
name puede ser cualquiera,
excepto el Source
que debe ser la persona
que ingres al
Ozeki NG y es todo para
un ruteo bsico.
Por el momento nos dirigimos a Eclipse, donde crearemos un nuevo proyecto.
SMPP
19
Grfico 11: Nuevo proyecto en Eclipse
Escribimos el nombre de nuestro proyecto y creamos una nueva clase.
Grfico 12: Nueva clase
Este proyecto necesitar el API para de conexin de Ozeki, as que agregamos el JAR que
proporciona Ozeki.
Grfico 13: Agregando el JAR externo
SMPP
20
SMPP
21
La clase tendr el siguiente cdigo.
import java.io.*;
import java.util.*;
import hu.ozeki.*;
public class Cliente extends OzSmsClient{
public Cliente(String host, int port) throws IOException,
InterruptedException {
super(host, port);
// TODO Auto-generated constructor stub
}
@Override
public void doOnMessageAcceptedForDelivery(OzSMSMessage sms) {
Date now = new Date();
System.out.println(now.toString() + " Message accepted for
delivery. ID: " +
sms.messageId);
}
@Override
public void doOnMessageDeliveredToHandset(OzSMSMessage sms) {
Date now = new Date();
System.out.println(now.toString() + " Message delivered to
handset. ID: " +
sms.messageId);
}
@Override
public void doOnMessageDeliveredToNetwork(OzSMSMessage sms) {
Date now = new Date();
System.out.println(now.toString() + " Message delivered to
network. ID: " +
sms.messageId);
}
@Override
public void doOnMessageDeliveryError(OzSMSMessage sms) {
Date now = new Date();
System.out.println(now.toString() + " Message could not be
delivered. ID: " +
sms.messageId + " Error message: " + sms.errorMessage +
"\r\n");
SMPP
22
}
@Override
public void doOnMessageReceived(OzSMSMessage sms) {
Date now = new Date();
System.out.println(now.toString() + " Message received. Sender
address: " +
sms.sender + " Message text: " + sms.messageData);
}
public void doOnClientConnectionError(String errorCode, String
errorMessage) {
Date now = new Date();
System.out.println(now.toString() + " Message code: " +
errorCode +
", Message: " + errorMessage);
}
@Override
public void doOnClientConnectionError(int arg0, String arg1) {
// TODO Auto-generated method stub
}
}
Donde se especifica el constructor de la clase y los mtodos a continuacin:
public Cliente(String host, int port) throws IOException,
InterruptedException {
super(host, port);
// TODO Auto-generated constructor stub
}
Crearemos otra clase para realizar la prueba.
import java.io.*;
import java.util.Scanner;
public class TestTcpSms {
/**
* @param args
*/
public static void main(String[] args) {
SMPP
23
Scanner ingreso = new Scanner (System.in);
try {
String host = "localhost";
int port = 9500;
String username = "admin";
String password = "abc123";
Cliente osc = new Cliente(host, port);
osc.login(username, password);
String line = "";
String dest="";
System.out.println("Ingrese su mensaje:");
line = ingreso.nextLine();
System.out.println("Ingrese el destinatario:");
dest= ingreso.nextLine();
dest="+593"+dest;
if(osc.isLoggedIn()) {
osc.sendMessage(dest , line);
osc.logout();
}
} catch (IOException e) {
System.out.println(e.toString());
e.printStackTrace();
} catch (InterruptedException e) {
System.out.println(e.toString());
e.printStackTrace();
}
}
Seteamos la disponibilidad del Ozeki NG
String host = "localhost";
int port = 9500;
String username = "admin";
String password = "abc123";
Ahora iniciamos la conexin con el Ozeki NG y nos conectamos.
SMPP
24
MyOzSmsClient osc = new MyOzSmsClient(host, port);
osc.login(username, password);
Una vez que estamos dentro, enviamos el mensaje.
if(osc.isLoggedIn()) osc.sendMessage("+001122334455", "Hello
World");
Finalmente nos desconectamos
osc.logout();
Hacemos la prueba e inicializamos el proyecto.
SMPP
25
Grfico 12: Envo del mensaje
Java enva al Ozeki NG el mensaje, este lo redirige al proveedor de servicios, y este
ltimo enva el mensaje al destinatario.
SMPP
26
Grfico 12: Recepcin del mensaje
SMPP
27
CAPTULO IV
CONCLUSIN
Como conclusiones obtenidas a travs del desarrollo de este proyecto se puede mencionar:
Este proyecto ha entregado un anlisis sobre como la calidad de servicio en un mercado
competitivo establece nuevas exigencias a la empresa, y el rol que juegan las tecnologas de
comunicacin mvil insertas en este escenario, apoyando directamente la operacin en los
procesos de negocio.
Se estableci una metodologa con los pasos basicos a seguir para que una empresa pueda
identificar la mejor solucin de tecnologa mvil segn sus necesidades, en base a objetivos
particulares definidos por cada gerencia y factores tcnicos presentes en cada negocio.
Despus de un anlisis detallado, se ha mostrado que el servicio de mensajera corta sobre
telefona celular, debido a su constante aumento y caractersticas particulares, en muchos
casos, ser la mejor opcin ante la necesidad de integrar canales de comunicacin mvil
sobre los procesos de venta y ciclos de produccin, abriendo adems un universo de nuevas
posibilidades.
En la actualidad, y segn la realidad del mercado de telecomunicaciones en Ecuador, no
existen herramientas de costo razonable que permitan una integracin fcil y en forma
SMPP
28
escalable de SMS a los sistemas internos de la empresa, por lo que esta debe ser construida
a pedido segn cada realidad.
El diseo del programa que este documento entrega, establece las bases de una herramienta
modular, reutilizable y escalable, que disminuir los costos y tiempos involucrados en la
integracin de SMS a la empresa, abordando de antemano factores fundamentales presentes
en cualquier implementacin de este tipo.
Este proyecto entrega una gua de referencia a quien desee interiorizarse sobre los
mecanismos y protocolos de comunicacin que entregan actualmente el proveedor de
acceso celular Osekisms, entregando una explicacin completa y detallada, la que se apoya
con ejemplos obtenidos durante los ciclos de pruebas.
Finalmente, los elementos de diseo y recomendaciones de implementacin entregados,
constituyen un referente de planificacin a la empresa de desarrollo que asuma la tarea de
construir y comercializar un software de este tipo.
SMPP
29
BIBLIOGRAFA
A. Henry- Labordre, Vincent Jonack (2004). SMS and MMS Interworking in Mobile
Networks (2nd ed., text rev.). Artech House.
Gwenal Le Bodic (2005). Mobile Messaging Technologies and Services: SMS, EMS and
MMS. John Wiley & Sons.