Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中的出站调用中提供动态twiml指令?_C#_Twilio - Fatal编程技术网

如何在C#中的出站调用中提供动态twiml指令?

如何在C#中的出站调用中提供动态twiml指令?,c#,twilio,C#,Twilio,我正在尝试使用C#中的CallResource.Update()为正在进行的调用提供动态twiml指令。我宁愿使用CallResource.Create(),但它只接受twiml url 我还没有找到任何关于如何实现这一点的文档或示例,我能找到的唯一文档甚至暗示了这一功能,就是调用资源更新方法的API参考: 其中规定: Twilio调用的TwiML指令将在不从url获取TwiML的情况下使用。Twiml和url参数是互斥的 基本上,我想完成的是约会提醒教程,但与出站语音通话,而不是短信 我需要打

我正在尝试使用C#中的CallResource.Update()为正在进行的调用提供动态twiml指令。我宁愿使用CallResource.Create(),但它只接受twiml url

我还没有找到任何关于如何实现这一点的文档或示例,我能找到的唯一文档甚至暗示了这一功能,就是调用资源更新方法的API参考:

其中规定: Twilio调用的TwiML指令将在不从url获取TwiML的情况下使用。Twiml和url参数是互斥的

基本上,我想完成的是约会提醒教程,但与出站语音通话,而不是短信

我需要打电话说“你好{Name},我是{Company}。我们已经安排您在{date}在{time}进行{Typeof}预约,如果您需要重新安排,请拨打{Number}”,以上所有数据都在我们的数据库中

我尝试了大量的语法,希望能找到正确的方法,但还没有找到Twimlet之外的解决方案

我不想为了实现这一点而搭建公共Web服务器或设置免费主机,即使它不包含任何专有信息或PII,这超出了我的知识范围和开发此解决方案的时间范围

我可以通过twilio整天发短信来实现这一点,因此我对API有了相当的了解和欣赏,但我们的客户对短信不友好,需要语音通话,因此我需要为他们提供解决方案

var from = new PhoneNumber("Insert Valid Twilio nyumber");
var call = CallResource.Create(to,from, url:new uri("http://demo.twilio.com/docs/voice.xml"));

CallResource.update(
method: twilio.http.httpmethod.post,
url: new uri("http://twimlets.com/message?Message%5B0%5D=Testing&")
pathSid: call.Sid);
在测试过程中,我希望消息能够播放演示,然后切换到testing(稍后我希望实现动态twiml而不是使用twimlets)

但实际发生的是,当调用到达call update语句时,我得到一个异常,表明调用没有进行中

所以有两个问题,一个是,如何更新对新twiml url的调用,然后如何用url替换twiml指令,就像API文档中所说的那样


任何帮助都将不胜感激。

这里是Twilio开发者福音传道者

这是我第一次看到任何restapi资源的
twiml
参数,鉴于这是唯一一次提到它,我猜想我们正在处理这个问题,并且错误地在文档中漏掉了一些东西。因此,我现在不会尝试使用
twiml
参数

对于尝试创建然后更新呼叫时遇到的错误:

当你创建一个电话时,除了电话开始响之外,还有更多的步骤。创建呼叫资源后,它处于“排队”状态。不久之后,Twilio将呼叫发送到“已启动”状态,然后当目的地开始振铃时,它将进入“振铃”状态。你可以。由于更新调用的代码在收到响应后直接运行,因此调用可能处于“排队”状态,因此会出现错误

如果您只需要调用来读取消息,那么我认为使用作为初始调用URL没有问题


如果您需要更具动态性的内容,而不必处理自己的主机,我可以推荐您看看。

我能够使用twimlets进行更新,但仍在尝试查找有关CallResource.update()的twiml指令参数的任何文档。感谢您在call update@philnash上提供的帮助!这里还有一些补充信息。。。在我的项目开始前5天,他们刚刚发布了一个带有twiml功能的SDK的新版本,它在GIT上,该类的API文档已经在网站上更新了,但是SDK还没有发布给所有的packetmanagers(MS VS,看着你慢戳),所以更新()5.31中的方法不喜欢twiml参数。更新到最新发布的5.32,它就像一个魅力。