Spoofing messages for a Legal Company - sms

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.

Related

A2P SMS gateway

I already have a SIM card with a company that allows tethering and A2P.
I want to be able to send an SMS with a unique sender ID (company name) using that sim card.
Is this possible and if so, what should I purchase and how do I set it up?
It is NOT possible to alter the senderid when sending SMS using a SIM card + modem. The senderid will simply be the number belonging to that SIM.
If you want to have a custom (alpha) senderid, your only option is using a professional A2P SMS gateway. But even then it is not always possible, as not all countries allow alpha senderids. They might get overwritten to a short/longcode, or the operators require senderid whitelisting (basically, you need to request "access" to an alpha senderid, by sending your personal/company details and SMS content details to the operators. This is done to battle SPAM messages)
Yes this is possible.
Most of the time you don't need any SIM card as you'll be using some sort of API, most of the time a HTTPS/JSON or HTTPS/XML API. If you intend to use a SIM to send SMSes, having a dedicated sender ID will be most probably impossible: using a SIM will make your request arrive through the "regular" signaling link just as "any subscriber" that sends an SMS from his mobile, while using an API will make you use the SMPP links to the SMS-C where specific configuration can be done on per client basis. If I misunderstood something, please sent a comment.
Anyway, you have to have an agreement with your SMS API provider or telco to use a dedicated ID

Twilio - How can I tell if a number can receive a text message?

I always relied on the "Carrier type" of "mobile" using the lookups API to determine if a number was able to receive a text message. This as served me well for several years.
I recently came across a lookup result as follows:
CARRIER NAME Enflick - 360 Networks - SVR
CARRIER TYPE voip
It seems this belong to the textnow.com carrier that sells wifi only phone plans that allow texting. Because of this, it seems some "voip" carriers can receive texts.
Is there a way to determine which numbers should be eligible to receive texts using the Twilio lookups API or something similar? I'd hate to consider all voip carriers as texting eligible since that definitely isn't the case.
Twilio developer evangelist here.
I think the easiest way to check if a number can receive texts from Twilio is to try sending one. If the API responds with an error (likely 21612) then you can't send messages to it.

When does aws sns sms SENDERID gets changed from custom-id to aws's default-id "NOTICE"?

I am using aws sns for sending sms to Indian phone numbers since last two months.I am using PHP SDK for api calls.
I had sent 7000+ successful messages with custom senderid relating to our company name.But since last 4-5 days same clients/phone no.s are receiving messages with aws's default senderid "NOTICE".
I am publishing messages to a topic to send sms. Now in past few pushed messages all clients got default senderid, while in few pushed messages only few clients got default id while others got my custom id.
So, where is the problem?
If your destination phone number is in India, your Sender ID must be registered to be able to work. You can request to register a Sender ID by opening a support ticket with AWS support (which has no cost).
Other countries require no registration, thus, some deliveries will work by just adding a sender ID value to your publish request.
You might successfully get a working sender ID to an Indian destination depending on the route the message takes to reach an end user. However, the right course of action (given technology partners and provider regulations) is to register the sender ID before using it with AWS (which is why it's not marked on the website).
Disclosure: I work at the AWS team for Mobile Messaging.
Are you sure you have entered a valid Sender ID, so no spaces and at least one letter?
Also it's important to know that not all countries support a custom Sender ID. See documentation from AWS bellow:
(Optional) For Sender ID, type a custom ID that contains up to 11
alphanumeric characters, including at least one letter and no spaces.
The sender ID is displayed as the message sender on the receiving
device. For example, you can use your business brand to make the
message source easier to recognize.
Support for sender IDs varies by country. For example, messages
delivered to U.S. phone numbers will not display the sender ID. For
the countries that support sender IDs, see Supported Regions and
Countries.
If you do not specify a sender ID, the message will display a long
code as the sender ID in supported countries. For countries that
require an alphabetic sender ID, the message displays NOTICE as the
sender ID.
This message-level sender ID overrides your default sender ID, which
you set on the Text messaging preferences page.
Source: http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html

Unique SMS sender id?

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?

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