Matching a SMS Reply to the Original SMS Sent

Matching a SMS Reply to the Original SMS Sent SearchSearch
Author Message
Daniel
New member
Username: Coldfusion

Post Number: 3
Registered: 03-2006
Posted on Wednesday, March 29, 2006 - 04:53 am:   

How would I match a reply to a message with the message it's replying too? I guess what I need to know is what additional info is sent in a reply to a message, is there an orginal message ID?

The goal is to record a SMS conversation in a threaded format. For example:

SMS 1 - Bill: Hi Jim, did you finish?
SMS 2 - Jim: No, not yet
SMS 3 - Bill: Call me when it's ready
SMS 4 - Jim: Will do

Thanks!
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 5748
Registered: 10-2002
Posted on Wednesday, March 29, 2006 - 08:05 pm:   

Hi Daniel,

Unfortunately, there's not.

This has long been one of my biggest SMS frustrations, because I think there are quite a few service applications that could benefit from reliable reply tracking.

Basically, there's nothing to distinguish whether a message is a reply to a particular previous message, or if it is a brand new message.

I've often considered this reply tracking issue from an e-mail to SMS gateway perspective. So let me explain some of the ideas that I've had in that area and maybe they will give you some ideas on how to resolve your issues.

Routing an e-mail out to an SMS recipient is a relatively easy task. But allowing the original SMS recipient to reply back and route the message back to the original e-mail sender is a challenge. It is a challenge because there is nothing in the SMS reply that can correlate the message back to the message to which it is a reply.

The only pieces of data that you really have for being able to perform this type of correlation are the sender and recipient addresses.

For example, let's say that e-mail user A sends a message to SMS user 1 which gets routed via an e-mail to SMS gateway.

If this gateway receives an SMS back from SMS user 1, it would know that it had previously routed a message from e-mail user A to SMS user 1, and it might therefore assume that this SMS is a reply that should be routed back to e-mail user A.

In a simple world, that works ok. But suppose that e-mail user A sends a message to SMS user 1. And then e-mail user B sends a message to SMS user 1.

If SMS user 1 replies back to either message, the gateway cannot really be sure whether to route the message to e-mail user A or B (it would probably pick B since B had sent the most recent message).

So how do commercial e-mail to SMS gateways handle this situation?

Generally, they need to have the ability to send messages out with multiple sender addresses. (Usually at least 20, preferably 50 to 100 for a large system.)

Let's go back to our example...and assume that the SMS gateway has 20 sender addresses, ranging from 1001 thru 1020.

E-mail user A sends a message to SMS user 1. The gateway uses an SMS sender address of 1001 to send the SMS to SMS user 1.

E-mail user B sends a message to SMS user 1. The gateway sees that it last used SMS sender address 1001 to send an SMS to SMS user 1, so this time it uses an SMS sender address of 1002.

Each time the gateway has a new message to send to SMS user 1, it changes the sender address, until it eventually reuses sender addresses.

When the gateway receives an SMS from SMS User 1, addressed to 1001, it knows that this is a reply that needs to be routed to E-Mail User A.

If it received an SMS from SMS User 1, addressed to 1002, it knows that this is a reply that needs to be routed to E-Mail User B.

Obviously, there is a limitation of how many sender-recipient transactions can be tracked, based upon this sender address. For a threaded conversation, you might only change the sender when the thread changes.

It's a complex scenario. But it's the only type of solution that I've seen that makes any sense for being able to track replies.

-bn
Daniel
New member
Username: Coldfusion

Post Number: 4
Registered: 03-2006
Posted on Wednesday, March 29, 2006 - 11:41 pm:   

That makes sense and is definitely doable for us. But I must be missing something. How can a user receive an SMS from an email address and reply to that email address? When I message my cingular phone from an email account, replies will always be sent to 36245, which is cingular's short code.

When you are referring to email to SMS, are you talking about using the carrier specific @mobile.mycingular.com, etc., type addresses? If so, this would only work in the US I suppose.

So I must be missing something, please help me understand.

Also, does this same problem with replies exist for MMS too, or does it have a way to track the original message?

Thanks for your time!
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 5753
Registered: 10-2002
Posted on Thursday, March 30, 2006 - 06:51 pm:   

Hi Daniel,

I was talking more about how you would design an e-mail to SMS gateway that was bi-directional. I wasn't referring to any specific carrier's operating gateway.

MMS has similar issues. However, in MMS there is at least a concept of a "subject" of the message. And when a user replies to a message the subject is maintained (although the client usually adds "Re:" or similar text for the local language).

For the e-mail to MMS gateway functionality in NowSMS 2006, we added a configuration setting that can be defined in an "MMSC Routing" definition for MMS over a GPRS modem to make use of the subject header when routing MMS to e-mail replies.

