簡體   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