在SMPP绑定收发器请求中,地址范围参数的含义是什么

时间:2011-09-05 21:19:14

标签: bind smpp

我在SMPP协议规范中找到了它的定义,但我不明白它究竟意味着什么。我知道要从SMSC接收SMS,您首先要初始化连接(绑定请求),然后当SMSC需要发送短信时,它会发送一个传递请求。

SMSC是否使用地址范围在没有建立连接的情况下向ESME发送短信?

2 个答案:

答案 0 :(得分:4)

除非建立ESME和SMSC之间的连接,否则无法传输SMPP PDU。这通常通过使用TCP 3次握手(SYN,SYN-ACK,ACK)来完成。

在bind_receiver和bind_transceiver命令中使用address_range参数来指定由ESME客户端服务的一组SME(MS或ESME)地址。发往此范围内任何目的地的消息应路由到ESME。范围是使用正则表达式指定的,但是,对于IP地址,只能指定单个IP地址。此外,此版本的协议目前不支持IPv6。

话虽如此,几乎所有的SMSC都忽略了bind命令中的addr_range字段,因为它们不会将路由控制放弃到ESME以防止错误路由消息。因此,该字段大多设置为NULL。

SMSC和ESME之间的路由通常使用'短代码来完成。服务提供商(SMSC)为ESME分配一个唯一的短代码。 SMSC维护所有绑定的ESME地址的列表,并将相应的短代码映射到它们。每当消息被发送到短代码时,目的地即短代码被转换为可在网络上路由的有效ESME地址。

通过在MAP / SS7(或SIGTRAN)接口上查询归属位置寄存器(HLR)来查找用户位置,从而将SMS路由到蜂窝网络中的MS-SME。

答案 1 :(得分:2)

如SMPP v3.4规范(p.5.2.7)中所述,address_range参数可用于通知SMSC有关此ESME要处理的地址范围。

例如,您可能有两个ESME系统: 1)短代码语音邮件123 2)短代码短信轮询456

这些系统可能使用相同的system-id连接到SMSC,但使用不同的address_rane来分隔SMS流量。