The NowSMS MMSC implements a dynamic MMS routing callback facility for environments where more advanced MMS routing capabilities are required.
The standard NowSMS MMSC configuration allows for MMS routing based upon phone number prefixes. However, in MNP environments, it may be necessary to query a database to determine how to properly route an MMS message.
Dynamic MMS routing callbacks also allow for MMS routing control based upon who submitted the MMS message. For example, it may be desirable to block MMS sending to international destinations for some or all MMS VASP accounts.
Here’s the text that I usually cut and paste when people ask how to implement the dynamic MMS routing callback:
When the MMS Routing callback is enabled in NowSMS, each time the MMSC receives a message, it will connect to a configurable customer-provided routing callback URL, passing the message recipient to the URL. The customer provided URL can return a response to indicate that the message should be routed via a specific route defined in the “MMSC Routing” page of the NowSMS configuration dialog, or the response can indicate that the message should be rejected.
The MMS routing callback URL is defined in the MMSC.INI file, under the [MMSC] section header:
MMSRoutingURL=http://server.name/path
The variables listed below will be added to the MMSRoutingURL when the URL is executed by the gateway as HTTP GET (CGI-style) parameters.
Type=MMSRouteCheck (Note: Future “Type” values may be added in the future.)
From=SenderPhoneNumber or e-mail address
VASPIN=VASPname (present if the message was received via a specific account defined in the “MMSC VASP” list)
To=RecipientPhoneNumber
Example:
http://server.name/path?Type=MMSRouteCheck&From=%2B1234567&VASPIN=test&To=%2B9999999999
(Note: The “%2B” in the above examples is standard URL escaping for the “+” character.)
To specify which of the routes defined in the “MMSC Routing” list should be used to route this message, the URL must return a standard HTTP 200 OK response, and include the following text somewhere in the response:
Route=xxxxxxx
“xxxxxxx” should match an “Account Name” defined in the “MMSC Routing” list, or it can use the predefined values of “Direct” (signifying MMSC Direct Delivery), “WAPPush” (signifying “Convert to Multimedia WAP Push”), or “Deny” (signifying the MMSC should reject the message).
If it is possible to route the message via one of several defined routes, multiple routes can be returned in the response, separated by “:”. For example:
Route=xxxxxxx:yyyyyy:zzzzzz
In the above case, the message could be routed through any of the listed routes.
Although that explanation is fairly complete, we’re frequently asked for an example.
Examples can be helpful. But we’ve always been hesitant to provide an example because this routing callback script runs on a separate external web server. That means that the script can be written in whatever web development environment the customer is most familiar with. For example, it could be PHP, ASP, Perl, Ruby on Rails, or numerous other environments.
We decided to provide a PHP example.
Blogger is not good for posting code examples, so you can download the PHP example at the following link: http://www.nowsms.com/download/mmsroute-php.txt.
Related pages:
- Mobile Number Portability (MNP) Considerations The NowSMS MMSC implements a dynamic MMS routing callback facility for environments where more advanced MMS routing capabilities are required....
- Mobile Number Portability (MNP) and the NowSMS MMSC When the NowSMS MMSC is used in environments with mobile number portability (MNP), the MMSC may need to query a...
- MMSC Routing Similar to how the Now SMS & MMS Gateway allows recipient phone number masks to be defined to route SMS...
- MMSC MM4 Interconnection Basics MM4 is the standard protocol that is defined for connecting together two or more MMSCs. MM4 is an SMTP based...
- MMSC Accounting Callbacks for Billing and Charging MMSC accounting callbacks provide an interface between the NowSMS MMSC and external billing and charging systems. These MMSC accounting callbacks...
- Multiple Modems for Sending Outbound MMS File this as a “not so obvious” configuration feature of NowSMS…. When you are sending MMS messages via an operator...
- MMS Accounting Callbacks MMSC accounting callbacks provide an interface between the NowSMS MMSC and external billing and charging systems. These MMSC accounting callbacks...
- Dynamic SMS Message Routing with HTTP Callbacks If you need control over routing to particular SMSC connections, the logic that NowSMS uses for SMS message routing is...
- Routing SMS messages to a Specifc SMSC Route If you need control over routing to particular SMSC connections, the logic in NowSMS works like this: When NowSMS routes...
- Routing Options The “Routing Options” dialog for a modem connection contains a field to set the Phone Number of the GSM modem...
Topic Category: MNP, Mobile Number Portability, operator MMSC, routing
For comments and further discussion, please click here to visit the NowSMS Technical Forums (Discussion Board)...
One Response to “Mobile Number Portability (MNP) and the NowSMS MMSC”

Click here to download a free trial version of NowSMS & MMS Gateway, NowSMS Lite or NowWAP Gateway.
Learn more about NowSMS Lite.
Additional information regarding this configuration can be found here:
http://blog.nowsms.com/2010/04/mobile-number-portability-mnp-and.html