经过一段时间后结束Twilio呼叫

时间:2017-09-18 12:47:48

标签: web-services c#-4.0 twilio twilio-api

我正在研究一些基于Twilio的功能,总共需要4个冲刺才能完成。

前三个冲刺结束了。我将呼叫连接/转发给用户的代码如下

response.Say(string.Concat("Please wait, transferring your call to  ", strCallServiceUserName));                
response.Dial(strUserDialToPhoneNumber, null, null, null, null, null, strCallerId);
return TwiML(response);

我们只是说我完成了关于完成最后一次冲刺的结束。

这是我需要做的。

  1. 我需要将此通话时间设为10分钟。 (我想我可以通过将第4个参数改为等效秒数来处理这个问题)

  2. 我需要知道在通话中9分钟后我是否有任何可以检查的机制。在9分钟我只想用一条消息打断电话......

  3. 问题

    1. 我该怎么做?

    2. 我是否需要创建一个会议室并拨入该会议室?或者相反,这可以在不使用会议的情况下完成。即使我创建和使用会议室,基本问题是如何确定在10分钟的通话时间内已经过了9分钟,

    3. 重要的问题是如何知道9分钟过去了?

      我已查看此资源但未在此处找到答案 Modifying live calls

      非常感谢任何帮助。

      提前致谢!

      问题1 我必须使用会议吗?我问的原因是我想把那个电话的参与者限制在两个。如果我理解正确,其他任何人 - 第三个来电者也可以拨入同一个会议。

      根据此资源modify live calls,我可以从

      获取正在进行的调用
      /2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}
      

      然后通过提供参数url,method& amp来发出http post请求以终止呼叫。状态

      那么,为什么必须召开电话会议呢?我不能使用定时器来拨打使用拨号动词启动的普通呼叫吗?

1 个答案:

答案 0 :(得分:0)

Twilio开发者传道者在这里。

首先,您可以定义与timeLimit parameter of the <Dial> element的通话时长。参数设置为秒,因此将其设置为600将为您提供10分钟的通话时间。您也可以使用named parameters,因此您不需要位置参数。

response.Say(string.Concat("Please wait, transferring your call to  ", strCallServiceUserName));     
var dial = new Dial(callerId: strCallerId, timeLimit: 600);
dial.Number(strUserDialToPhoneNumber);
response.Dial(dial);
return TwiML(response);

至于讲1分钟的消息。最好的情况实际上是将呼叫者拨入会议,然后当呼叫连接时设置定时器以使脚本也拨入会议(会议将需要分配电话号码),然后当它加入会议时{ {3}}消息或<Say>音频文件。

让我知道这是否有帮助。

<强>更新

它需要成为会议的原因是为了让1分钟的警告拨入并告诉呼叫者。

,您不能在第二个号码之间加入正常<Dial>的第三个电话。

您可以在连接会议的webhook上找到一些逻辑,确保只允许您的两个参与者和您的1分钟警告加入此特定会议。