i am thinking if it is possible to have a (remote) cell/mobile number send an SMS via C#?
for example, my cell number is +00 000 000 0000 and i want it to send a message to 0000 and say "Hello There", is there such technology that can do as such? This is different from using an SMS Gateway API which uses a specific number and send to 0000. I want my own cell number to send that message without touching my phone, is it possible via any AT Commands, or are there any (free) API that can help me with this?
Thanks.
If you are trying to get your PC to make your phone send an SMS message, you would have to build two pieces of software:
You would have to write a mobile app native to the phone's operating system that listens to some kind of push notification service to know to when to send a message. Depending on the phone OS, it may or may not be possible to actually send an SMS without first rooting the phone.
You would then need to write code on your PC to send a push notification that your phone app would receive, respond to, and send the SMS message.
If you are asking can you write mobile app software that can cause the phone it is running on to send an SMS, well I would refer you to the SDK of the phone OS you are targeting for that information.
Try Twilio: https://www.twilio.com/.
I'm using it for most of my projects.
You can try for free for 30 days. After the trial is over, you have to upgrade your account with at least 20.00 US$.
It supports plenty of programming languages, including .Net, Java, Python, etc.
Related
Can I send sms messages to an android device from .net C# application via bluetooth if it is yes then please guide me how to do it?
regards
Gammu/Wammu is one of the most popular libraries there, that support communicationg to lots of different phones over various protocols including Bluetooth.
You can use it to transmit SMS over bluetooth to your phone (depending on the model - see http://wammu.eu/phones/), to send the SMS.
You can also read SMS from your phone using it if required.
libGammu has C library (http://wammu.eu/docs/manual/c/), but I am not sure you can execute C code directly from C#
Hopefully it gives you at least a nod in the right direction.
Am building an app for WP7 Mango version. The requirement is that when ever a message is sent from that app to a predefined set of contacts, in case the number to which the message is sent is not capable of receiving messages, then, a call should be made to such numbers and the text message (intended to be sent) should be read out to on the call to the call-receiver.
I have a huge doubt that this is achievable on WP7. Am I wrong in thinking so? Is there any way that this can be achieved? If yes, how?
Well...
There is a launcher which allows an app to send SMS, but it requires user interaction, and the user can change the SMS before sending. So you have no way to know exactly which SMS was sent.
There's no API on the phone to check whether a phone number can receive SMS or not (but maybe you can figure that out yourself using the phone number prefix or something)
There's no way to programmaticaly dial a number
There's no way to play a sound to the call-receiver. Arguably the user could turn on the phone's speaker while the app plays the sound out loud
There's no way to programmaticaly tell when the call-receiver has answered the phone call. So the user would have to manually push a button in the app when the call-receiver answers
In conclusion, while it might somehow be possible, it would require so much user interaction that the app would be pretty much pointless ;)
You could achieve these requirements using an SMS and IVR service in the cloud, such as SMSIfied and Prophecy, instead of attempting to do it directly from WP7.
SMSIfied lets you send and receive text message through a simple to use REST API. You can also get the results of sending the text message in a callback. Here is a blog post "Sending SMS messages with C# and SMSified".
For phone number that will not accept SMS you can use Prophecy to dial the number and play the message using Text-To-Speech (TTS). Prophecy is programmed using the open W3C standards Call Control XML (CCXML) and VoiceXML. You use CCXML to perform the outbound dialing and when the user or answering machine answers you pass control to VoiceXML application that handles the TTS. The Prophecy IVR has excellent call progress analysis which makes it easier to get the whole message on the answering machine/voice mail. Have you ever gotten those chopped messages from an automated system? The Voxeo documentation on CCXML has good coverage on how to perform outbound dialing in Chapter F. There is a good open source project called VoiceModel that makes it easier to develop VoiceXML applications using ASP.NET MVC 4.
To initiate this outbound dialing request from WP7 would just require an HTTP request that passes the parameters like the number to dial and the CCXML application to run in the query string. The actual CCXML and VoiceXML application would be hosted as web applications.
I am trying to develop the application which, any mobile is connected with PC and needs to send SMS through the mobile one by one, software is used only to connect the mobile and type the message.
When the send button is clicked the message should send through mobile not through any modems.
I have tried to search everywhere, but I couldn't find anything.
Can anybody guide me on how to proceed?
Thanks in advance.
If you want to do it on your own without using a sms-library you can open the modem in handset through a serial port and send out hayes at-commands for sms-operation.
Before you program you can try it using a terminal program.
Example
; Send message to "0170 00000" (Ctrl+Z to finish and send the message)
AT+CMGS="017000000"
> This is a SMS Test!!^Z
+CMGS: 3 ; OK, message gone
Note: these at-commands are not supported on every handset. Maybe the handset needs additional configuration through extra at commands (set textmode, set sms-gateway, ...)
Several sms hayes related commands are described in http://www.cellular.co.za/at_etsi.htm .
Yes, absolutely you can send sms through your pc connected with your cell phones. "Nokia PC Suite" is the only software; after installing software in your computer, connect your Nokia handset by usb cable with computer and select pc suite option. After then launch Nokia PC Suite. Now there u go.
What you are trying to do is difficult. It is difficult not because the programming is difficult, but because there are restrictions (security!) from the carrier side and from the mobile manufacturer side.
To be able to send messages from a mobile device connected to a PC, the mobile device must provide access to the internal functions its OS uses to deliver those SMSs. They could be low level modem commands, or a high level API; but in any case it will depend on the device manufacturer SDK.
If you want to type more efficiently, then maybe a mobile device with support for a bluetooth keyboard is a good idea.
I guess that depends strongly on the used mobile phone. I don't think there's a generic solution for all manufacturers. And such feature is probably hardly documented.
However, I'm not sure, if this is worth the effort at all, because e.g. Nokia provides the software "Ovi Suite" (or older PC Suite), which already supports sending SMS via connected phone. I think there are similar programs from other manufacturers.
It is possible to send SMS from a computer via a connected phone, but the phone itself will be the modem (I assume you don't want to connect another device for SMS). You can see this question, this question and (possibly) GSMComm for more info
I suppose to develop sms application(basically send\receive) using c# 4.0.In this i wish to use NOKIA 6630 phone as the GSM moderm.i have two problems here.
1)could any one tell me a better free sms gateway for this?
2)is nokia 6630 have gsm mordem?.
i m heavily appreciated with your answers.
Not sure what do you mean by free sms gateway here when you are using your phone.
6630 has a modem. So you can use it. If you can have PC suite (or Ovi suite) in your pc, you should visit these links:
http://www.emant.com/index.php?tid=681002
http://www.forum.nokia.com/info/sw.nokia.com/id/bd896b31-92ba-4624-aa9d-ebf732e7cc0d/Nokia_PC_Suite_Connectivity_API_1_1.html
If you do not want PC Suite and want to develop stand alone application, you need to send sms using AT command. You need to use the SerialPort class for this.
In order to use your phone as a GSM Modem connect to it as if you are connecting to a Serial Port. (There are drivers which adapt USB to Serial Port. Your phone drivers might do this).
Once you manage to connect to it you can send commands such as AT+CNMI (to receive) and AT+CMGS (to send).
You might want to connect via hyperterminal to try it out first before you program it.
A good tutorial is here.
You have one good choice to install one sms Gateway for eg. NowSMS gateway to send or receive messages. Its good one and all the related help for installation and configuration is given here http://www.nowsms.com/doc/installing-nowsms
But one problem you had while using this gateway for receiving messages you need to change your mobile phone as not supported this feature for nowsms gateway.
I want to send an sms to a mobile phone through my C#, C++ code. Can any body help me. I dont want any mobile, or any external device attached to my computer. I am just having my laptop, or desktop PC and in that i want to write a C++ or C# application which can send an sms to a mobile phone.
Clickatell is a popular SMS gateway, which covers 819 networks in over 220 countries.
The API offers a choice of connection options via: HTTP/S, SMPP, SMTP, FTP, XML, SOAP and COM. You can simply choose any suitable connection method that you feel confortable using in C# or C++.
To give a few examples, the HTTP method would be as simple as requesting the following URI from your application:
http://api.clickatell.com/http/sendmsg?to=NUMBER&msg=Message+Body+Here
The SMTP method would consist in sending a plain-text email to sms#messaging.clickatell.com, with a body as in the following example:
user: xxxxx
password: xxxxx
api_id: xxxxx
to: NUMBER
text: Message Body Here
The other methods are similarly easy to interface with, in my opinion. You can check out the full details from the Clickatell API Guide.
There are a couple options out there. You could use a gateway like Twilio, Clickatell or the many others. These cost money but are more reliable than other methods. I wrote a C#/.NET library for Twilio that makes it super easy to use.
Alternately you could ask each user for their carrier, then send an email to their phone's email address. This is less reliable and requires you to know what carrier they use and if they change carriers, they have to remember to tell you.