1

我们有一个 smpp 服务器

  1. IP地址
  2. 用户名
  3. 密码
  4. 端口号

在将这些详细信息输入代码并尝试发送短信时,我们收到以下错误消息:-

Bind Transmitter 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。序列号:1。得到 CM_BIND_TRANSMITTER_RESP。警告:unpack() [function.unpack]:类型 a:输入不足,需要 1,在 /home/acftp052/public_html/smpp/smppclass.php 的第 580 行系统 id 中有 0:。收到的 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

1 回答 1

2

我的答案基于 . SMPP 3.4 规范

===

我假设您的设置如下所示:

  1. 您正在开发 SMPP 客户端(又名 ESME)。
  2. 您拥有到 SMPP 服务器(又名 SMSC)的连接信息。

问题 1:连接到 smpp 服务器需要哪些详细信息。

ESME 至少需要以下内容才能连接到 SMSC(TCP 级别需要)​​:

  1. SMSC的IP
  2. SMSC港口

大多数 SMSC 还需要(但这不是强制性的):

  1. system_id(作为用户名)
  2. 密码

一些 SMSC 还需要:

  1. system_type(参见 SMPP 3.4 规范中的第 4.1.1 节)
  2. address_range(参见 SMPP 3.4 规范中的第 4.1.1 节)

问题2:代码文件应该部署在Smpp服务器上还是可以部署到不同的服务器并尝试访问smpp服务器发送消息。(我们确实尝试通过filezilla连接到smpp服务器但不成功)

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

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

问题 3:当我们尝试从系统向手机发送消息时,来自数字强制。

我假设您正在使用 SUBMIT_SM 发送消息(因为您尝试通过 BIND_TRANSMITTER 连接)。

在规范中,发件人编号称为source_addr(请参阅 SMPP 3.4 规范中的第 4.4.1/5.2.8 节)。大多数 SMSC 将需要source_addr,但这不是强制性的。

于 2012-07-06T19:00:57.473 回答