Making an custom content outbound voice call from console client
我想用twilio和c打个呼出电话。
我给出了(fromnumber、tonumber、twiliodemourl)作为初始化的3个参数。出站呼叫。然后使用默认的Twilio演示语音内容。
现在我需要自定义语音内容属性和其他一些属性每次触发Initiate Outbound调用方法时
我浏览过Twilio文档,但没有找到自定义每次发送请求时都使用C动态地从代码中获取内容。
我的客户机应用程序定期运行以验证是否有任何新消息,然后触发InitiateOutboundCall。
我没有任何自定义的URL来发布Voice在第三版中要查找的任何新XMLinitiateOutboundCall的参数。
那么,是否需要一个外部域URL来从代码动态自定义语音内容?如果没有,请提供选项/示例,我必须从C控制台应用程序中完成。
我试着用twimlets.com回送自定义文本在电话中讲话。对于文本更改,可以使用自定义文本。但我不确定twimlets.com/echo是否可以用于生产?请确认。Twimlets不支持我正在寻找的一些功能,比如收集输入。类似于用于出站呼叫的IVR消息。
使用Twilio Voice和C客户端:
使用Twilio C客户端的语音请求?
- 使用自定义语音内容()拨打号码。如果用户没有响应,请离开带有自定义语音内容()的语音邮件。
- 使用自定义语音内容拨号()。如果用户响应,在阅读后消息需要提供以下选项:
- 按1重复相同的语音信息。
- 按2确认消息上的操作。
- 按3发送语音信息的短信息。
需要获得每个语音呼叫/消息的响应?
对于它发送的短信息,我得到的响应是"排队"而不是消息发送。根据短信发送成功与否,我需要更新一些标志。所以我如何才能得到短信回复"发送"。
1
2SMSMessage sms = twilio.SendSmsMessage(sFromNumber, sToNumber, sMessage);
Console.WriteLine("SMS Status::::::" + sms.Status);同样地,我需要在呼叫完成后对语音呼叫进行响应。但它正在"排队"。
1
2var call = twilio.InitiateOutboundCall(sFromNumber,sToNumber, url);
Console.WriteLine("Call Status" + call.Status);
所以请提供使用twilio的选项。
如果您提供任何使用C的示例,那将是非常好的。
这里是布道者。
您确实需要某种公共URL,一旦出站调用被应答,Twilio就可以向其发出HTTP请求。这就是Twilio如何获得继续进行实时进行调用所需的指令。
正如您所注意到的,有许多免费选项可以托管静态twiml内容。Twimlets就是其中之一。twimlbin.com是另一个。这两个服务都是免费的,至少是开始原型设计或设置应用程序的简单MVP的好地方,但是请记住,如果您期望大量的流量,或者您需要在其中构建具有您自己的自定义逻辑的东西,那么您可能会想转移到其他地方。
其他东西可以是你自己的网站作为Azure网站托管(你也可以免费获得)。移动到你自己的网站也意味着你可以根据需要扩展它,你可以开始提供动态生成的twiml,而不是仅仅局限于动态twiml,就像你基本上使用twimlets或twimlbin一样。
如果您想要处理来自
twilio为twiml生成和使用asp.net mvc构建twilio应用程序提供了助手库,可以从nuget获得。
假设您想使用ASP.NET MVC构建自己的自定义Twilio应用程序,并使用Azure网站托管它。在这种情况下,使用我们的助手库,您可以在控制器中构建一个操作方法,用
1 2 3 4 |
您将提供执行该操作方法的URL作为
1 | client.IntializeOutboundCall(FROM, TO,"http://example.azurewebsites.net"); |
一旦用户输入,twilio将请求您在
1 2 3 4 5 6 7 | public void Gather(string Digits) { var response = new TwilioResponse(); response.Say("You pressed" + Digits); return TwiML(response); } |
要获取电话或短信息的状态,可以包括使用statusback参数:
短信:
var result = client.SendMessage(FROM, TO, BODY,"http://example.azurewebsites.net/status"); 。语音:
var result = client.InitiateOutboundCall(FROM, TO, VOICEURL,"http://example.azurewebsites.net/status"); 。
一旦到达消息或调用的最终状态,twilio将向statusback URL发出HTTP请求。
希望有帮助。