我假设您的意思是智能网络?通常 IN 与发送/接收 SMS 消息无关 - 您需要连接到 SMS服务中心(SMSC)(或某些代理/网关)才能执行此操作。
正如 Bombe 所指出的,由于历史原因,您可以使用多种协议连接到移动运营商 SMSC,它们都是特定于供应商的。常见的协议有:
- SMPP(最流行,成为事实上的标准)。有两个 SMPP java 库:
- UCP(规范)- 相当古老的标准。我不知道该协议有任何开放的 Java 库。但是,由于它都是基于 ASCII 的,因此您自己实现起来相当容易(只要您喜欢搞乱字节 :-))。
- CIMD2 - 与诺基亚 SMSC 通信的规范。它正在成为传统,因为我听说较新的诺基亚 SMSC 版本也支持 SMPP。对此也没有已知的开放 Java 库。
- 最后,实施了数以百万计的自定义协议,以使第 3 方开发人员“更容易”连接到 SMSC。这些通常基于 HTTP 和 XML(如果幸运的话,是 SOAP)。
总而言之,协议的选择不是你的事。它通常由 SMSC 供应商或移动运营商规定(如果他们开发了某种“代理/网关”,以保护他们的 SMSC 免受外部开发人员可能犯的潜在编程错误的影响)。
PS 如果您不限于 java,您还可以看看Kannel - 开源 WAP 和 SMS 网关。我自己没有使用过它,但据我所知,它们应该涵盖所有主要协议。