的 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或许多其他环境。
A 以下链接提供了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消息,而不是使用已读回执格式。)