You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 13:36:03