Twilio记录传出的浏览器调用并将记录id存储在对象Django中

时间:2017-03-16 20:19:12

标签: python django twilio twilio-click-to-call

我可以打电话这样做。通话结束了,但是我如何设置它以便在拨打电话时,会话被记录下来,一旦完成通话,我想将该录音ID(检索通话/录音sid)并将其存储在一些模特。

export function callCustomer(phoneNumber) {
    const params = {
        phone_number: phoneNumber,
    };
    Twilio.Device.connect(params);
}

在我的views.py

@csrf_exempt
def call(request):
    """Returns TwiML instructions to Twilio's POST requests"""
    response = twiml.Response()

    with response.dial(callerId=settings.TWILIO['SOURCE_NUMBER']) as r:
        r.number(request.POST['phone_number'])

    return HttpResponse(str(response))

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

您可以使用record attribute on the <Dial> verb录制来电。将其设置为"record-from-answer"以记录通话。

您还需要将recordingStatusCallback attribute设置为应用程序中的URL。当录制准备就绪时,Twilio将发出HTTP请求,其中包含呼叫和录制的详细信息,并传递这些参数。

@csrf_exempt
def call(request):
    """Returns TwiML instructions to Twilio's POST requests"""
    response = twiml.Response()

    with response.dial(callerId=settings.TWILIO['SOURCE_NUMBER'], record='record-from-answer', recordingStatusCallback='/recording') as r:
        r.number(request.POST['phone_number'])

    return HttpResponse(str(response))

然后,您可以使用传递给recordingStatusCallback的参数来保存数据库中的详细信息。

如果有帮助,请告诉我。