I want to make an app that allows someone to text from their computer. After researching email to sms gateways, I have found that there is no good way to automatically find the receivers carrier, which makes it impossible to send them a text unless they tell you their carrier.
Is there any way to send a text without an email-sms gateway, perhaps with a bluetooth connection to the phone, or (hopefully) something much less complex than that?
If not, is there any way to automatically detect a persons carrier based on their phone number?
Update: I don't want to pay for anything, or use any website or service. I only want to use carrier-provided gateways, if required.
You can, one of the possible method is by using the GSM Comm library.
The library is here
For implementation details of GSMComm lib, please refer to this question:
Sending SMS Through GSMCOMM library of C#
Related
The question below is more for ideas, guidance and directions than coding assistance. Sorry if I am in the wrong place.
I have a console application which is checking for a specific file on my computer on a specific path. I want to get a notification when it detects the file on my phone.
What is the best way to get this done, if there is one.
I though about using facebook to simply send me a message but after a little research I found out that FB prevents people from sending private messages to avoid abusive usage of it.
Is there another easy way to do this?
Most phones have an email address like 2027710384#mobile.att.net. I have had success doing that in the past as a workaround.
Here is a list of provider addresses: http://www.sensiblesoftware.com/weblog/2011/02/28/cell-phone-email-addresses/
In my application I stored the user's phone number and provider. When sending a notification, I simply put the two together and send an email message.
Sending real SMS messages will always cost money because you have to pay for usage of telephony infrastructure.
I have tried to send an sms from C# code using Gmail but I can't find Gmail services for sending sms. I need any way to do that by Gmail or another posiibility. How can I send an sms from C# or VB.NET program to a mobile phone?
You can use the Twilio to Windows Azure Notification Hub service for this.
Its fairly hard to give you an accurate answer as it can depend on where you are and where you want to send SMS's to as some providers only support some countries or have issues sending to certain networks, so make sure you know what your requirements are before choosing a provider.
In the past I've used Clickatel, as they supported the countries and networks I needed, and their API was good enough.
The only other advice I would give is whatever service you end up using pay for it, free services are more trouble than they are worth.
Hope this helps,
Jen
How should I proceed? I found nothing useful googling it but some really expensive programs to connect a cell phone to the pc and use it to send the messages.
I'm willing to pay for the service and the messages will be sent to Israel and US.
I'm using C# but I'm willing to use any language.
Cheers!
The easiest way to do it is with Twilio. You can get it set up in a matter of minutes. Check out my answer Sending SMS from asp.net website for an example program of just how easy it is to send SMS with Twilio and C#.
You want to use an sms gateway that has an API. The most likely will be a REST or SOAP API that you can consume from your app.
When you need to send an SMS invoke the gateway's send method.
The gateway you choose will be influenced by which country you're in and if you need to send international sms.
As a reference we use SMS Global for AU message sending via their API, which can serve as an example of the type of thing you could expect:
http://www.smsglobal.com/en-au/technology/developers.php
Yea, for an actual sms message you will have to buy some hardware or software. A free alternative is to use sms gateways, http://en.wikipedia.org/wiki/List_of_SMS_gateways. You can send an email to 1234567890#vmoboile.ca and virgin mobile will forward that email as a text message to #1234567890. The limitation here is not every company offers this service (most major ones do) and you will have to know which company each number belongs to. Here is a list of sms gateways.
http://en.wikipedia.org/wiki/List_of_SMS_gateways
I have work on that purely through C#.
1st you need a sms modem, I live in Singapore and the vendor I got from resides in singapore too. But at home I did my own testing using my Nokia E63 handphone.
I don't have the coding at the moment, but I can tell you how to go about searching.
Using C#, I did a serial port connection (applicable too if using USB), send AT+ commands over to the modem, and the message will be sent.
To test if you phone is suitable, it can be done so using HyperTerminal. Connect your phone to the computer via the correct port and setting and send AT commands directly from there.
The best way to achieve this is to use an SMS gateway. An SMS gateway encapsulates the technicalities of interfacing with SMS carrier medium on one hand and on other hand it provides an interface for application level protocols like http, SMTP, ftp etc. to interact with it. For example, you can have a web application talking to the SMS Gateway over HTTP and the gateway on its other side will talk to the SMS centre over some proprietory protocol to send the SMS text received from the application. This way, the application need not know the low level protocols to send the SMSs.
You can lease a line to an SMS center (SMSC) if you need to send large number of bulk SMSs and configure your SMS gateway to use this lease line to send the msgs. But leasing a line is far more expensive. If you need to send small number of messages, then you can use your mobile phone in place of the leased line. Attach your mobile phone to your PC/Server and configure the Gateway to use your phone. You need to refer to your gateway documentation on interfacing your phone with the gateway. This is not very difficult but fairly simple.
There are lot of commercial gateways available in the market which can be used. But using an open source SMS gateway is a good option. You can use an open source gateway called - Kannel. Believe me, it is not very difficult to set it up and start using.
I have PC and VOIP phone. When someone calls to my account and I answer it using VOIP phone, I want the phone number to be stored on my PC.
What is the easiest way to receive caller number? Is finding a VOIP Java/C# SDK and developing my application (just to get a caller number) the only way or are there some clever shortcuts?
Note: I am familiar that softphones are displaying the callerID but there is no (reasonble, non hack'ish) way I can read it from softphone.
Depending on your softphone you might be able to configure it to save a calls log. Alternatively you could obtain CDRs (call detail records) from your VOIP server.
Another route to go would be to monitor incoming VOIP TCP connections and extract caller data from sniffed packets.
Or you could write a small program that will run in background and check periodically which is the active window. If the active window is your softphone, then it will take a screenshot and dump it to a folder.
What Vlad said. Providing the hardphone model details will get you more details :-)
If the PC is sure to be on all the time you want to operate the phone, you can install a simple SIP proxy on the PC that does nothing but logging.
If a softphone is an option, many of them can be scripted, I love twinkle for example.
Using wireshark (or more to the point tshark, the command-line version) you can build a capture spec that will only capture incoming SIP packets on UDP port 5060, and then only if the SIP msg is INVITE. Then you just have to look at the "From" line to see who called you (if it's filled in; it should at least have a number).
I have a website written in C# and when a user does something I want to be able to send an IM message to an admin and allow the admin to respond to approve/deny the request.
I would like to use something like MSN Messenger or AIM so that the IM messages can also be sent to phones as sms.
You need to pay for the use of an SMS gateway of which there are many. Typically you buy bulk messages in advance. There are very few (if any) free gateways out there as we all know what scalping b*stards the cellular companies are. IIRC, the protocol used is SMPP.
http://en.wikipedia.org/wiki/SMS_gateway
If you weren't on a hosted site and owned your own hardware, you can plug any modern cell phone into your USB port and use the vendors software to send SMS either via a serial protocol using Hayes commands, or much more likely these days, a nice object model in java, C# or c++. Nokia have offered this for years.
I would take a look at Twilio (http://www.twilio.com/). They specialize in helping developers integrate SMS/Voice into applications.
Twilio is a web service that can be used to make and receive calls and text messages using their REST/XML API. You have to pay for the service, but it is very very to use.
For sending SMS messages out from the program, one simple approach is to use email (as long as you know the phone company of the person you're sending the message to). For example, to send a text to a telus (Canadian provider) phone, just send an email to
[10 digit phone number]#msg.telus.com.
Different phone companies have different formats, you would need to find a list of these addresses for your area. Not all of them support receiving these messages without paying a fee, but some do.
Edit: Here is a list of addresses for US carriers, try the appropriate one and see if it will work for you:
http://www.tech-recipes.com/rx/939/sms_email_cingular_nextel_sprint_tmobile_verizon_virgin/