尝试通过php代码从smpp服务器发送短信时出现无效的凭据错误

时间:2012-06-29 06:22:38

标签: php smpp

我们有一个smpp服务器,我们有

  1. ip address
  2. 用户名
  3. 密码
  4. 端口号
  5. 将这些详细信息输入代码并尝试发送短信时我们收到以下错误消息: -

      

    绑定发射器PDU:0 100 101 109 111 49 50 51 0 97 99 116 105 118   101 0 51 0 0 0发送PDU,len == 36发送PDU,header-len == 16   发送PDU,command_id == 2尝试读取PDU。读PDU:16   字节。流len:12命令ID:2。命令状态:13。   sequence_number:1。获得CM_BIND_TRANSMITTER_RESP。警告:解包()   [function.unpack]:输入a:输入不够,需要1,输入0   580行系统ID上的/home/acftp052/public_html/smpp/smppclass.php:   。收到的PDU:€(0)(0)(2)(0)(0)(0)(13)(0)(0)(0)(1)错误绑定到   SMPP服务器。无效证件?发送PDU,len == 16发送PDU,   header-len == 16发送PDU,command_id == 21尝试读取PDU。   套接字已关闭。!!连接丢失了。在split_message中。一条消息:   30 PDU规格:a1cca1cca14ccca1a1ccccca30。发送PDU,len == 76   发送PDU,header-len == 16发送PDU,command_id == 4尝试   读PDU。套接字已关闭。!!连接丢失了。发送PDU,len == 16   发送PDU,header-len == 16发送PDU,command_id == 6尝试   读PDU。套接字已关闭。!!连接丢失了。

    我们能够从错误中推断出所提供的凭据是错误的。

    我怀疑是: -

    1. 连接到smpp服务器需要哪些详细信息。
    2. 代码文件应该部署在Smpp服务器上还是可以部署到不同的服务器并尝试访问smpp服务器来发送消息。(我们尝试通过filezilla连接到smpp服务器,但是没有成功)
    3. 当我们尝试从系统向移动设备发送消息时,
    4. 来自号码。
    5. 请指导我们。我们一直坚持这个问题,因为我已经完成了所有我所知道的所有研究,但我只是走向死胡同而空白。

      欢迎提出任何建议。

      谢谢&问候 克里希南。

1 个答案:

答案 0 :(得分:2)

我的答案基于。SMPP 3.4 spec

===

我假设您的设置如下:

  1. 您正在开发SMPP客户端(a.k.a. ESME)。
  2. 您具有连接SMPP服务器(a.k.a. SMSC)的连接信息。
  3. 问题1:连接到smpp服务器需要哪些详细信息。

    至少,ESME需要以下连接到SMSC(TCP级别所需):

    1. SMSC的IP
    2. SMSC港口
    3. 大多数SMSC也需要(但这不是强制性的):

      1. system_id(用作用户名)
      2. 密码
      3. 一些SMSC还需要:

        1. system_type(参见SMPP 3.4规范中的4.1.1节)
        2. address_range(参见SMPP 3.4规范中的4.1.1节)
        3. 问题2:代码文件应该部署在Smpp服务器上还是可以部署到不同的服务器并尝试访问smpp服务器来发送消息。(我们确实尝试连接到smpp服务器通过filezilla,但它没有成功)

          SMSC(即SMPP服务器)和ESME(即SMPP客户端)不需要在同一个盒子上;如果你愿意,你可以做。唯一的要求是他们可以通过TCP连接。

          我认为FileZilla是一个FTP客户端,它与SMSC无关。

          问题3:当我们尝试将消息从系统发送到移动设备时,来自号码管理员。

          我假设你使用SUBMIT_SM发送消息(因为你试图通过BIND_TRANSMITTER连接)。

          在规范中, from number 称为 source_addr (请参阅SMPP 3.4规范中的4.4.1 / 5.2.8节)。大多数SMSC都需要 source_addr ,但这不是强制性的。