使用Twilio JS客户端发起网页通话时如何设置录制URL实现通话录音
Twilio网页通话录音配置方法
通话录音的配置不需要修改你现有的前端JS代码、也不需要修改生成token的后端代码,你需要调整的是对应Twilio应用的TwiML处理接口逻辑,也就是你配置在applicationSid对应的Twilio Voice应用里的「Request URL」对应的后端接口,具体操作步骤如下:
- 第一步:定位你正在使用的Twilio Voice应用
你代码中config('services.twilio')['applicationSid']对应的就是Twilio控制台创建的Voice Application,该应用中你已经配置了一个请求URL,通话发起时Twilio会向这个URL请求TwiML指令来控制通话流程。 - 第二步:修改TwiML生成逻辑,添加录制参数
你原来返回的TwiML中的<Dial>标签需要加上record属性和recordingStatusCallback属性,PHP示例代码如下:// 以下是你之前给Twilio返回TwiML的接口逻辑 public function handleCall(Request $request) { $response = new Twiml(); $dial = $response->dial([ // 接听后开始录制,可选值还有record-from-ringing、do-not-record等 'record' => 'record-from-answer', // 你自己的后端接口地址,录制完成后Twilio会把录制文件信息推送到这个地址 'recordingStatusCallback' => '/your/recording/callback/url' ]); // 如果是打给客户手机号就加Number标签 if ($request->has('phoneNumber')) { $dial->number($request->input('phoneNumber')); } // 如果是打给坐席客户端就加Client标签 else { $dial->client('support_agent'); } return response($response)->header('Content-Type', 'application/xml'); } - 第三步:处理录制回调(可选,需要存储录制地址时配置)
你配置的recordingStatusCallback接口会收到Twilio推送的RecordingUrl、RecordingDuration等参数,你可以把这些信息存在自己的数据库中方便后续调用,默认的RecordingUrl不带文件后缀,需要播放的话追加.mp3后缀即可。
如果你的通话是呼入到Twilio号码再转客户端的场景,直接在Twilio号码对应的呼入TwiML逻辑里添加相同的record参数即可
内容的提问来源于stack exchange,提问作者dev21
相关产品推荐
相关产品推荐

