MMS Notification routing via MM4

MMS Notification routing via MM4 SearchSearch
Author Message
Jan Hecking
New member
Username: Jhecking

Post Number: 2
Registered: 12-2004
Posted on Thursday, December 30, 2004 - 03:46 pm:   

We have setup NowSMS with multiple SMSC connections to send SMS to devices in different networks. We would also like to send MMS to these devices using the MM4 protocol. How can we specify the SMSC connection to use for the MMS Notification SMS being sent?

The "Preferred SMSC Connection for" option is not sufficient as e.g. in the U.S. the mobile phone numbers use the normal area code numbers so that the numbers 6505555 and 6506666 could belong to different carriers and also numbers can be ported between networks when customers switch their carrier. Since we do know the correct carrier for our devices we are looking for a way to select the correct SMSC connection in the MM4 message. Is this possible?

Jan
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3800
Registered: 10-2002
Posted on Thursday, December 30, 2004 - 04:48 pm:   

Hi Jan,

If you are using MM4, then you are not routing it through an SMSC connection. Instead, you are using an "MMSC Routing" definition to route the message.

Because of situations like you describe, and the fact that MMS interoperability is more limited than SMS interoperability, we have a dynamic routing callback so that before an MMS message is routed, you can tell us which connection(s) should be used to route the message.

Here's how it works...

When the MMSC receives a message, it will connect to a configurable customer-provided 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.

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=%2B999 9999999

(Note: The "%2B" in the above examples is 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) or "WAPPush" (signifying "Convert to Multimedia WAP Push").

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 this case, the message could be routed through any of the listed routes.

-bn
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3801
Registered: 10-2002
Posted on Thursday, December 30, 2004 - 04:51 pm:   

Jan,

Another note ... since you mention using MM4.

We've got some people who are using SMTP links to US operators which are not strictly MM4.

MM4 is an SMTP based protocol, but, the presence of some MM4 headers has been known to confuse the SMTP links to some of the US operators.

So if you are going in via an SMTP interface, as opposed to a true MM4 interface, then you might want an update to NowSMS which can be downloaded from http://www.nowsms.com/download/20041230.zip.

This update requires that you have NowSMS v5.51 installed, and then the ZIP contains update to the v5.51 release version.

One of the updates is this:

* MM4/MMS Outbound Routing: Add configuration option for "Message Format" when routing externally to an MM4/SMTP connection. The "MM4" option is used for true MM4 connections, while the "Generic E-Mail" option is used for more general SMTP links (e.g., MM3). When the "Generic E-Mail" option is selected, address formats in the message headers will always include a domain name, and MM4 specific headers will not be included in messages.


-bn
Jan Hecking
New member
Username: Jhecking

Post Number: 3
Registered: 12-2004
Posted on Monday, January 03, 2005 - 10:20 am:   

Hi Bryce,

thanks for your detailed answer. Unfortunately it seems I haven't stated my question clearly enough -- likely because the whole topic of MMS is new to me. What we want to do -- because of the interoperability problems you mention -- is to use the "Direct Delivery (internal MMSC)" option. Our problem is with the MMS Notification SMS that is sent to the device by the internal MMSC using one of the defined SMSC connections. We have multiple defined SMSC routes to reach different target networks and the SMS sent by the internal MMSC must use the right connection depending on the destination address. My question now is how we can control which SMSC connection the internal MMSC uses when sending out the MMS Notification SMSs. We use MM4 internally only to deliver the MMS to the NowSMS gateway.

Jan
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3892
Registered: 10-2002
Posted on Monday, January 17, 2005 - 08:20 pm:   

Hi Jan,

Apologies for the delay. I was off for a week, and then had too much to catch up on last week ... which left me away from here for 2 weeks.

I want to make sure that I'm understanding correctly.

You have the same problem if sending SMS messages, correct?

The issue being that we don't have a dynamic route check for messages going out over SMS.

If that is the case, then let me check to see how much effort is involved in adding a routing callback for SMSC routing, similar to what we do for MMSC routing. But before I do that, I want to make sure that I'm understanding the issue correctly.

-bn
Eric M
Unregistered guest
Posted on Tuesday, May 03, 2005 - 01:00 pm:   

Hi Bryce,

I followed your instructions concerning the MMS dynamic routing callback.
Nowsms calls a php script that returns the string:
Route=mm7test
if the tested phone number matches a certain value.
However the mms is not routed using the mm7test MMS Route, it uses the default route.
Is there a way to know for sure (log for example) if nowsms gets the result ?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4469
Registered: 10-2002
Posted on Tuesday, May 03, 2005 - 10:05 pm:   

Hi Eric,

Make sure that your recipient phone number is not defined in the "MMSC Users" list. If so, we will always try to route to them locally. (Well, you can also set MMSC.INI/[MMSC]/DisableMMSDirectDelivery=Yes as an alternative.) That always trips me up whenever I try something like this in a test.

The MMSCDEBUG.LOG might be of some help. But unfortunately, it does not log the complete response from the server. It does show the request, so that you can confirm that the callback is occurring.

For testing, try creating a route named "Now" ... and use MMSRoutingURL=http://support.nowsms.com/discus/routenow.txt

This is a simple callback that I use for testing ... it just routes everything to the "Now" route.

-bn
Jaime Cervantes
Unregistered guest
Posted on Wednesday, May 11, 2005 - 03:44 pm:   

Hello, I read your topic and is just what I need to know. But can you please explain to me how exactly works the MM4 protocol?

Thanx
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4524
Registered: 10-2002
Posted on Monday, May 16, 2005 - 11:08 pm:   

The MM4 protocol is an SMTP based protocol that is typically used for routing MMS messages between MMSCs.

You can find more information about it in the 3GPP TS 23.140 specification. The document repository for that spec is http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/

-bn