移动号码可携带性(MNP)注意事项

NowSMS MMSC 为需要更多高级MMS路由功能的环境实现了动态MMS路由回调工具。

标准 NowSMS MMSC 配置允许基于电话号码前缀的MMS路由。但是,在MNP环境中,可能有必要查询数据库以确定如何正确路由MMS消息。

动态MMS路由回调还允​​许根据谁提交MMS消息来控制MMS路由。例如,对于某些或所有MMS VASP帐户,可能希望阻止将MMS发送到国际目的地。

这里’当人们问如何实现动态MMS路由回调时,我通常会剪切并粘贴以下文本:

在NowSMS中启用MMS路由回调时,每次MMSC接收到一条消息时,它将连接到可配置的客户提供的路由回调URL,将消息接收者传递给该URL。客户提供的URL可以返回响应,以指示应通过邮件中定义的特定路由来路由邮件。“MMSC Routing”NowSMS配置对话框的页面,或者响应可以指示该消息应被拒绝。

MMS路由回调URL在[MMSC]节标题下的MMSC.INI文件中定义:

MMSRoutingURL=http://server.name/path

当网关作为HTTP GET(CGI样式)参数执行URL时,下面列出的变量将被添加到MMSRoutingURL中。

类型 = MMSRouteCheck(注意:将来“Type”值可能会在将来添加。)

发件人=发件人电话号码或电子邮件地址VASPIN = VASPname(如果邮件是通过在“MMSC VASP” list)

收件人=收件人电话号码

例:

http://server.name/path?Type=MMSRouteCheck&From=%2B1234567&VASPIN=test&To=%2B9999999999

(注意:“%2B”在以上示例中,是用于“+” character.)

要指定在“MMSC Routing”应该使用list来路由此消息,URL必须返回标准的HTTP 200 OK响应,并且在响应中的某些位置包括以下文本:

路线=xxxxxxx

“xxxxxxx” should match an “Account Name” defined in the “MMSC Routing”列表,也可以使用的预定义值“Direct” (signifying MMSC 直接 Delivery), “WAPPush” (signifying “转换为多媒体WAP推送”), or “BlockMessage”(表示MMSC应该拒绝该消息)。

如果可以通过几个已定义的路由之一路由消息,则可以在响应中返回多个路由,并以“:”. For example:

路线=xxxxxxx:yyyyyy:zzzzzz

在上述情况下,可以通过任何列出的路由来路由消息。

尽管该解释相当完整,但我们’经常问一个例子。

示例可能会有所帮助。但是我们’我一直不愿提供示例,因为此路由回调脚本在单独的外部Web服务器上运行。这意味着可以在客户最熟悉的任何Web开发环境中编写脚本。例如,它可以是PHP,ASP,Perl,Ruby on Rails或许多其他环境。

以下链接提供了PHP示例路由回调脚本: http://www.zgbianpofanghuwang.com/download/mmsroute-php.txt.

MNP还有一个额外的考虑因素。

在典型的运营商MMSC配置中,新的MMSC用户帐户是在用户第一次发送MMS消息时自动配置的。该配置在标题为的部分中详细介绍 NowSMS MMSC 运营商注意事项.

如果在MMSC上已经提供了订户后,订户将其号码从该运营商转移到另一运营商,就会出现问题。 MMSC将看到用户帐户,并尝试直接传递MMS消息,而不执行路由查找。

为了解决这种情况,存在一个附加的MMSC配置参数。在[MMSC]标头或MMSC.INI下,添加参数ForceRoutingCallback=是。此设置将导致始终进行路由查找。

(注意:在2009-06-30版本之前,设置DisableMMSDirectDelivery=是 建议解决此问题。此设置名称听起来与预期目的相反,最初是出于其他目的添加到NowSMS的,但它确实具有始终强制路由回调的副作用。 w ^e不再建议使用DisableMMSDirectDelivery=是 为此,建议使用ForceRoutingCallback=是 设置。这是因为DisableMMSDirectDelivery=是 禁用MMS客户端的自动版本跟踪还有一个额外的副作用。因为直到OMA 彩信v1.2才引入MMS已读回执格式,所以这可能导致某些客户端将已读回执生成为常规MMS消息,而不是使用已读回执格式。)