我在SMPP协议规范中找到了它的定义,但是我不明白它的确切含义。我知道要从SMSC接收SMS,您必须首先初始化连接(绑定请求),然后在SMSC需要发送短信时,它会发送传递请求。

没有建立连接时,SMSC是否使用地址范围将SMS发送到ESME?

最佳答案

除非在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。

关于bind - 在SMPP绑定(bind)收发器中请求地址范围参数的含义是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7312833/

10-11 02:16