从Java连接到CDMA网络IN

时间:2009-03-10 03:44:10

标签: java networking sms vpn

使用java开发接收和处理SMS消息的程序。我已经能够编码收到的SMS消息的处理和它的完美工作。现在我面临的挑战是从CDMA网络接收SMS消息。当应用程序即将上线时,CDMA网络将建立VPN连接,这将使我的应用程序能够连接到其IN或其IN连接到我的应用程序,以通过VPN将SMS消息传送到我的应用程序。现在,将以什么格式将SMS发送到应用程序?或者我只需要听取VPN并在数据可用时读取数据?非常感谢你的时间。

感谢。

3 个答案:

答案 0 :(得分:5)

我认为你用IN表示Intelligent Network?通常IN与发送/接收SMS消息无关 - 您需要连接到Short Message Service Center(SMSC)(或某些代理/网关)才能执行此操作。

正如Bombe所指出的,由于历史原因,您可以使用几种协议连接到移动运营商SMSC,它们都是特定于供应商的。通用协议是:

  • SMPP(最受欢迎,成为事实上的标准)。有两个SMPP java库:
    • SMPP API at SourceForge - 非常稳定和成熟的图书馆,我亲自在几个项目中使用它并且可以推荐它。
    • Logica OpenSMPP - 来自开发SMPP规范的公司的库。我从来没有用过这个,所以我不能评论它的成熟度或稳定性。
  • UCPspecification) - 相当古老的标准。我不知道这个协议有任何开放的java库。但是,因为它都是基于ASCII的,所以很容易实现(只要你喜欢搞乱字节: - ))。
  • CIMD2 - 与诺基亚SMSC通信的规范。它正在成为传统,因为我听说较新的诺基亚SMSC版本也支持SMPP。没有已知的开放式Java库。
  • 最后,实施了大量自定义协议,使第三方开发人员“更容易”连接到SMSC。这些通常基于HTTP和XML(SOAP,如果你幸运的话)。

总而言之,协议的选择不是你的选择。它通常由SMSC供应商或移动运营商(如果他们开发了某种“代理/网关”)决定,以保护他们的SMSC免受外部开发人员可能产生的潜在编程错误。

P.S。如果您不仅限于java,还可以查看Kannel - the Open Source WAP and SMS gateway。我自己没有使用它,但据我所知,它们应该涵盖所有主要协议。

答案 1 :(得分:0)

可以采用SMPP(12),UCP(12),甚至HTTP等不同协议将SMS从一方转移到另一方。您需要向您的上游提供商咨询他们提供的协议。

答案 2 :(得分:0)

如果通过SMPP收到消息,请查看SMPPAPI。

http://smppapi.sourceforge.net/

与您的移动网络交谈,他们会告诉您邮件的格式。