2

now that I've resolved my previous issue with clickatell:

Impementing Clickatell CallBack in ASP.NET using C#.NET

I have signed up for clickatell Two-way Messaging and I'm waiting for clickatell to assign a Virtual Mobile Number (VMN).

Unfortunately, I have just read on a clickatell forum post:

http://forums.clickatell.com/index.php?topic=8192.msg9880#msg9880

that:

"Unfortunately you cannot match up incoming and outgoing messages with the Clickatell API. Only the message ID's are passed back from the operator."

Houston, we have a problem!

The main reason I was signing up to clickatell Two-Way Messaging and VMNs was to receive responses to outbound SMS messages and associate a response with an outbound message. Now clickatell are saying I can't do that.

As I understand it, when clickatell receive a SMS message to my VMN they send my application a callback with the following details in the query string:

· Api_id (api_id=)
· MO message ID (moMsgId)
· Originating ISDN (from=)
· Destination ISDN (to=)
· Date and Time [MySQL format, GMT + 0200] (timestamp=)
· DCS Character Coding (charset=) [when applicable]
· Header Data [e.g. UDH etc.] (udh=) [when applicable]
· Message Data (text=)

I was hoping to use moMsgId to match the response with the outbound message, but that won't work as it's just the ID associated with the mobile originated (MO) message, i.e., a message sent (originating) from a mobile handset to an application via Clickatell.

The Originating ISDN (which I understand to be the mobile number of the mobile handset which sent the message) won't help me to uniquley match the response with the outbound message, since over a period of time, I could have sent multiple messages to a mobile handset, so I will have multiple rows in my outbound message table containing the same Originating ISDN.

I hope this makes sense. Basically, what I'm trying to achieve is: match a response (incoming) message with an outbound message. I thought I could achieve this using the clickatell API, but apparently not.

Unless I'm missing something or I'm confused or just plain stupid then can anyone help me match a response (incoming) message with an outbound message using the clickatell API?

Alternatively, does anyone know of a reliable SMS Gateway that will allow me to do this? By 'reliable', I mean a service that just works with minimum or zero input from me (once it's configured). It could be free but I'm willing to pay.

My application will initially need to work with mobile phone network providers in the United Kingdom and Ireland, extending to continental Europe and the rest of the World in the short term.

Can anyone help me please. This is going to be a really easy / cheap sell for anyone who works for or is a representative of a SMS Gateway company.

Thanks.

Kind Regards

Walter

Community
  • 1
  • 1
Walter Lockhart
  • 1,293
  • 3
  • 20
  • 34
  • I blogged about this subject here: http://nbevans.wordpress.com/2011/11/30/building-automated-two-way-applications-on-top-of-sms-text-messaging/ – nbevans Dec 01 '11 at 10:19
  • 1
    Thanks NathanE. Interesting article. I will consider your proposed solutions. – Walter Lockhart Dec 02 '11 at 10:58

2 Answers2

2

Unfortunately, when a phone replies to an SMS it does not include any information about the original message.

For this reason any attempt to match the mobile originated (MO) message with the mobile terminated (MT) message is a best guess.

There are only two ways I have seen suggested to try and get round this, both with problems.

The first way is to have several Virtual Mobile Numbers and each time a message is sent to a particular mobile number (MSISDN) you cycle round the list of VMNs to use as the reply address. The problem with this is you can only have as many conversations going with a particular mobile as you have VMNs. Also people tend to save the VMN in the contact list on their phone, and if they reply to a message by using the contact rather than clicking reply on a message, they are effectively replying to the wrong message.

The second way is to include a unique number (or keyword) in the MT message text, with instructions to reply including the unique number (or keyword). This is obviously very prone to user error.

I am not aware of an SMS gateway that offers these due to the problems associated with them.

JohnC
  • 489
  • 2
  • 6
1

CDYNE claims to be able to do this. You can send a unique ID in and they will send it back with the reply.

Todd
  • 11
  • 1