使用C#下载Twilio录音

时间:2017-02-10 06:34:58

标签: c# twilio webhooks twilio-api

我正在使用Twilio API开发一个小实用程序,它打算在调用结束后立即下载调用记录(可以使用webhooks完成?)。我不确定twilio是否支持这种webhook。

我想到的第二种方法是创建夜间工作,可以获取当天的所有通话详细信息并下载录音。

任何人都可以建议我哪种方法最好。我检查了webhooks,但我不确定他们是否提供了呼叫结束事件。

如果有人能提供有关如何获取特定日期录音的代码示例并使用来自twilio的C#下载它们,我将不胜感激。

1 个答案:

答案 0 :(得分:3)

Twilio开发者传道者在这里。

您可以录制网络挂钩,但这样做取决于您录制通话的方式。

使用<Record>

设置recordingStatusCallback attribute on <Record>的网址,当录制完成后,您将收到一个带链接的网络链接。

使用<Dial>

如果您将<Dial> verb using the record attribute设置的来电录制到record-from-answerrecord-from-ringingrecord-from-answer-dualrecord-from-ringing-dual中的任意一个,那么您还可以设置{{ 3}}

使用<Conference>

如果您recordingStatusCallback,那么您还可以设置record a conference

录制出站拨号

如果您通过在recordingStatusCallback上设置Record=true来录制通话,那么您还可以通过设置outbound call made with the REST API来设置网络链接网址。

从REST API

中检索记录

您还可以使用第二个选项并调用REST API来检索录制内容。为此,您将使用RecordingStatusCallback parameter in the request。您可以使用Recordings List resource将日期限制在日期之前或之后。

以下是如何使用list filters获取最近录音的快速示例:

using System;
using Twilio;
class Example 
{
  static void Main(string[] args) 
  {
    // Find your Account Sid and Auth Token at twilio.com/user/account
    string AccountSid = "AC81ebfe1c0b5c6769aa5d746121284056";
    string AuthToken = "your_auth_token";
    var twilio = new TwilioRestClient(AccountSid, AuthToken);

    var recordings = twilio.ListRecordings(null, null, null, null);

    foreach (var recording in recordings.Recordings)
    {
      Console.WriteLine(recording.Duration);
      // Download recording.Uri here
    }
  }
}

让我知道这是否有帮助。