如何使用twilio记录入站呼叫

时间:2020-04-21 05:33:53

标签: twilio twilio-api

可以通过将传递给client.calls.create() API方法的TwiML设置为具有<Conference>标签并将record属性设置为true来记录Twilio中的出站呼叫。如果将recordingStatusCallback设置为一个URL,则在有记录可用时,它将在该URL上发布一个通知。

您如何处理来电?

对于我的特定电话号码,对于语音和传真,我在twilio.com上将“接受来电”设置为“语音呼叫”,将“配置方式”设置为“ TwiML应用程序”,将“ TwiML应用程序”设置为我的自定义应用。对于该应用程序,我将“语音请求URL”设置为给定URL。

当有电话打进来时,我的TwiML应用程序进行了HTTP POST,该应用程序以<Enqueue>作为响应。稍后,在客户端javascript中制作了Conference Instruction Reservation,其中ConferenceRecord设置为true,而ConferenceRecordingStatusCallback设置为与recordingStatusCallback进行拨出呼叫时使用的相同URL。< / p>

这是我的“会议指令预订”请求有效负载的样子:

stdClass Object
(
    [url] => https://taskrouter.twilio.com/v1/Workspaces/.../Tasks/.../Reservations/...
    [method] => POST
    [token] => ...
    [params] => stdClass Object
        (
            [Instruction] => conference
            [From] =>
            [PostWorkActivitySid] =>
            [Timeout] => 10
            [To] =>
            [EndConferenceOnExit] => true
            [EndConferenceOnCustomerExit] => true
            [ConferenceStatusCallback] => https://my.domain.tld/twilio/conference
            [ConferenceStatusCallbackMethod] => POST
            [ConferenceStatusCallbackEvent] => start,end,join,leave,mute,hold
            [ConferenceRecord] => true
            [ConferenceRecordingStatusCallback] => https://my.domain.tld/twilio/conference/recording
            [ConferenceRecordingStatusCallbackMethod] => POST
            [ConferenceRecordingStatusCallbackEvent] => completed
        )

)

因此,Twilio多次调用ConferenceStatusCallback URL,但从未调用ConferenceRecordingStatusCallback URL。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

所以,我很奇怪为什么“会议指令预订”请求方法不起作用,但是调用client.calls.recordings.create()可以解决问题