3

我正在开发一个 SMS 网关,我正在考虑我应该在其中实现的功能。因此,我查看了一些 SMS 网关(SMSNOW、SMS studio 和 Ozeki)作为示例。

我几乎完成了实现,但我在几乎所有 SMS 网关中都发现了一个功能,它允许用户为 SMSC 和 ESME 指定 TON/NPI。

我了解当 SMS 网关准备使用 SMPP 协议发送短信时,它需要解析发送方/接收方号码,并在此基础上指定 TON/NPI。而且我知道允许您覆盖默认值并指定您自己的 TON/NPI 非常好。

我不明白的是,为什么所有 SMS 网关都允许您在 SMS 网关充当 SMSC 时为您指定自己的 TON/NPI(当它接收 SMS,而不是发送它们时)。

当 SMS 网关收到 smpp SMS 时,它会如何处理指定的 TON/NPI?

4

1 回答 1

5

SMS 源地址的完整规范涉及 3 个属性:

  • 新产品导入
  • 实际地址

TON = 号码类型。

这指定号码是完整的国际号码(即需要+前缀),还是国家号码,甚至是字母数字发件人(即包含最多 11 个字符的文本而不是数字发件人,这对于广告非常有用)。

NPI = 编号计划指标

这指定了数字遵循的编号标准。它可以是E.164标准国际编号,也可以是运营商的专用编号(例如,用于优质服务)。

实际地址。

SMSC 需要 TON/NPI 知道如何解释存储在Address中的字节。例如,如果 TON 是字母数字(5),它知道地址中的字节需要被解释为字符并进行相应编码,而如果它是International (1),它会将每个字节分成 2 个,每个半字节代表发件人的不同数字。


有关这些 TON/NPI 可能性的完整列表,您可以参考SMPP 3.4 规范第 5.2.5 和 5.2.6 节。您使用的特定 SMS 网关可能会限制您使用其中的一些。

于 2011-01-03T10:21:11.353 回答