繁体   English   中英

ASP.Core中的Twilio语音录制

[英]Twilio voice recording in ASP.Core

我正在构建一个新的应用程序,其功能之一是卖方和客户之间的通信。 因此,我想使用Twilio API。 让我们想象一下,我们有两个人:卖方和顾客,他们将进行交流。 我的想法是,这两个人不应该彼此知道真实的电话号码,因此我从Twilio购买了两个电话号码,一个用于卖方,一个用于客户,然后将它们与我的应用程序中的真实电话联系起来。 为了方便起见,我在Twilio控制台中创建了TwiML App,并设置了语音呼叫的REQUEST和STATUS CALLBACK URL,这些URL指向我应用中的Webhook。 我的应用程序基于.Net Core,但是我仍然使用完整的.Net4.6框架,因为没有用于.Net Core的.dll,并且似乎Cwild的C#Twilio帮助程序也已针对完整.Net框架构建。 无论如何,我的webhook方法看起来像:

    [HttpPost("call")]
    public IActionResult IncomingCall(VoiceRequest request) {
        // some logic
        VoiceResponse response = new VoiceResponse();
        response.Dial({real_seller_number}, callerId: {virtual_customer_number}, record: "record-from-ringing-dual");

        return Content(response.ToString(), "application/xml");
    }

假设我是客户,我想打电话给卖家,我叫它的虚拟Twilio号码,Twilio向该Webhook发出请求,并从虚拟客户号向真实的卖家号码打电话。 可以,可以正常运行。 通话结束时,Twilio向STATUS CALLBACK网址发出请求,此方法如下:

    [HttpPost("call/callback")]
    public IActionResult IncomingCallCallback(StatusCallbackRequest request) { 
        // some logic
        return Ok("Handled");
    }

在第一种方法中,您可以看到我出于内部原因要记录对话,并且在第二种方法中希望使用RecordingSid和RecordingUrl,但是我总是将它们设置为null。 我可以在Twilio控制台中看到记录,但是无法通过API获取它们,这是我的问题。 我花了很多时间阅读了许多文档,但没有找到明确的解释说明如何正确执行操作。 有人能帮我吗?

Twilio开发人员布道者在这里。

录制呼叫时,在您收到statusCallback请求时,录制可能尚未准备好。 相反,您应该设置一个recordingStatusCallback URL ,在录制完成并准备就绪时将调用它。

[HttpPost("call")]
public IActionResult IncomingCall(VoiceRequest request) {
    // some logic
    VoiceResponse response = new VoiceResponse();
    response.Dial({real_seller_number},
        callerId: {virtual_customer_number},
        record: "record-from-ringing-dual",
        recordingStatusCallback: {url_in_your_application_that_processes_recordings}
    );

    return Content(response.ToString(), "application/xml");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM