PROTOCOLO SMPP

Anuncio
PROTOCOLO
SMPP
X.25
1
MC/ SMSC
Página
ESME
INDICE
INDICE ..................................................................................................................................................... 2
Short Message Peer to Peer (SMPP) ......................................................................................................... 4
Message Centre (MC)........................................................................................................................... 4
External Short Message Entity (ESME) .................................................................................................. 4
Routing Entity (RE) ............................................................................................................................... 4
Descripción breve ................................................................................................................................ 5
Short Message Peer to Peer Protocol (Protocolo de Mensaje Corto entre iguales)............................... 5
Tecnologías Celulares Soportadas .................................................................................................... 5
Aplicaciones típicas de SMPP ............................................................................................................... 5
Sesiones SMPP ..................................................................................................................................... 6
Hay 3 formas de inicio de Sesión ESME. ............................................................................................ 6
1-TX Transmitter .......................................................................................................................... 6
2-RX Receiver ............................................................................................................................... 6
3-TRX Transceiver ......................................................................................................................... 6
Operaciones de Protocolo y PDU´s (Protocol Data Unit) ....................................................................... 6
Administración de Sesión. ................................................................................................................ 7
Mensaje de Presentación (Submission). ........................................................................................... 7
Entrega de Mensajes. ....................................................................................................................... 7
Mensaje de Difusión (Broadcasting) ................................................................................................. 7
Operaciones Auxiliares ..................................................................................................................... 7
Estableciendo una Sesión SMPP .......................................................................................................... 7
Estados de una Sesión SMPP ............................................................................................................ 7
Open ............................................................................................................................................ 7
Bound_TX..................................................................................................................................... 8
Bound_RX .................................................................................................................................... 8
Bound_TRX................................................................................................................................... 9
Unbound ...................................................................................................................................... 9
Ejemplo de Sesiones SMPP ................................................................................................................ 11
Sincrono y Asincrono ......................................................................................................................... 16
Página
Outbound ................................................................................................................................... 10
2
Closed .......................................................................................................................................... 9
¿Por qué Asíncrona? ...................................................................................................................... 17
Manejo de Errores ............................................................................................................................. 18
Manejo de Fallas de Conexión ........................................................................................................ 18
Fallas de Operación ............................................................................................................................ 19
El PDU no es reconocido................................................................................................................. 19
El PDU es incorrecto. ...................................................................................................................... 19
Longitud de campo invalido............................................................................................................ 19
El dato PDU es inesperado y se considera invalido (PDU data unexpected and deemed invalid). ... 19
PDU no permitida en el estado de sesión actual. ............................................................................ 19
Las ESME´s o MC restringen el uso de características de ciertos PDU´s. .......................................... 19
Parámetros SMPP y formato de PDU .................................................................................................. 20
Definiciones SMPP PDU...................................................................................................................... 20
1-Operación de Gestión de Sesión
Session Management ........................................................ 20
PDU BIND ................................................................................................................................... 20
PDU UNBIND .............................................................................................................................. 21
PDU ENQUIRE LINK..................................................................................................................... 21
2-Presentacion de Mensajes
Message Submission.................................................................. 22
PDU SUBMIT_SM........................................................................................................................ 22
3-Operaciones de entrega de Mensajes
Message Delivery Operations ................................... 22
PDU DELIVER_SM ....................................................................................................................... 22
4-Difusión de mensaje
Message Broadcast ................................................................................. 23
5-Presentación auxiliar
Ancilliary Submission............................................................................. 23
PDU CANCEL_SM........................................................................................................................ 23
PDU QUERY_SM ......................................................................................................................... 24
Página
3
PDU REPLACE_SM ...................................................................................................................... 24
Short Message Peer to Peer (SMPP)
SMPP, es un protocolo abierto, diseñado para proporcionar un interfaz de comunicacion para la
transferencia de mensajes cortos (SM) entre External Short Message Entities (ESMES), Routing
Entities (RE), y Message Centres (MC).
Message Centre (MC)
Un Message Centre (MC) o Centro de Mensajes es un término genérico utilizado para describir sistemas
tales como un Short Message Service Centre (SMSC), GSM Unstructured Supplementary Services Data
(USSD) o Cell Broadcast Centre (CBC).
External Short Message Entity (ESME)
Un ESME típicamente representa un cliente SMS de una red fija/una entidad de red, tal como un Server
Proxy WAP, un Email Gateway, un Servidor de Mensajería de voz (Voice Mail Server). También puede
representar un Cell Broadcast Entity (CBE).
Routing Entity (RE)
Un Routing Entity (RE) o Entidad de ruteo es un término genérico para un elemento de red que es
utilizado por un MC to MC y un ESME to MC para ruteo de mensajes. Un SMPP RE tiene la capacidad
de emular la funcionalidad de asociación tanto de un MC como de un ESME o de ambos a la vez. Para
un ESME, un RE aparece como un MC y para un MC, un RE aparece como un ESME.
Un Carrier puede utilizar RE´s para ocultar una red de MC´s, presentando únicamente las RE´s como el
punto de interfaz externo para las ESME´s.
Página
4
El siguiente diagrama muestra el contexto de SMPP en una red Mobile.
Descripción breve
Short Message Peer to Peer Protocol (Protocolo de Mensaje Corto entre
iguales)
Tecnologías Celulares Soportadas
SMPP está diseñado para soportar funcionalidades short messaging para cualquier tecnología celular
como:
GSM
UMTS
IS-95 CDMA
CDMA2000
ANSI-136 TDMA
IDEN
Aplicaciones típicas de SMPP
La variedad de aplicaciones de mensajería, particularmente SMS para lo cual SMPP puede ser empleado
es casi ilimitada. Operadores inalámbricos, Vendedores de centro de mensajes, proveedores de
infraestructura, y diseñadores de aplicaciones están constantemente desarrollando nuevas aplicaciones
para SMS. SMPP es ideal como un protocolo de acceso para estas aplicaciones. SMPP es intencionado
para diseñadores e implementadores de SMPP como interfaz entre MC, RE y ESMES.
Página
Alertas de voicemail originadas desde un VPS (Voice Processing System) indicando mensajes
de voz al mailbox del cliente, son una de las primeras aplicaciones SMS basadas en ESME que
todavía son utilizadas en la industria.
Servicios de información. Por ejemplo, permitir a los suscriptores móviles consultar tasas de
cambio o información de precios de acciones de una base de datos o en la WWW, y que estos
reciban esa información desplegada en su móvil como un SM (short message).
Se utiliza para llamadas directamente marcadas o desviadas hacia un operador, quien a su vez
direcciona o remite los mensajes hacia una MC para entregarlas al terminal o celular del
suscriptor
Servicios de Directorios.
Servicios basados en Posicionamiento o localización. Incluyen rastreo de vehículos, envío de
taxis, controle logístico.
Aplicaciones de seguridad tales como sistemas de alarmas que pueden utilizar los servicios SMS
para accesos remotos y propósitos de alertas. Por ejemplo, un padre recibe un SMS de su
compañía de seguridad para informarles que su hija ha llegado a casa y que ingreso el código de
seguridad para acceso.
Banco en línea , E-Commerce.
SMS – Chat, juegos. Los usuarios de móviles pueden interactuar unos con otros utilizando un
Server ESME y utilizar esta interacción para jugar inalámbricamente.
Instant Messaging.
MMS Notification.
Cell Broadcasting Services (Servicios de Difusión) . Apoyo de mensajería geográfica como
alarmas de tráfico y servicios de emergencia.
5
Usos comunes de SMPP:
Sesiones SMPP
Para hacer uso del protocolo SMPP, una sesión SMPP debe establecerse entre el ESME y el MC o
SMPP RE cuando sea apropiado. La sesión establecida está basada en una capa de aplicación TCP/IP
o una conexión X.25 entre el ESME y MC/RE y por lo general, es iniciada por el ESME.
Hay 3 formas de inicio de Sesión ESME.
1-TX Transmitter
Cuando la autenticación es como un transmisor, un ESME puede enviar o entregar SM hacia el MC
(Message Center) para entregar más adelante éstos hacia los MS (Mobile Station). Una sesión de
transmisor también permitirá que un ESME, cancele, consulte o sustituya mensajes enviados con
anterioridad. Los mensajes enviados de esta manera son a menudo llamados Mobile Terminated
Message. (Mensajes terminados en el terminal) MT
2-RX Receiver
Una sesión de receptor permite a un ESME recibir SM de un MC, estos mensajes normalmente se
originan o provienen de los MS y se conocen como Mobile Originated Messages (Mensajes originados
en el terminal). MO
3-TRX Transceiver
Una sesión TRX es una combinación de TX y RX, de forma que una sesión SMPP pueda utilizar ambas
modalidades de MO y MT
Adicionalmente un MC puede establecer una sesión SMPP mediante la conexión a un ESME. Esto se
llama una Sesión Outbind.
Un ESME puede enviar y recibir SM´s
Operaciones de Protocolo y PDU´s (Protocol Data Unit)
El protocolo SMPP es un conjunto de operaciones, cada una de las cuales toma la forma de
Solicitud y Respuesta PDU. Por ejemplo, si un ESME desea enviar un SM, puede enviar un submit_sm
PDU al MC. El MC responderá con un submit_sm_resp PDU, indicando el éxito o falla de la petición.
Del mismo modo, si un MC desea entregar un SM a un ESME, este puede enviar un deliver_sm PDU al
ESME que a su vez, responderá con un deliver_sm_resp PDU como medio de reconocimiento de la
entrega.
Algunas operaciones son específicas a un ESME, como otras son específicas para un MC. Otras pueden
ser específicas a un tipo de sesión dado.
Refiriéndome a los ejemplos de arriba de un submit_sm y el deliver_sm, un ESME puede enviar un
submit_sm a un MC únicamente si ha establecido una sesión TX o una conexión/sesión TRX con ese
MC, igualmente, un MC puede enviar un deliver_sm PDU a un ESME solo si ya estableció una conexión
o sesión RX o TRX.
Resumiendo, SMPP está basado en el intercambio de PDU´s (Protocol Data Units)
Página
Los PDU´s contienen 3 Partes:
Área de encabezado o Header
Área de Parámetros Mandatorios
Área de Parámetros Opcionales.
6
Tipos de PDU:
1. PDU´s de solicitud o requerimiento y
2. PDU´s de respuesta
Las operaciones del protocolo y PDU´s se clasifican en términos generales en los siguientes grupos:
Administración de Sesión.
Estas operaciones son diseñadas para habilitar el establecimiento de sesiones SMPP entre un
ESME y un MC y proporcionar métodos de manejo de errores inesperados.
Mensaje de Presentación (Submission).
Estas operaciones son diseñadas específicamente para la presentación de mensajes desde las
ESMES hacia los MC.
Entrega de Mensajes.
Estas operaciones permiten a un MC entregar mensajes a un ESME.
Mensaje de Difusión (Broadcasting)
Estas operaciones son diseñadas para proveer servicios de difusión celular dentro de MC.
Operaciones Auxiliares
Estas operaciones están diseñadas para proporcionar características mejoradas, tales como la
cancelación, consulta o reemplazo de los mensajes
Estableciendo una Sesión SMPP
Para establecer una sesión, primero se requiere que una ESME se conecte a un MC. Esto se consigue
utilizando una red TCP/IP o X.25. El MC normalmente se mantiene escuchando las conexiones por uno
o más puertos de TCP/IP / X.25, sin embargo los puertos pueden variar dependiendo del vendedor y el
operador del MC. Típicamente el puerto estandarizado para SMPP, es el 2775.
Estados de una Sesión SMPP
Open
Bound_TX
Bound_RX
Bound_TRX
Unbound
Closed
Outbound
Open
Página
7
Un ESME a establecido una conexión de red con la MC, pero aun no ha emitido una petición o
Bind_request. El MC únicamente es consciente de la conexión TCP/IP o X.25. Ningún detalle de
identificación ha sido cambiado todavía
Bound_TX
Un ESME conectado ha solicitado unirse como un Transmitter/transmisor (utilizando un bind_transmitter
PDU) y ha recibido un bind_transmitter_resp PDU desde la MC autorizando su petición o solicitud. Un
ESME ligado como un transmitter puede enviar SM hacia un MC, para ser entregado a un MS o hacia
otro ESME. El ESME puede también reemplazar, solicitar o cancelar SM previamente entregados.
Bound_RX
Página
8
Un ESME conectado ha solicitado unirse como un Receiver/Receptor (utilizando un bind_receiver PDU) y
ha recibido un bind_receiver_resp PDU desde el MC autorizando su bind_request. Un ESME enlazado
como un receptor puede recibir SM desde un MC, el cual puede ser originado desde un MS (móvil
station) o por otro ESME o por el mismo MC.
Bound_TRX
Un ESME conectado ha solicitado enlazarse como un Transceiver (utilizando un bind_transceiver PDU) y
ha recibido un bind_transceiver_resp PDU desde la MC autorizando su bind_request. Un ESME enlazado
o unido como un transceiver esta autorizado a utilizar todas las operaciones soportadas por un ESME
Transmitter y un ESME Receiver. Una sesion transceiver es efectivamente la combinacion de una sesion
Transmitter y Receiver. Un ESME unido como un transceiver puede enviar SM a un MC para ser
entregados a un MS o hacia otro ESME y puede tambien recibir SM desde un MC, el cual puede
originado por un MS, o por otro ESME o por un MC.
Unbound
Un Unbound se da, cuando un ESME enlazado como un TX, RX o TRX solicita una peticion de desunion
a la MC (Message Center) para la terminacion de la sesion SMPP.
Closed
Página
9
Un estado Closed entre ESME-MC, se da cuando un ESME o MC han cerrado la conexión de Red. Esto
tipicamente es producido por un estado Unbound donde un punto de enlace ha solicitado terminar la
sesion. Un estado Closed puede tambien resultar debido a un error de comunicación entre pares o por
una falla de conexión inesperada en la red.
Outbound
El objetivo de la operación Outbind, es permitir que la MC inicie una sesion SMPP. Un ejemplo tipico
seria que la MC tuviera un SM pendiente de entregar a un ESME.
Página
10
El diagrama siguiente ilustra el concepto de Outbind cuando es utilizado para solicitar un enlace de un
ESME Receiver
Página
11
Ejemplo de Sesiones SMPP
12
Página
13
Página
14
Página
Página
15
Este ejemplo muestra una sesión de outbind que resulta en la unión de un ESME receptor
Sincrono y Asincrono
SMPP es un protocolo Asincrono. Esto significa que un ESME o un MC puede enviar varias solicitudes o
peticiones a la vez para la otra parte.
Veamos un ejemplo de una sesion asincrono :
Página
16
La conducta asíncrono de ambas ESME y MC es evidente en la sesión arriba presentada. Los números
de secuencia PDU hacen posible la adecuada respuesta para cada request / response.
¿Por qué Asíncrona?
El comportamiento asíncrono puede parecer un camino fácil cuando se desarrolla una aplicación a nivel
del protocolo SMPP. El envío de una petición PDU, y luego esperar por el PDU response es una
alternativa fácil sobre la gestión de varios PDU’s manejándolos en un entorno completo, en la forma
asíncrono, el orden de PDU y su secuencia numérica puede ser reconocido en un orden no continuo y
definitivo para la secuencia request/response.
Sin embargo para una aplicación eficiente en el uso de sesiones SMPP y la utilización de ancho de
banda, la transmisión asíncrono puede hacer mejoras significativas. El siguiente diagrama ayuda a
explicar la razón para utilizar el protocolo de forma asíncrona.
El ejemplo anterior muestra 5 PDU´s de forma asíncrona transmitidos a través de sesiones SMPP desde
el ESME hacia el MC. Si el MC puede procesar solo un PDU a la vez, entonces el beneficio de la
transmisión asíncrono no está realmente perdido. En esta situación, la transmisión de PDU´s se convierte
en una cola de solicitudes o peticiones para el MC. Tan pronto como el MC reconozca cada solicitud o
petición, inmediatamente encontrara otra solicitud o petición en estado de espera. Los mismos beneficios
aplican para las sesiones Receiver y Transceiver, donde el MC emite deliver_sm o data_sm PDU´s hacia
el ESME.
Página
Si consideramos el tiempo de transporte desde el ESME hacia el MC, tomara α microsegundos, entonces
el tiempo de inactividad por operación será 2α. Este es el tiempo de inactividad transcurrido mientras que
la respuesta está en tránsito hacia el ESME y cuando la petición o solicitud siguiente esta en tránsito
hacia el MC. Una ventana Asíncrona de peticiones o solicitudes efectivamente evita esta ineficiencia.
17
Si el ESME es síncrono y solo puede enviar un único PDU a la vez, entonces, tan pronto como el MC
reconozca el PDU, la sesión SMPP permanecerá inactiva hasta que el response_PDU del MC ha sido
procesado por el ESME y éste pueda enviar la próxima solicitud o petición al MC.
Manejo de Errores
Esta sección trata los escenarios típicos de errores que pueden ocurrir y como un ESME o un MC
debería de manejar tales situaciones o escenarios.
Manejo de Fallas de Conexión
Un ESME o un MC puede experimentar un intento de falla de conexión o una pérdida de conexión con
su otro par. Esto puede ser debido a cualquiera de las siguientes razones.
La dirección IP y el puerto o los detalles de X.25 son incorrectos (fallas de conexión).
El MC remoto o el ESME está caído/abajo y no puede aceptar la conexión.
La red entre los dos Hosts esta caída o abajo.
El enfoque recomendado es que continuamente se intente conectar o reconectar de nuevo a intervalos
definidos en el ESME.
Muchos sistemas ESME proporcionan servicios cruciales a una red SMS. Si una red o un MC se hacen
no disponibles, causando a los ESME´s perdida de conexión SMPP, entonces mientras el ESME entra en
modo por el cual intenta reconectarse a intervalos definidos, entonces cuando el MC restaura su servicio,
el ESME se reconectara y resumirá el servicio interrumpido con anterioridad.
La mayor parte de sesiones SMPP serán ESME-initiated, pero como hemos visto de Outbind, el MC
puede el mismo estar en posición de conectarse a un ESME configurado para Outbind.
La razón probable para intentar un Outbind es que los mensajes para el ESME han llegado en el MC.
Si el intento de conexión falla, se recomienda que el MC utilice mecanismos similares de intentos
periódicos de Outbind hacia el ESME. Esto puede conducir a una secuencia de reintentos que controlen
la frecuencia de intentos de entrega hechos para un mensaje dado.
Cada vez que el mensaje ESME es programado para reintentos, el MC intentará Outbind hacia el ESME
Para los tipos de fallas o controles de error, es necesario establecer un sistema de alarmas basado en
SNMP (Simple Network Management Protocol).
SNMP se basa en agentes, el agente envía alertas a otros agentes para avisar de eventos, dentro de las
características de un protocolo SNMP podemos citar:
Página
18
Monitorear estados de enlace punto a punto (ESME-MC – MC-ESME y otros nodos
relacionados).
Modificación remota de configuración de dispositivos
Fallas de Operación
Hay una serie de razones por las que un MC o un ESME podrán rechazar una solicitud de una
operación PDU.
El PDU no es reconocido.
Esto es uno de los motivos más comunes para rechazar un PDU. Esto puede ser el resultado de un
ESME o un MC enviando un PDU que el receptor par no reconoce. La respuesta típica en este escenario
es un generic_nack PDU devolviendo al remitente el número de secuencia infractor PDU. El estado de
comando generalmente es ESME_RINVCMDID, el cual indica que el MC o el ESME no pueden
reconocer el PDU. En esta situación, el error esa en el par receptor y se comporta como un escenario de
incumplimiento que por lo general se especifica en la documentación de PICS SMPP.
El PDU es incorrecto.
Cuando esto sucede, esto indica que la entidad que envía tiene fallas para el envío de PDU´s. Las
respuestas dependerán en como el PDU incorrecto es detectado. Si el command_id es la razón del
rechazo, el par que recibe debería de responder con un generic_nack y el command status colocarse con
ESME_RINVCMDID. Si el command_length del PDU parece ser demasiado grande, esto sugiere que el
PDU era inválido. El ESME o MC deberían de responder con un generic_nack y un command status
fijado con ESME_RINVCMDLEN.
Longitud de campo invalido.
Sin algún campo PDU es demasiado largo o demasiado corto, entonces el PDU es esencialmente
incorrecto, pero un ESME o un MC podrán reconocer el PDU y como tal responderán con un
submit_sm_resp o en su defecto, responder al PDU con un comando apropiado al error. Por ejemplo, si
un ESME envía un mensaje programado de entrega de 20 caracteres, el comando de rechazo debería de
ser command_status set to ESME_RINVSCHED.
El dato PDU es inesperado y se considera invalido (PDU data unexpected and deemed
invalid).
Este tipo de rechazo es una aplicación en lugar de una cuestión de cumplimiento de protocolo.
Un ejemplo de este tipo de escenario podría ser un Email Gateway que provee servicio de convertir
mensajes MO SMS en E-mail. El direccionamiento de email podría estar basado en el contenido del
texto del mensaje. Si el ESME encuentra que el mensaje transmitido por el MC no contiene el formato
correcto, éste rechazaría el mensaje. El código de error típico seria ESME_RX_R_APPN, el cual significa
el rechazo a un mensaje y que asegura que no existirá reintento de transmisión o envió.
PDU no permitida en el estado de sesión actual.
Esto es una violación de las reglas de sesión SMPP.
Un ejemplo seria que: un ESME en estado Bound_RX, intente enviar un mensaje, enviando un
submit_sm PDU
O el ESME intente enviar un mensaje a través una sesión Open sin primero hacer un Binding.
El comando de estado esperado en el submit_sm_resp PDU seria ESME_RINVBNDSTS.
Página
SMPP tiene un amplio alcance de funcionalidades y algunos MC o ESME´s pueden deliberadamente
proporcionar mecanismos para deshabilitar ciertas características. Por ejemplo, si un operador configura
un MC para rechazar intentos por las ESME´s para solicitar entrega de mensajes, forzarían al MC a
rechazar el mensaje con un estado de comando set to ESME_RINVREGDLVFLG. Aunque el campo
puede estar correctamente codificado, su uso esta desactivado y el MC esta autorizado para rechazar el
mensaje utilizando el código de error.
19
Las ESME´s o MC restringen el uso de características de ciertos PDU´s.
Parámetros SMPP y formato de PDU
Definiciones SMPP PDU
Esta sección define diferentes operaciones PDU´s que componen el protocolo SMPP.
Las operaciones se agrupan en 6 categorías:
1.
2.
3.
4.
5.
6.
Gestión de Sesión
Presentación de mensaje
Entrega de mensaje
Difusión de mensaje
Presentación auxiliar
Difusión auxiliar
Session Management
Message Submission
Message Delivery
Message Broadcast
Ancilliary Submission
Ancilliary Broadcast operation
1-Operación de Gestión de Sesión
Session Management
Estas operaciones son utilizadas para establecer y mantener sesiones SMPP.
PDU BIND
El propósito de la operación de enlace (bind) de SMPP, es el registro de una instancia ESME con
un sistema MC y establecer una sesión SMPP a través de una conexión de red para la entrega de
mensajes. Así, la operación Enlace BIN puede ser vista como una forma de petición login MC para
autenticar a la entidad ESME que desea establecer la conexión.
Como se describió anteriormente, un ESME puede enlazarse-unirse a un MC como un Transmitter
(llamado ESME Transmitter Transmisor), puede unirse a un MC como un Receiver (llamado ESME
Receiver Receptor) o puede unirse a un MC como un Transceiver (llamado ESME Transceiver
Transmisor-Receptor).
Hay 3 SMPP BIND PDU´s para soportar los distintos modos de operación, los cuales son:
a. Bind_transmitter
b. Bind_receiver
c. Bind_transceiver
El arreglo del campo command_id específica cual PDU se está utilizando.
Un ESME puede enlazarse como un SMPP transmitter y/o Receiver utilizando operaciones separadas de
bind_transmitter y bind_receiver (habiendo primero establecido 2 conexiones de red separadas).
Alternativamente un ESME puede también enlazarse o unirse como un Transceiver habiendo primero
establecido una única conexión de red.
Con los PDUs de BIND el ESME establece una sesión SMPP con el MC
Para cada operación BIND existe una operación BIND_RESP:
20
BIND_RECEIVER
BIND_TRANSCEIVER
BIND_TRANSMITTER_RESP
El bind_transmitter_resp SMPP PDU se utiliza para responder a
una solicitud bind_transmitter
BIND_RECEIVER_RESP
BIND_TRANSCEIVER_RESP
Página
BIND_TRANSMITTER
Parámetros mandatorios importantes de los PDUs BIND:
system_id:
password:
system_type:
identifica al ESME haciendo BIND
utilizado para autenticar el ESME
identifica el tipo de ESME que está haciendo el BIND
Una respuesta exitosa del MC indica que el ESME puede iniciar el intercambio de SM´s con el MC.
.
PDU UNBIND
UNBIND finaliza la sesión SMPP.
El objetivo de la operación Unbind SMPP (desenlazar) es para dar de baja a una instancia ESME desde
una MC e informar a la MC que el ESME ya no desea utilizar la conexión de red para el envío o entrega
de mensajes. Esta operación puede ser vista como una forma de la MC de solicitar el cierre de sesión
actual de SMPP, pero en la actualidad, Unbind puede ser enviado tanto por el ESME como por el MC y
cerrar la conexión TCP.
La operación Unbind, recibe siempre su respectivo unbind_resp. El unbind_resp SMPP es utilizado para
responder a una solicitud unbind y comprende el encabezado del mensaje SMPP.
PDU ENQUIRE LINK
Página
21
Este PDU enquire_link puede ser originado tanto por el ESME como por el MC y es utilizado para
proporcionar chequeo de confidencialidad de comunicación entre las entidades ESME y MC. Tras
la recepción de esta petición, la entidad receptora debe responder con un enquire_link_resp, por lo que
se verifica o valida que la conexión a nivel de aplicación entre el ESME y el MC está funcionando. El
ESME puede también responder con el envío de cualquier SMPP valido.
2-Presentacion de Mensajes
Message Submission
Las operaciones de presentación de mensajes o message submission proveen a un ESME la capacidad
de enviar SM a estaciones móviles.
PDU SUBMIT_SM
Con submit_sm, un ESME encola SM en el SMSC o MC, el PDU submit_sm_resp exitoso, indica que el
SM fue aceptado por el MC para ser entregado a su destino.
Parámetros mandatorios importantes del PDU SUBMIT_SM:
source_addr, source_addr_ton, source_addr_npi:
destination_addr, dest_addr_ton, dest_addr_npi:
short_message:
registered_delivery:
identifican el originador del SM
identifican el destinatario del SM
texto del SM
indica si se solicita notificación de entrega del SM
Parámetros mandatorios importantes del PDU SUBMIT_SM_RESP:
message_id: identifica el SM dentro del SMSC, puede ser utilizado posteriormente para consultar el
status del SM, cancelarlo o reemplazarlo
3-Operaciones de entrega de Mensajes
Message Delivery Operations
Las operaciones de entrega de mensajes proveen los medios de entrega de SM´s desde un MC hacia un
ESME. Estos mensajes suelen originarse desde los terminales o estaciones móviles.
PDU DELIVER_SM
Página
22
La operación deliver_sm, ésta operación es emitida por el MC para entregar un mensaje a un
ESME. Utilizando este comando, el MC puede rutear / dirigir un SM al ESME para la entrega.
Con el PDU deliver_sm_resp exitoso, se indica que el SM fue entregado correctamente al destinatario
Parámetros mandatorios importantes del PDU DELIVER_SM:
source_addr, source_addr_ton, source_addr_npi:
identifican el originadordel SM
destination_addr, dest_addr_ton, dest_addr_npi:
identifican el destinatario del SM
short_message:
texto del SM
esm_class:
Indica si el SM corresponde a una
notificación de entrega de un SM enviado anteriormente con SUBMIT_SM, en cuyo caso el parámetro
opcional receipted_message_idcontiene el message_iddel mensaje notificado
4-Difusión de mensaje
Message Broadcast
Las operaciones de mensaje de difusión proporcionan servicios de difusión a ESME´s.
Las operaciones de mensajes de difusión son aplicables únicamente a CBS (Cell Broadcast Centres) o
a SMSC´s con funcionalidades de integración con CBS´s.
La operación broadcast_sm, es emitida por el ESME para enviar SM al MC para la difusión del SM en
una área geográfica determinada o un a un conjunto de zonas geográficas, para esta operación existe su
broadcast_sm_resp.
5-Presentación auxiliar
Ancilliary Submission
Las operaciones ancilliary submission proporcionan gestión de mensajes presentados por las ESME´s.
Esto incluye, cancelación, consultas y reemplazo de mensajes.
PDU CANCEL_SM
Con la operación cancel_sm, el ESME cancela uno o más SM´s enviados con anterioridad con la
operación PDU submit_sm.
Parámetros mandatorios importantes del PDU CANCEL_SM:
Página
Identificador de un SM previamente enviado, puede ser nulo para
cancelar un grupo de mensajes
source_addr, source_addr_ton, source_addr_npi:
Debe hacer match con el origen de los mensajes a cancelar
destination_addr, dest_addr_ton, dest_addr_npi:
Debe hacer match con el destino de los mensajes a cancelar. Puede ser
nulo si la operación message_id es distinta de nulo
23
message_id:
PDU QUERY_SM
Operación query_sm
Este comando es emitido por el ESME para consultar el estado de un SM presentado o enviado
con anterioridad con el comando submit_sm
El mecanismo de match se basa sobre el MC y los campos asignados message_id y source_address.
Donde los parámetros submit_sm, data_sm o submit_multi (source address) fueron colocados o seteados
originalmente con el valor NULL, entonces la dirección de origen o source address en la consulta
query_sm también se debe setear o establecer con el valor NULL
Parámetros mandatorios importantes del PDU QUERY_SM:
message_id:
identificador de mensaje entregado por un SUBMIT_SM_RESP previo
source_addr, source_addr_ton, source_addr_npi:
Deben hacer match con los datos de origen del SUBMIT_SM previo
Parámetros mandatorios importantes del PDU QUERY_SM_RESP:
message_id:
identificador del SM
final_date:
fecha y hora en que el SM alcanzó un estado final
message_state:
status del SM consultado
error_code:
utilizado en caso de falla de entrega del SM
PDU REPLACE_SM
Este comando es emitido por el ESME para sustituir un SM enviado anteriormente y que se encuentra
pendiente de ser entregado a su destino final.
message_id:
identificador del SM a ser reemplazado
source_addr, source_addr_ton, source_addr_npi:
Debe hacer match con el originador del SM a reemplazar
short_message:
nuevo texto del SM.
Página
Parámetros mandatorios importantes del PDU REPLACE_SM:
24
El mecanismo de match está basado en campo message_id y la dirección origen del mensaje original.
Página
25
Refiérase a http://smsforum.net para ampliar información sobre SMPP
Descargar