Pregunta

Estoy usando Java para desarrollar un programa que recibe y procesa mensajes SMS. He podido codificar el procesamiento de los mensajes SMS recibidos y funciona perfectamente. Ahora el desafío que tengo es recibir los mensajes SMS de la red CDMA. Cuando la aplicación está por comenzar, la red CDMA configurará una conexión VPN que permitirá que mi aplicación se conecte a su IN o su IN se conecte a mi aplicación para enviar los mensajes SMS a mi aplicación a través de la VPN. Ahora, ¿en qué formato se enviarán los SMS a la aplicación? ¿O solo tendré que escuchar en la VPN y leer los datos cuando estén disponibles? Muchas gracias por tu tiempo.

Gracias.

¿Fue útil?

Solución

Supongo que por IN te refieres a Red inteligente ? Por lo general, IN no es relevante para enviar / recibir mensajes SMS: debe conectarse al Centro de servicio de mensajes cortos (SMSC) (o algún proxy / gateway) para hacerlo.

Como también señaló Bombe, hay varios protocolos que puede usar para conectarse a los operadores móviles SMSC, todo es bastante específico del proveedor, debido a razones históricas. Los protocolos comunes son:

  • SMPP (más popular, convirtiéndose en el estándar de facto). Hay dos bibliotecas de Java SMPP:
    • API SMPP en SourceForge - biblioteca muy estable y madura, la he usado personalmente en varios proyectos y puedo recomendarlo
    • Logica OpenSMPP - biblioteca de la compañía que desarrolló la especificación SMPP. Nunca he usado esto, así que no puedo comentar sobre su madurez o estabilidad.
  • UCP ( especificación ) - estándar bastante antiguo. No conozco ninguna biblioteca Java abierta para este protocolo. Sin embargo, como todo está basado en ASCII, es bastante fácil de implementar usted mismo (siempre y cuando le guste jugar con bytes :-)).
  • CIMD2 : especificación para comunicarse con Nokia SMSC. Se está convirtiendo en legado, ya que he oído que las nuevas versiones de Nokia SMSC también son compatibles con SMPP. Tampoco se conocen bibliotecas abiertas de Java para esto.
  • y, por último, hay miles de millones de protocolos personalizados implementados para que sea "más fácil" para desarrolladores de terceros para conectarse a SMSC. Por lo general, se basan en HTTP y XML (SOAP, si tiene suerte).

En resumen, la elección del protocolo no es suya. Por lo general, lo dicta el proveedor de SMSC o el operador de telefonía móvil (en caso de que hayan desarrollado algún tipo de "proxy / gateway", para proteger su SMSC de posibles errores de programación que los desarrolladores externos pueden cometer).

P.S. en caso de que no esté limitado a Java, también puede echar un vistazo a Kannel: la puerta de enlace de código abierto WAP y SMS . No lo he usado yo mismo, pero por lo que he escuchado, deberían tener todos los protocolos principales cubiertos.

Otros consejos

Diferentes protocolos como SMPP ( 1 , 2 ), UCP ( 1 , 2 ), o incluso HTTP puede emplearse para transferir SMS de una parte a otra. Debe consultar con su proveedor principal qué protocolos ofrecen.

Si los mensajes le llegan a través de SMPP, eche un vistazo a SMPPAPI.

http://smppapi.sourceforge.net/

Hable con su red móvil y le dirán en qué formato se enviarán sus mensajes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top