Hola Muertos vivientes, hoy les traigo un how-to para todos los spammers en potencia, cómo enviar SMS y llamadas a celulares de todo el mundo usando Azure y voz generada por texto. Para ello tenemos que ir a http://Twilio.com y crearnos una cuenta, ahi solicitaremos:
- Un número de telefonico.
- Un api key de cuenta.
El primer paso es crear una clase Twimlo.aspx.cs que genere el texto en SSML:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Notificaciones
{
public partial class Twimlo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "text/xml";
Response.Write("<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Say voice=\"man\" language=\"es\" loop=\"2\">"+Request["mensaje"]+"</Say></Response>");
Response.End();
}
}
}
Y en el Default.aspx yo he creado 4 controles, 2 cajas de texto, un checkbox y un botón, tal como se muestra en la imagen:

Luego en mi proyecto de Visual Studio he agregado desde NuGet el paquete de Twilio:
Install-Package Twilio
Ahora, vamos al code behind de Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Twilio;
namespace Notificaciones
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e){}
protected void Button1_Click(object sender, EventArgs e)
{
string accountSID = "ID de cuenta";
string authToken = "token de cuenta";
TwilioRestClient client;
client = new TwilioRestClient(accountSID, authToken);
if (CheckBox1.Checked)
{
String Url = "http://{nombredeSitio}.azurewebsites.net/Twimlo.aspx?mensaje=" + TextBox2.Text.Replace(" ", "%20");
CallOptions options = new CallOptions();
options.From = "{numero generado}";
options.To = TextBox1.Text;
options.Url = Url;
var call = client.InitiateOutboundCall(options);
}
else
{
client.SendMessage(
"{numero generado}", // From number, must be an SMS-enabled Twilio number
"{numero destino}", // To number, if using Sandbox see note above
TextBox1.Text); // message content
}
}
}
}
Ahora solo queda publicar a un Azure WebApp y listo!