If you check "Embed Original Sender in Subject Header", then when NowSMS routes an e-mail to MMS, it embeds the sender address in the subject header. So if NowSMS receives back an MMS reply, it can parse the subject and route the reply to the correct e-mail recipient.

I'm not necessarily saying that you should use any e-mail related functionality in your application for tracking purposes. It's more a case that if you look at the needs of an e-mail to SMS or MMS gateway application, it has tracking requirements similar to the type that you were asking about.

-bn
Daniel
New member
Username: Coldfusion

Post Number: 6
Registered: 03-2006
Posted on Thursday, March 30, 2006 - 08:24 pm:   

"I was talking more about how you would design an e-mail to SMS gateway that was bi-directional."

Does NowSMS provide this functionality? Could you point me to some resources that would get me started?

Emailing to the carrier specific gateways is the only way I know how to get an SMS to a phone via email. I guess there's other ways I don't know anything about.

Thank you Bryce
Daniel
New member
Username: Coldfusion

Post Number: 7
Registered: 03-2006
Posted on Friday, March 31, 2006 - 02:01 am:   

O, nevermind the docs have extensive info on it. I'm sure I'll figure it out. Thanks for all your help!
Daniel
New member
Username: Coldfusion

Post Number: 8
Registered: 03-2006
Posted on Friday, March 31, 2006 - 04:00 am:   

Okay, a couple of pointed questions arose from my testing.

I can't get the email address to track replies because whenever I send an SMS to my mobile from daniel@sms.domain.com to phone_number@sms.domain.com, the reply uses the phone number of my GSM modem as the destination and therefore all the email address is lost. Is this a limitation of the phone?

Thanks!

Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 5759
Registered: 10-2002
Posted on Friday, March 31, 2006 - 05:20 pm:   

Hi Daniel,

Regarding the e-mail to SMS gateway functionality ... we don't have any built-in functionality for routing e-mail to SMS out via different sender addresses and tracking the replies.

I was discussing it more from a "theoretical" standpoint.

That said, we did have a separate product which was an e-mail to SMS gateway that supported replies like I described. But it required that you have at least 20 sender phone numbers associated with your system (could be 20 GSM modems, but was more likely 20 or more phone numbers allocated at a service provider SMSC).

It was separate to NowSMS, but it could connect to NowSMS over SMPP.

As a product, the requirement for 20 sender addresses (although there was an ability to also preface your reply with a code number to work with fewer sender addresses) gave it a fairly limited audience. If memory serves me correctly, we sold 2 copies of the product, and then put it on the back burner. We don't sell it any more.

It looks like there is still some old content hidden on our web site at http://www.nowsms.com/smsemail.

Anyway, back to your situation. My e-mail example wasn't to encourage you to try to use an e-mail interface. It was the best way that I could think of to explain the problem by describing a similar scenario.

When you send an SMS message out via a GSM modem, the sender is always going to be the phone number of the GSM modem.

If you have multiple GSM modems, you can route different messages via different modems ... and when a message is received, you can see which modem it was received on.

That's a potential way to handle "multi-conversation" issues by handling different conversations over different modems.

I've probably confused you more with my explanation as I read back over it. If you look back over it with the overriding thought that my e-mail example was theoretical, then it might make more sense.

-bn
Daniel
New member
Username: Coldfusion

Post Number: 9
Registered: 03-2006
Posted on Saturday, April 01, 2006 - 08:00 am:   

Thanks for all the info on this. I should be able to accomplish what I need with a few GPS modems and some server side ColdFusion. :-)
guaerjia
New member
Username: Guaerjia

Post Number: 2
Registered: 04-2006
Posted on Friday, April 14, 2006 - 09:25 am:   

Hi, Daniel
Have you accomplished? I have a few GPRS modems too, my email is weijia.guaerjia@gmail.com, can I share your resolvent?
Daniel
New member
Username: Coldfusion

Post Number: 14
Registered: 03-2006
Posted on Saturday, April 15, 2006 - 02:16 am:   

We're still working on the application but the tests runs show it will work as excepted. It's just like Bryce said:

"When you send an SMS message out via a GSM modem, the sender is always going to be the phone number of the GSM modem.

If you have multiple GSM modems, you can route different messages via different modems ... and when a message is received, you can see which modem it was received on."
guaerjia
New member
Username: Guaerjia

Post Number: 3
Registered: 04-2006
Posted on Monday, April 17, 2006 - 07:02 am:   

Hi, Daniel, how to route different messages via different modems? I can specify the modem, how ? thank you very much, I can't specify the modem, how to modify the ini file?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 5811
Registered: 10-2002
Posted on Thursday, April 20, 2006 - 04:06 pm:   

Associate a "Phone Number" under the "Properties" setting for each modem in the "SMSC" list.

Submit a message with a "Sender" address that matches the phone number of a modem, and the message will be routed out via that modem.

-bn