我对这些协议有一个基本的想法,但是当谈到将它们放在一个集成系统中时,我无法理解它们的位置。
例如。有人可以解释一下什么时候使用 SMPP 什么时候使用 MAP 吗?它们属于不同的电信网络吗?假设我们有一个 IP-SM-Gateway。那么它是如何使用的呢?它的作用类似于从 IMS 到 SS7 网络的消息转换器吗?
我对这些协议有一个基本的想法,但是当谈到将它们放在一个集成系统中时,我无法理解它们的位置。
例如。有人可以解释一下什么时候使用 SMPP 什么时候使用 MAP 吗?它们属于不同的电信网络吗?假设我们有一个 IP-SM-Gateway。那么它是如何使用的呢?它的作用类似于从 IMS 到 SS7 网络的消息转换器吗?
SMPP 用于 IP 网络,而 MAP 是 SS7 堆栈的一部分 - 用于 SS7 网络。SMPP 通常在 SMS 提供商之间使用,或由电信公司为其 VAS 服务提供。另一方面,MAP 被电信基础设施中的 SMSC 设备使用。
通常电信运营商都有可以接受 SMPP 连接的 SMSC。一旦某个 VAS 客户端通过 SMPP 向 SMSC 提交消息,SMSC 将使用 MAP 将此消息传递给订户。
因此,您实际上可以在您的机器上使用 SMPP 客户端并连接到电信公司的 SMSC(当然,一旦您与电信公司就此达成一致)。这实际上是了解什么是 SMPP / MAP 关系的一个很好的例子。在这种情况下,如果您运行 SMPP 客户端并连接到 SMSC(通过公共互联网或某些 VPN),您将扮演“ESME”角色。连接后(在 SMPP 术语中,您“绑定成功”,使用 BindSM 数据包中的正确凭据),您可以使用 SubmitSM 数据包发送 SMS 消息。
因此,ESME 发送“SubmitSM”数据包,其中包含所有必需的 SMS 数据(源地址(发起者)、目标地址、消息文本等)。Telco 的 SMSC 将分析您的提交数据包,如果没有问题,将回复您发送 SubmitSMResp 数据包以及 MessageID(消息的唯一标识符)。
现在 SMSC 必须真正将消息传递给订阅者 - 它将使用 MAP 协议。首先,SMSC 将发送 MAP_SendRoutingInfo 数据包以发现用户当前注册的 MSC 地址。HLR(归属位置寄存器)将返回此类信息。然后 SMSC 将发出 MAP_ForwardShortMessage,将消息内容发送给 MSC 和 IMSI,两者都是在 HLR 收到的响应中提供的。MSC 将(希望)联系目标用户的移动设备,并向 SMSC 发送“确认”(移动设备发送的确认,说“我收到消息”)。
此过程完成后,SMSC 将再次使用 SMPP ,让您的 SMPP 客户端知道消息已传递 - 您将收到带有先前 MessageId 标识符的“DeliverSM”SMPP 数据包,表示“您的消息已成功传递”。
请注意,这只是一个通用的“用例”,那里有很多不同的流,例如使用 DeliverSM 而不是 SubmitSM,在 MAP 上重试以防 MSC 等没有肯定的确认等。我只是使用了这个例子试图解释 SMPP 和 MAP 的常见用法 - 我希望您了解每种协议的作用。