【发布时间】:2013-01-08 21:34:10
【问题描述】:
大家好!我在尝试通过 SMPP(使用 Logica Java 库)提交国际短信时遇到问题。我将总结我所做的测试。我正在使用 WireShark 来监控与 SMPP 相关的活动。
-
(工作中)
//Connect and stablish session Connection conn = new TCPIPConnection(providerAddress, port); Session session = new Session(conn); BindRequest breq = new BindTransmitter(); breq.setSystemId(user); breq.setPassword(pass); breq.setSystemType("CMT"); breq.setInterfaceVersion((byte)34); breq.setAddressRange((byte)0x01, (byte)0x01,null); Response resp = session.bind(breq); //Create message SubmitSM msg = new SubmitSM(); msg.setDestAddr((byte)1, (byte)1, "58412014XXXX"); msg.setSourceAddr((byte)1, (byte)1, "58412014XXXX"); msg.setShortMessage("Test from tedexis","ISO-8859-1"); //Here we submit message session.submit(msg); //Disconnect session.unbind();
结果:消息正确传递。在这里我们验证凭据是否有效,并注意源地址和目标地址相同
-
(失败)除了现在为国际电话号码设置的消息目标地址之外,代码保持不变
msg.setSourceAddr((byte)1, (byte)1, "1321237XXXX");
结果:失败,检查 WireShark 我在提交期间观察到以下异常: SMPP Submit_sm - resp:“无效的目标地址”
我们可能认为我们的凭据对国际递送无效,但我们目前正在使用这些凭据通过其网络服务接口递送国际消息。
我一定是错过了一个配置设置或错误地设置了一个,但我没有想法,如果有人能指出我正确的方向,我会很高兴。
【问题讨论】: