Sharing an MM7 Connection

Sharing an MM7 Connection SearchSearch
Author Message
Nelson
New member
Username: Nelson

Post Number: 11
Registered: 01-2006
Posted on Wednesday, October 04, 2006 - 09:42 pm:   

Hi Bryce,

I've got a configuration issue that I can't figure out how to accomplish with NowSMS.

I want to use NowSMS to perform a mini-MMS aggregation service.

NowSMS will be using Ericsson-flavored MM7 to submit messages to an operator MMSC.

I then want to have NowSMS accept standard MM7 connections from multiple clients, with NowSMS routing all of the messages from these clients to the shared Ericsson-flavored MM7 connection.

This seems to be working fine for my proof of concept.

What I can't figure out is the 2-way MMS part. When the MMSC connects back to me to deliver messages, how can I route the received messages back to the client that should receive them.

I've set this up before with NowSMS for sharing an SMPP connection. When I did that, under each "SMS Users" account, I defined receive phone numbers to route back to that account. So if a message came back from the upstream SMSC addressed to that recipient, it would get routed back to the appropriate SMPP client.

Of course, it's all more complicated when setting something similar up for MMS, because each connection (including the operator connection) requires an "MMSC VASP" and an "MMSC Routing" definition.

But the problem seems to be that there is not a concept of upstream (similar to "SMSC" list) and downstream (similar to "SMS Users" list) connections. All of the connections are at the same level.

If I configure the "MMSC VASP" connection through which I receive messages from the operator MMSC to use "MMSC Routing for Received Messages" = "Standard MMS Delivery", then it almost works. But there's one big problem ... if a message comes in from the operator MMSC addressed to a recipient address that doesn't match one of my "MMSC Routing" definitions, then the default route is to route the message back to the operator MMSC, creating an infinite loop.

What am I missing?

Thanks,

nelson
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 6641
Registered: 10-2002
Posted on Friday, October 06, 2006 - 03:53 am:   

Hi Nelson,

Hmm ... I hadn't really thought this through before.

The only immediate suggestion that I have would be to implement the MMSRoutingURL callback.

You wouldn't necessarily have to return a routing response for every message submission. If your callback doesn't return "Route=routename" in its response, then this means that NowSMS should perform its own routing logic.

But basically, what you'd want to do is look for callbacks with "VASPIN=upstreamMMSC", where if the "To=recipient" value is not a value registered for one of your MM7 client connections, you'd want to return "Route=BlockMessage".

This "Route=BlockMessage" response would trigger NowSMS to return an error in the deliver response back to the operator ... which might cause a problem, but it is preferable to routing the message back to them.

Alternatively, you could define a dummy route in NowSMS, and route to it. (Maybe define an MM4 route, and specify an e-mail address in the "E-Mail Domain" field ... this would cause any messages sent to this route to be forwarded to the specified e-mail address. If you do this, specify "Generic E-Mail" as the "Message Format".)

That's the only suggestion that comes to mind right now.

Basically, the only problem I see with this type of configuration is the problem that you describe ... if a message comes in from the operator MMSC, addressed to a recipient that you aren't prepared to accept, the current behaviour would be to route the message back to the operator MMSC, which could trigger an infinite loop or other unexpected problems.

We're going to put some more thought into this issue, because I think it is important that we quickly address this issue and put out a patch, because I think configurations like the one you describe are going to become more commonplace. Stay tuned.

-bn