I am new to andriod programming and I'm having trouble finding any way of forwarding my SMS to my email when my phone is switched off.
The reason I want to do this is because I have my normal phone /sim in the UK, and I spend 3 months abroad. I take my UK sim out and put in a local sim.
I would like to have my UK SMS forwarded to my email, in the same way I am able to forward my missed calls using Hullomail, but I am not sure if this is possible with the Broadcastreceiver.
I am using Android 4.4.4
If your SIM card is removed, you will not receive any SMS messages on that phone for the account the SIM represents. There are apps that will forward SMS messages. You could leave your UK SIM in a phone, plugged in, and running forwarding software to your other phone. Also, your network operator may offer SMS forwarding services.
Related
Is there any way to still deliver sms message to Android/iPhone device in ordinary messages app, when device is outside of coverage area of cellular provider but has access, for example to WiFi internet?
Thank you
Regular SMS message can be sent/delivered only when phone is in radio coverage. However, some applications can show message as SMS following its own protocol over the internet.
Such example is iMessage (Iphones).
I believe this can be done. But it is not an easy.
You need to create an app and install it on the phone. This app should inject SMS into the ordinary message app (I am not completely sure this is possible on iPhone). The app should, using WiFi, get the information about the SMS from somewhere. Different companies like https://twilio.com or https://suresms.com have inbound SMS numbers. So, you send SMS to this "virtual" number, then an app will pickup the message and inject it into the phones ordinary app.
I cannot come up with a solution where the message is delivered to the SIM cards phone number when the sim-card is out of reach.
I am stuck in the midst of a project. The project requires that a desktop pc must receive an sms sent from a mobile phone. How can I accomplish this? Please help.
You can connect a GSM Modem like this one to the serial port. It acts like a mobile phone with its own SIM card. I'm sure there are other products for USB.
On the software side, you can check for SMS messages by talking with AT commands to the device. I've done that in Perl and in .NET "manually", but maybe there are some out-of-the-box solutions.
i know (and have used) 2 ways to do this.
The quick, dirty and hacky way is to buy a mobile phone and connect it to your PC with a serial cable, then use old fashioned AT commands to control the phone (including listening for new SMS messages).
Many older Nokias support this, though it's not hugely well documented - this is about the best resource I found: http://wiki.forum.nokia.com/index.php/AT_Commands.
There are many exciting ways this can fail - you have to keep the phone charged, and in a data centre, reception is often pretty poor.
The alternative is to talk to a mobile aggregator (Google for likely candidates in your area). These are companies that can set up SMS short codes, and have APIs for forwarding the messages to you; APIs vary between the providers. This is usually fairly expensive - shortcodes cost money, sending and receiving SMS messages costs money, and the aggregator may not have deals with countries you care about. Caveat emptor, and all that.
You would also need a library to send/receive the AT commands to and from the modem.
See http://www.codeproject.com/KB/vb/phonesmsrecv.aspx
This software can help you. It uses a GSM/3G modem attached to a PC. It can store incoming SMS messages in a database, save to files, forward them to a webserver, in real-time.
(A 3g/gsm modem has a SIM card and therefore has its own phone number to which sms messages can be sent)
I've absolutely no idea if this is possible and how it would work.
is it possible to give users a phonenumber where they should send an sms to.
e.g. the sms contains
name
some code
i want to track how many sms are sent to this number.
i want to read the sms text and use both nodes
they weird way i imagine this: i buy a prepaid simcard from any phone provider, i plug the simcard into any device (sim-reader :) ) connected to my computer. my computer is ONLINE. so my computer is kind of transformed to a mobile phone. some software is able to retrieve those sms and i can use the data in it.
is that even possible, if yes HOW?
You can use e.g. gammu to send and receive SMS from a cellphone connected to your computer - essentially creating a SMS gateway. I've succesfully used it in the past in this setup (newer phones have serial port emulation through USB, for older ones you need a model-specific serial-to-phone cable):
my program <-> database/textfiles <-> gammu <-> serial port <-> cellphone
The operation was as follows:
gammu ran in the command line/daemon mode, with a watchdog script restarting it (and the cellphone) if the cellphone became unresponsive (this was a really old phone; a watchdog is probably not necessary with anything > 2006)
gammu polled the cellphone for new messages, those were store into a "received" table in the database.
gammu also polled an "outgoing" table in the database for messages I wanted to send, and sent them through the cellphone.
my program was a web frontend for reading the incoming messages or inserting the outgoing ones.
(Gammu has an API to interface with the cellphone directly, without the database; I decided to keep the backend and frontend parts separate, and since the frontend was using the database for other things anyway, it was easiest to go that way; also, I was using an old phone for this, and needed the frontend to run even if the cellphone wasn't responding)
There are several possibilities listed here. But it depends on the phone you are using. Symbian, iOS, Android, Windows Mobile. But basically it is possible using a GSM Modem.
I'm searching for a SMS gateway to deliver SMS messages to Danish numbers which are roaming on networks in USA and other countries.
You can use Danish provider e-mail address.
For example to send SMS to Bell mobility user is required to use:
[10digitnumber]#txt.bell.ca (Bell and Solo)
Twilio supports sending to Danish numbers http://www.twilio.com/sms/international Be sure to read the FAQ though.
[Full disclosure: I work for Twilio]
Bear in mind that, as long as you find a service which allows you to send sms messages to the Danish networks, it should not matter if your recipients are currently roaming abroad or using their phones inside the country. This consideration should be abstracted from you by the mobile phone companies.
bibob.dk has a webservice which can send sms to danish numbers. Bibob is a phone service company, so if a normal cell phone can send sms to amerika, bibob should also be able to. Of course you need to buy a sim card to use the service.
www.openmarket.com through MXTelecom (Which was acquired by OpenMarket)
I am trying to implement my own theoretical SMS web service (just to understand how this stuff works, I have posted a few other related questions, I think this is it).
Set up a PC. It takes requests from a website I make to send out SMS messages: a user-entered destination phone number, and a user-entered text message
I get a GSM modem, or just a GSM phone. I connect it to the computer.
I get a service plan from Verizon or whoever, some sort of unlimited SMS messaging plan.
They give me a SIM card, which has my unique phone # attached to it (ex: 555-5555). I stick this in the GSM modem.
I get some application (like Kannel) which handles interfacing with the modem and sending out the messages from my machine.
Now users can visit my theoretical website, enter a phone # and message. I grab that data, forward it to Kannel. Kannel interacts with the modem, passing it the data for the message. The modem interacts with the carrier network I signed up with, and broadcasts the actual SMS to it. The carrier network handles routing the message to the actual destination.
This is my understanding of how it works. Now the recipient of this text message will see this message pop up on their device from my modem's number (555-5555). In fact, all the thousands of people using my service will all see the same origin phone number.
If that's so, how do these 3rd party SMS applications give people unique #s for replying to messages they send out?
For example, when I sign up for one of these 'free' SMS services on iPhone, they assign me a unique user ID, like '123'. My friend is on a normal AT&T phone plan. He can send an SMS addressed to '123', and somehow I will get the message. How does AT&T know to route that to this third party service? I can't imagine that they would somehow get a new SIM card with a unique phone number per user that signs up for their service!
Thanks for all your help.
Thanks
The cell network carriers (e.g. AT&T, Verizon) actually rent out custom phone numbers (called "short codes") to 3rd parties to use.
You usually can't acquire these short codes directly from the carrier, but you can go through a 3rd party company to rent the short code. I've worked with companies like MBlox and OpenMarket to use carrier short codes. These companies are sometimes referred to as "SMS/MMS messaging aggregators," because they aggregate messaging services across multiple carriers and offer them to people/companies like you. Most of the time the aggregator will expose some sort of API (SOAP/XML or binary protocol) to access the messaging services to send and receive messages.
There may be other ways to do it, this is just my experience.
I think your comment at the bottom of your message is misleading.
Your friend probably doesn't send a message to "123" infact he probably sends "123 hello george" to a central number, which in turns routes "123" on to you, behind the scenes.
FWIW, mobile messages can appear as though they come from anything (including, for example, a word, and not a number).
Your general underlying assumption as to how gateways work (acquiring simcards) is accurate enough.