Unique SMS sender id? - sms

I want to build an app that send SMS to people. However, I want my users to know that the SMS comes from the app and nothing else so they can't fake it. Is there a way to guarantee that the sender ID is unique to my app?
It seems that sending a SMS by phone is with a unique SENDER ID for each phone number.
But, from what I read, I don't think it is the case when sending a SMS through a web gateway.
Is this correct? I am not an expert in mobile phone security.
Of course, I am willing to pay the price for a unique sender id, if such thing is possible.
Regards,
Pascal

The "Sender ID" is called the OADC code and some (depending on your location) SMS gateways will indeed allow you to set this to pretty much anything you like, meaning its probably not a good idea to rely on it as absolute proof of origin.
You could perhaps include some item of data in the message body itself that only you and they know?

Related

Rocketchat adding a name to incoming Twilio SMS numbers

With Rocket.chat and Twilio - the incoming chat 'user' is just a mobile number. This is not very user friendly if multiple conversations are ongoing. Responding to and tracking conversations by name and not phone number is much better if possible.
I have a database that could be used to match the incoming SMS phone numbers to a human name for most of my expected incoming SMS IM's. Trying to figure out the best way to do a lookup and add that to the Twilio # identity so that the 'chat' makes more sense to the in-house user who would be using it.
Appreciate any ideas anyone might have that would save me from re-inventing the wheel w/ Twilio and Rocket.Chat.
Related to RocketChat: How to send SMS Messages to Livechat channel from mobile
Twilio developer evangelist here.
I have not used RocketChat for this before, I just took a look through the code to see what I could find.
Turns out, RocketChat has a field for phone number on the user model and when an incoming message is received it looks up a user from their phone number. If the user is found, the message is sent from the user, otherwise a new user is created.
So, what you need to do is merge your database of usernames and phone numbers with the RocketChat User model.
Hope that helps!

Twilio changing alphanumeric id to phone number

I recently started using Twilio to send SMS in one of my apps. Although the twilio's dashboard shows that the SMS was send using the set alphanumeric sender id. It arrives on my phone with a different number totally. Anyone have any idea why? There's nothing about this on the Twilio website.
It turns out this is a carrier problem. They can change sender id (within reason) to increase the chance that an SMS is delivered. So there's basically nothing Twilio can do about it.
If you still have doubts, contact Twilio support.

Spoofing messages for a Legal Company

We have application that automatically sends message through a broadband stick then We want to buy a sim or any other way (LEGALLY) that make our Sender number will be a Company name
0999xxxxxx7 into CompanyName
please give me suggestion
(Philippines)
You can use a service like http://www.clickatell.com/ and specify the sender ID when sending messages through their API. However, the sender ID capability is not supported everywhere and you might have to get multiple numbers from then to support different locations.

Send/receive SMS in Latvia

Could anyone tell which countries would be able to send and receive SMS AND calls to Latvia?
I can't seem to find an answer, it appears that LV numbers can't send SMS, yet I see prices on the pricing page. I'm quite confused as of which country I should get a number in (and the price).
If I get a LV number, does it mean i can send, but not receive SMS? It would be fine for my app (already built, waiting to go live).
Basically, it is a browser app acting as a soft phone (single user), so no landline involved. Is there a way to solve the country problem?
Twilio evangelist here.
Looks like we currently only have Voice enabled Latvian numbers (numbers with a +371 prefix). Buying one costs you $1 US and use can use it to have Twilio make a voice phone call from it or receive phone calls to it.
For SMS, Twilio does support sending international SMS from US numbers, so you certainly could buy a US number and use it to send text messages to a Latvian number. The pricing for that is here (scroll down to see per-carrier pricing details).
Hope that helps clarify.

Providing context for SMS

I'm trying to figure out how to set up an SMS service where users can communicate with people on phones that are not participating in my service. "TextFree" on iPhone does something like what I want to do. They let you sign up, then you can send messages for "free" to other friends that aren't part of the service.
It looks like when you sign up for TextFree, they assign you an email address [user#textfree.us]. People outside the service without MMS capabilities can't send an SMS to this user. The user must first send an SMS to them, starting a conversation. I think this is what they're doing:
Textfree signs up for an account with a bulk SMS provider, and is assigned a single phone #, like "123".
Joe signs up for TextFree, gets assigned email: joe#textfree.us.
Mary wants to send Joe an sms, but can't because she doesn't know what # to direct the sms to.
Joe sends an sms to Mary using textfree. This really just makes an http request to some textfree server. The server gets the request, and the destination # (Mary's phone).
The server sends the sms out using their bulk sms api provider.
Mary receives the sms, and sees the originator phone # as "123".
Mary replies to the sms, using this phone #, "123".
Their sms provider receives the message, and forwards it to textfree's http server.
Textfree now has to resolve that the sms received by Mary's phone # is destined for Joe (not sure how this can be done), so it can be delivered to Joe's account.
I think that all makes sense and seems feasible, I'm just not sure about that last step, how they could figure out which conversation sms' belong to. If all outside users are directing their sms to phone #123, how could I figure out which internal user the message is destined for? Is there some way to embed a unique identifier in an SMS, so that when the external user replies to the SMS, some unique ID can be embedded in there to provide that type of context to read on the reply side of things?
Long question, thanks for any thoughts!
As for the last part of your question (unique ID in SMS):
I know of no mechanism that could help you here. When replying to a short message phones only set the sender address as destination and the user is free to type the text. The headers in a short message PDU are solely for the basic transport parameters (encoding, sender-ID, ...). There is a way to define so called user data headers, but for this to be of any use for you, you'd have to be in control of most of the devices that are involved in the message delivery, including the handsets... So basically the only way I see to correlate messages with each other reliably is the use of some ID within the message text.
An alternate approach would be to rent a bunch of numbers and assign these permanently (I assume some subscription model here) to your users. This way you could use these as identification numbers within your service and forward the messages to their real phone numbers (or even a completely different media like email / instant messenger).

Resources