Gateway SMPP 中继和服务器使用历史记录处理 SMS 回复、通知和移动设备始发的消息。当某条 SMS 消息递交到 SMPP 中继或服务器时,将进行以下路由选择过程:
将 SMS 目标地址与历史记录相比较,以查看是否有由 SMPP 中继以前生成的、与之匹配的唯一 SMS 源地址。如果找到匹配地址,请参见步骤 6。
如果没有匹配地址,而该消息是一个 SMS 通知 (SMPP DELIVER_SM PDU),则会将收到的消息 ID(如果存在)与历史记录相比较。如果找到匹配地址,请转至步骤 8。[SMS Gateway Server 实际上允许将这些地址递交至 SMPP 中继或 SMPP 服务器。]
如果没有匹配地址,则会将目标 SMS 地址与每个已配置的网关配置文件的 SELECT_RE 选项表达式相比较。如果找到匹配地址,则请转至步骤 9。
如果没有匹配地址并且 SMS 消息被递交到 Gateway SMPP 中继,则该消息就会被中继到远程 SMPP 服务器。
如果没有匹配地址并且 SMS 消息被递交到 Gateway SMPP 服务器,则会确定该消息为无效消息,并在 SMPP 响应 PDU 中返回一个错误响应。对于电子邮件到 SMS,最终将生成一个非传送通知 (NDN)。
如果找到匹配的唯一一个 SMS 源地址,则会进一步检查该 SMS 消息,以查看其是否是一个回复或一条通知消息。要成为通知消息,则该消息必须是一个带有已收到消息 ID 的 SUBMIT_SM PDU。否则,将被视为是一个回复。
如果其为回复,则会使用历史记录中的始发电子邮件信息将该 SMS 消息转换成电子邮件消息。
如果是通知,则该 SMS 消息会根据 RFC 1892-1894 被转换成电子邮件传送状态通知 (Delivery Status Notification, DSN)。请注意,原始电子邮件消息的 ESMTP NOTIFY 标志 (RFC 1891) 将被接受(例如,如果 SMS 消息是“成功”DSN,而原始电子邮件消息仅请求“失败”通知,则该 SMS 通知将被放弃)。
如果目标 SMS 地址与已配置的网关配置文件中的 SELECT_RE 选项相匹配,则该 SMS 消息会被视为是一条移动设备发出的消息,并按照该网关配置文件的 PARSE_RE_n 规则转换回电子邮件消息。如果转换失败,则该 SMS 消息将无效并返回一个错误响应。