I'm looking for a good a way to call phones and leave voice messages using .Net. The dialog will need to be constructed at runtime for each phone message. It would be nice if it could handle if the person picks up or an answering service.
Is this something I can use our Cisco VOIP phones to do? If not, whats better using a service (if available) or putting a modem in a machine? The # of calls will be very low.
I think Twilio will do what you're after.
It can read and record voice
Related
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'm working on a project based on IVR(Interactive Voice Response). In which registration, modification in DB will take place by dialing a telephone number and following simple steps, like that which is used in telecom help centers to change our tariff or SMS packages etc.
Can I use simple voice modem with C# code with TAPI as back-end to mange all this?
Actually, I have "conexant hda d330 mdc v.92 modem". Can I use this to make this type of application...?
If yes, can we handle more than one call on this modem?
If not, what hardware will be required to perform this?
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 write an app that sends an SMS to users, and when the recipients texts back, I receive that response, including the originating phone number, and my program can react to that response.
I've googled "Interactive SMS" but didn't find anything that was clearly a fit. Has anyone else done this, got any recommendations for a paid service that provides this kind of functionality?
Alternatively, do you have any other recommendations for how to build this service into my app, which will probably be written in C#?
Find an SMS service provider that gives you an API you can use (e.g. an HTTP API). Then read their documentation.
You need to learn about SMPP (short message peer to peer) protocol. Is the protocol usually used to communicate with carrier's SMSC (Short Message Service Center). Here's a blog entry summarizing the actual status of some C# SMPP libraries. If you don't want to use an existing .NET library, you can always write your own. SMPP is not a very complex protocol after all.
An alternative might be attach your application to a cell phone, and if that cell phone provides you with an API, use it to send and receive texts. The problem here is that it won't scale if your application expects to send and receive hundreds of thousands of text messages per day.
Yet another alternative will be to use a CARRIER AGGREGATOR company that provides you with an API for your application. There are some out there, but I don't know if they will be able to offer you a short code and the possibility to receive texts in your application. Depending on the market you are targeting, you should do a little bit of research on how other VAS companies do it over there.
You can use the TextMarks API for this. It's REST-based and super simple to use. So simple that Harvard uses it to teach new students how to use APIs. Docs here.
Messages routed to you from a user are called MO messages (Mobile Originated) and most 3rd party SMS gateways implement simple api's whereby they will simply HTTP post you incoming messages (including the originators msisdn and home network).
For example http://www.clickatell.com/products/two_way.php
Search the site for SMS Gateways for others.
Check SMS Studio - guys have done a lot on that subject and maybe you can use of-the-shelve software or customize it a little to suit your needs.
If not, at least you can find some good keywords for googling.
Anyway, you will have a choice - either go with SMS gateway, or for low volume SMS traffic, you can go with GSM Modem and handle it manually, though it's not recommended.
I'm tyring to add a feature to my app that sends a nudge to all users of my program (family members inside the house), and when they receive the nudge the window of my app on their computer shakes for a second...
Can somebody please suggest how i'd have to go about this? I've never worked with tcp/ip before.. Is this what I should use, or is there something better?
I have tried to come up with my own solution however none of the samples ever work. So I thought maybe the people on SO might know of other ways?
Thank you :)
If this is just an "in-house" (pardon the pun) application, and you're all on the same network, you might consider sending a UDP broadcast packet. Each instance of your application could listen for a packet on a particular port, and when the correct one is received do the window shake thing.
You might consider UDP for this. Since you can broadcast/multicast via UDP it may be more suitable for this sort of application. There are downsides - UDP transmission is not reliable or guaranteed in the same way as TCP.
I'd go with a good XMPP Library. Maybe Jabber-Net?
You'll also have the added bonus of being able to connect to Google Chat and now Facebook chat later.
You haven't specified if presence in your case requires a server or not. If it is client/server oriented, using XMPP gives you the server side for "free" as a bonus.