SMPP绑定收发请求中的Address Range参数是什么意思
我在SMPP协议规范中找到了它的定义,但我不明白它的确切含义。我知道要从 SMSC 接收 SMS,您必须首先初始化连接(绑定请求),然后当 SMSC 需要发送 SMS 时,它会发送传送请求。
在未建立连接的情况下,SMSC 是否使用地址范围向 ESME 发送 SMS?
I found it's definition in the SMPP protocol Specification, but I didn't understand what it means exactly. I know that to receive a SMS from the SMSC you have first to initialize a connection (bind request) then when the SMSC need to send a sms it sends a deliver request.
Is Address Range used by the SMSC to send SMS to the ESME while no connection is established ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
除非建立 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 都会忽略绑定命令中的 addr_range 字段,因为它们不会将路由控制权交给 ESME 以防止错误路由消息。因此,该字段大多设置为 NULL。
SMSC 和 ESME 之间的路由通常使用“短代码”完成。服务提供商 (SMSC) 向 ESME 分配一个唯一的短代码。 SMSC 维护所有绑定 ESME 地址的列表,并根据它们映射相应的短代码。每当消息发送到短代码时,目的地(即短代码)就会被转换为可以在网络上路由的有效 ESME 地址。
在蜂窝网络中向 MS-SME 发送 SMS 的路由是通过查询 MAP/SS7(或 SIGTRAN)接口上的归属位置寄存器(HLR)来查找用户的位置来执行的。
An SMPP PDU cannot be transmitted unless the connection between the ESME and the SMSC is established. This is usually done by using the TCP 3-way handshake (SYN, SYN-ACK, ACK).
The address_range parameter is used in the bind_receiver and bind_transceiver command to specify a set of SME's (MS or ESME) addresses serviced by the ESME client. Messages addressed to any destination in this range shall be routed to the ESME. The range is specified using a regular expression, however, for IP addresses, it is only possible to specify a single IP address. Also, IPv6 is not currently supported in this version of the protocol.
That being said, almost all of the SMSC's ignore the addr_range field in the bind command as they will not relinquish routing control to an ESME for preventing of mis-routing messages. Hence, this field is mostly set to NULL.
Routing between an SMSC and an ESME is usually done using 'short codes'. The service provider (SMSC) assigns one unique short code to an ESME. The SMSC maintains a list of all bound ESME addresses and maps the corresponding short codes against them. Whenever a message is sent to a short code, the destination, i.e. the short code is translated to a valid ESME address which can be routed on the network.
Routing of SMS towards an MS-SME in cellular networks is performed by querying the Home Location Register (HLR) on the MAP/SS7(or SIGTRAN) interface for finding out the location of the subscriber.
如 SMPP v3.4 规范(第 5.2.7 页)中所述,address_range 参数可用于通知 SMSC 有关此 ESME 处理的地址范围。
例如,您可能有两个 ESME 系统:
1) 语音邮件短代码 123
2) 短代码 456 上的 SMS 轮询
这些系统可以使用相同的系统 ID 连接到 SMSC,但使用不同的 address_rane 来分隔 SMS 流量。
As mentioned in SMPP v3.4 specification (p. 5.2.7) address_range parameter may be used to inform SMSC about range of addresses to be processed by this ESME.
For example, you may have two ESME systems:
1) Voice Mail on short code 123
2) SMS Poll on short code 456
These systems may be connected to SMSC with the same system-id but with different address_rane to separate SMS traffic.