I will like to explain a little bit my situation before i ask my question so if you like to read it here is it:
On my country i have a small school just 150 students, i will like to send to each of them 5 SMS per day with different information so i don't have to use paper anymore, using internet is out of the question because most of my student don't have internet on there phones or in there homes but everyone has a phone that receives SMS, i searched all over the internet and most SMS providers charge approximately $/0.03 per SMS and that is just too much for me because at the exchange rate each SMS ends up costing me almost 0.10 at my currency, the SMS providers that offer SMS cheaper than that are blocked by my local phone providers so there SMS don't arrive at my local phones.
The math end up like this
150 students x 5 sms per day x 20 days per month x 0.1 per SMS = 1,500
approximate and that is way out of my budget.
On my country my providers offer free sms for a month for each SIM card that you buy and each SMS card cost 5.0 per month, so i whant to buy 6 CARDS and send SMS to 25 students per SMS card per DAY so i will have to pay each month only 30 and i will be able to send all SMS on my budget.
Now my question, i just want to know if using the SMS cards like this is possible, or i will get flag by my telephone providers. On my mind what i want to do is like giving each of my teachers one phone and make them use that phone to send SMS to there students 25 students per teacher, and there is nothing wrong with it, the only difference is that i will use the SMS cards on GSM modems and connect them to a computer so it will require only 1 computer instead of 6 phones, i will still pay the cost that my providers ask for each SMS card so on my mind i am not doing nothing wrong, but maybe one of you that read this question have a different point of view and with your answers you can help me to see other sides of the picture and help me find out if i am right and i am not doing anything wrong or I'm wrong.
Looking forward to your answers so i can continue with my project or forget all about it.
It's curious to see that situation about of buying such amount of simcards. Well, the best scenario is that all of your students have the same cellphone operator but I guess that is not your case. For example, in my country there's a SMS packet of 10000sms that you can buy for almost 4USD but it covers SMS to mobile phones of the same operator you have.
The other way is to send SMS from the web (i.e https://www.sendatext.co/) but according to your situation it looks like everything must be done manually. There are many ways to solve this, but I hope you can consult that with your phone operator. Maybe they will offer a special price for you in order to support schools and education. Just saying. Have a nice day
When you use SIM card to send messages, it means it is MO-MT (phone to phone).
In such cases no operator will filter messages in any case (as you pay).
Also, ask your operator, if they provide other way to send SMS thru application (usually thru API or SMPP).
Based on the documentation here:
http://www.notepage.net/manuals/pg/v8/server/html/index.html
You could try to use a program called PageGate to interface with your cellular modem to send SMS. Based on what you've described, you'll probably want to use the GUI Client to submit the messages that are then delivered using the cellular modem.
You'll first, you'll need to connect the modem to the PC and make a note of either the device's IP (if it receives messaging commands by TCP) or COM port. Once you have that information, you'll want to install PageGate, then go through the steps for 'Creating a GSM-AT' carrier as that's what lets thep rogram talk to the cellular modem.
Also, since you're going to be using a cellular modem, that also opens up the ability for the people who receive your messages to reply to them. If someone does reply to a message, that reply will come back to the cellular modem and sit in memory on the device. PageGate can be configured to check the device for replies and has a reply processing system, with optional scripting module, that can do what you please with those replies (like write them as a file to a directory for record keeping, send them as an email to a predetermined email address or other SMS number, scan the reply for certain keywords and change who the reply needs to go to, etc).
Related
I'm using twillio for sending sms from a rails app.
Integration was very easy, but I found a problem. When i send a message the recipient receive an sms with a different number from the one I have configured on the twillio web interface.
In my case the recipients automatically reply to my message and I need that they reply to the twillio numbers in order to process the texts.
Twillio numbers is US based while the recipient's number are from mexico.
Update: In some cases – and Mexico is one of this – due to some limitation from the provider of the country the Sender ID is translated to a local number. The only solution to this was to use a local Mexican Number and to do so I had to request for the Beta global numbers since Mexico numbers are not yet completely open.
While not completely an answer to your issue with Twilio I can add some insights. Sending SMS's via international numbers so non Mexican mobile subscriber numbers is inherently tricky. This is the case for most South America countries unfortunately.
They tend to limit who can route SMS's into the country a lot more than other countries. Therefore a lot of SMS gateway providers like Twilio instead arrange with local SMS gateways to route SMS traffic into countries like Mexico. Therefore explaining why your recipients are receiving SMS from a different originator number.
As a side note I know of a couple of international players that also operate within South America which don't have this issue. They are pretty easy to Google up :)
Our scenario is as follows:
We have a marketplace where sellers will receive multiple messages throughout the day from users.
We want to send message notifications etc via sms to sellers
We would like sellers to be able to reply to a sms message notification on their phone. We want what they text to appear as their reply on our site. Is this possible?
Say a seller checks their phone as sees that they have 5 notifications, is there a way they can reply to a specific message rather than the last one sent?
Any help would be much appreciated.
As you describe the use case, it is not possible. As you suspect, there's no way to link one inbound message to a particular outbound message. I'd suggest borrowing an idea from Twitter and including a Base-36 code in the notification. If a reply contains that code, then it's in response to that original message. For example...
Notitification: A seller is interested in your widget. LFLR
Reply: #LFLR Sorry. We are sold out of the widgets.
It will take a slight bit of effort from the sellers. But, then, they are motivated to sell. Using a Base-36 code will keep the number of characters to type under five even for a million plus messages.
I have noticed that certain SMS messages that I receive from companies come with a 'sender name'. eg. Just today I received an SMS from a number I have never used before (not im my contacts), however the senders name showed up as 'Adobe'. I get this from other companies too. eg Facebook, Google & Banking.
Is it similar to how a email server works? (you tell the server who you 'are' before you send the message) Is this the case with a carrier's cell tower?
I guess I'm wondering what the service is called and how it works? (ie. can you send 'header info' with SMS messages or is the cell tower just spoofing the message's 'sender number' and replacing it with characters?)
(hopefully this is the right place to ask this question...)
The MAP protocol (the one used for sending SMS messages among others) allow specifying either a phone number or an alphanumeric number as the sender.
AFAIK this cannot be set from your phone where the sender number will be always your public phone number but SMS Centers can allow sending such messages on other interfaces like the ones used by banks and the companies mentioned by you (usually using the SMPP or UCP protocoll).
Please note that some Telcos do not allow this kind of sender address in messages originated elsewhere but sent to their customers (or they don't allow it for everybody). They use SMS spam filters/firewalls called Home Routers for this.
Mobile communication in GSM, UMTS and LTE is governed by 3GPP.
The TP-OA field in SMS-DELIVER TPDU in an incoming SMS typically contains the number of a sender.
The network fills the TP-OA field with usually an MSISDN.
Please see 3GPP TS 23.040 Figure C.10.
But in case of a company name, TP-OA can be made alphanumeric using the Type of Number Information Element as 7-bit default alphabet
I suggest you to read 3GPP TS 24.011 and 23.040 to get an idea of how SMSes work.
However, I must point out that since a sender does not send TP-OA, it can't be easily spoofed.
Here in Brazil we have a program called CoolSMS, that sends free SMS to all the big operators that have here on our territory, but even for VIVO (we need to pay R$0.26 for every email-to-sms) it goes for free. Then I want to know how to do this programmatically.
Doesn't matter the language, but I prefer Java.
You need to send your SMS as email like eg
The phone number is 11111111111
So u send email to 11111111111#phonecompanyweb2smsgateway.com. This is how it works in UK atleast. I am not sure abt Brazil.
And here is list of Gateways
I'm coding a new website that will need users to enter their mobile phone number, the problem I'm facing is that I need to make sure that the user is in fact the owner of (or in this case, has access to) the mobile number.
The solution I've come up with is, upon number submission I send them a SMS with a token and ask the user to enter the token on my website, much like Google Calendar does. However I'm on a short budget and I need to make sure user A doesn't submit 100,000 mobile numbers, if that happens I'll be out of business in no time, since each SMS sent costs me about 0.10 USD.
So far, I've come up with the following solutions:
use a CAPTCHA (keeps some users away and it is still vulnerable to manual registrations)
limit the number of tokens a given IP address request (dynamic IPs, proxies, etc)
limit the number of tokens sent for a given mobile number (a user can request tokens for all the available numbers and when the real user tries to request a legitimate token, his number will be already blocked)
None of these solutions are perfect, how do you suggest I approach this problem?
In a recent project, we were associating SMS numbers with a user account. Each account needed a CAPTCHA and email activation. The user could activate SMS via token, like you are using.
You could rate limit IP addresses (not a total limit). No more than 10 requests from an IP within 5 minutes, or something like that.
And/or you could limit outstanding SMS requests. After an IP address requests a token for SMS, it must be submitted before that IP can request for another SMS number. Or no more than 10 outstanding SMS tokens per IP per day.
Also, like #Alan said, we put a cap on our SMS messages per month.
I would use a combination of CATPCHA and Limit the requests of a Given Mobile Number.
In addition you should be able to specify with your SMS aggregator a preset limit per month. After you reach that limit, service is shutoff. That way if you are a victim of an attack, you will only be liable for a limited amount of money.
Instead of SMS, you can make use of an automated service that calls a phone number speaks out a One Time Password (via Text 2 speech). These services are similar in pricing to SMS, and less likely to get spam abused, as there is more overhead.
Twilio cost $0.03 a minute, or in this case, $0.03 a call.
You could do what Twitter does, which is have the user text you the token (rather than you texting it to them).
This will require you to find a provider that let's you receive texts for free (or close to it), but that might be easier.
Why is SMS costing you a dime? Utilize the EMAIL address that is associated with every SMS system (at least here in the U.S).
http://www.sms411.net/2006/07/how-to-send-email-to-phone.html
If someone tries their best to abuse a system, they will more than likely find a way to do it.
Using a combination of the techniques you've already come up with is likely the best way to thwart most malicious users.
Limit what people can do (no more than 10 requests from 1 ip in 10 minutes, one phone number can only recieve 3 texts a week, captcha before number entry), but more importantly, if people have no control over the content of the message there's no real reason to exploit it.