可以通过将传递给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。
有什么想法吗?