Sta*_*ker 3 sms smpp telecommunication sms-gateway
我正在开发一个 SMS 网关,我正在考虑我应该在其中实现的功能。因此,我查看了一些 SMS 网关(SMSNOW、SMS studio 和 Ozeki)作为示例。
我几乎完成了实现,但我在几乎所有 SMS 网关中遇到了一个功能,它允许用户为 SMSC 和 ESME 指定 TON/NPI。
我知道当 SMS 网关准备使用 SMPP 协议发送短信时,它需要解析发件人/收件人号码,并在此基础上指定 TON/NPI。而且我知道允许您覆盖默认值并指定您自己的 TON/NPI 很棒。
我不明白的是为什么所有 SMS 网关都为您提供选项,当它充当 SMSC 时(当它接收 SMS 时,而不是发送它们时)为 SMS 网关指定您自己的 TON/NPI。
当 SMS 网关收到 smpp SMS 时,它会用指定的 TON/NPI 做什么?
SMS 源地址的完整规范涉及 3 个属性:
TON = 数字类型。
这指定号码是完整的国际号码(即需要 + 前缀),还是国内号码,甚至是字母数字发件人(即最多包含 11 个字符的文本而不是数字发件人......对于广告非常有用) .
NPI = 编号计划指标
这指定了号码遵循的编号标准。它可以是 E164 标准国际编号,也可以是运营商的专用编号(例如,对于优质服务)。
实际地址。
SMSC 需要 TON/NPI 来了解如何解释存储在地址中的字节。例如,如果 TON 是字母数字 (5),它知道地址中的字节需要被解释为字符并进行相应的编码,而如果是国际 (1),它会将每个字节分成 2 个,每个半字节代表发件人的不同数字。
您可以参考SMPP 3.4 规范第 5.2.5 和 5.2.6 节以获取这些 TON/NPI 可能性的完整列表。您使用的特定 SMS 网关可能会限制您使用其中的一些。