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

Freeswitch中uuid_transfer转接通话至会议时conference_auto_record失效求助

问题分析与解决方案

1. 修正变量作用域与传递逻辑

conference_auto_record 仅在当前通道设置时,转接后的会议进程可能无法继承该变量。有两种修复方式:

  • 全局配置会议profile:在 conf/autoload_configs/conference.conf.xml 对应的会议profile节点下添加全局自动录制配置:
    <param name="auto-record" value="fsRecordAudioPath"/>
    
  • 转接时显式传递变量:修改 api_on_answer 中的转接命令,直接将录制路径变量附加到会议参数后:
    bridge {api_on_answer='sched_api +1 none uuid_transfer ${uuid} -both "conference:confname@profile&conference_auto_record=fsRecordAudioPath" inline'}sofia/gateway/callin/abcxyz
    

2. 调整转接触发时机

sched_api +1 的延迟可能导致变量未在会议初始化前生效。可以尝试:

  • 缩短延迟时间(比如改为 +0),或直接移除 sched_api 包装,直接调用 uuid_transfer:
    bridge {api_on_answer='uuid_transfer ${uuid} -both "conference:confname@profile&conference_auto_record=fsRecordAudioPath" inline'}sofia/gateway/callin/abcxyz
    
    注意:移除延迟需测试是否会引发桥接状态冲突。

3. 会议dialplan中强制设置变量

在会议对应的dialplan extension里提前设置录制变量,确保会议启动时必然加载:

<extension name="conf_ext">
  <condition field="destination_number" expression="^confname$">
    <action application="set" data="conference_auto_record=fsRecordAudioPath"/>
    <action application="conference" data="confname@profile"/>
  </condition>
</extension>

4. 开启debug日志定位根因

在fs_cli中执行以下命令开启会议模块debug日志,重新测试后查看变量加载细节:

loglevel conference debug

重点检查会议创建时的日志输出,确认 conference_auto_record 是否被正确读取。

内容的提问来源于stack exchange,提问作者Vuong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 10:32:36