当前位置: 首页 > news >正文

FreeSWITCH配置文件解析(2) dialplan 拨号计划中xml 的action解析

在 FreeSWITCH 的拨号计划(Dialplan)中,使用 XML 配置。其中,<action> 标签用于指定要执行的操作。这些操作通常是应用程序(applications)或设置变量等。下面列出常见的 <action> 类型及其含义:

1. 应用程序(Application)动作

最常见的动作是执行一个 Dialplan 应用程序。格式为:

<action application="app_name" data="app_args"/>
  • ​app_name​​: 应用程序的名称,如 answerbridgehangup 等。
  • ​data​​: 应用程序需要的参数。
常见应用程序示例:

 

1. ​answer

  • ​含义​​:接听来电。通常在需要媒体交互(如放音、收号)时使用。
  • ​语法​​:<action application="answer"/>
  • ​注意​​:非必须调用(如纯路由时可不接听),但接听后会产生媒体计费。

2. ​bridge

  • ​含义​​:将通话桥接到另一目的地(号码、SIP分机等),​​核心呼叫动作​​。
  • ​语法​​:<action application="bridge" data="user/1000"/>
  • ​关键​​:成功桥接后,双方媒体流连通。

3. ​playback

  • ​含义​​:向通话方播放音频文件(.wav, .mp3等)。
  • ​语法​​:<action application="playback" data="/path/to/file.wav"/>
  • ​用法​​:常见于IVR提示音、等待音。

4. ​set

  • ​含义​​:​​设置通道变量​​(channel variable),影响路由逻辑或功能。
  • ​语法​​:<action application="set" data="my_var=value"/>
  • ​示例​​:
    • effective_caller_id_number:设置主叫号码
    • hangup_after_bridge=true:通话结束是否挂断

5. ​transfer

  • ​含义​​:将当前通话转至另一 Dialplan 上下文或分机。
  • ​语法​​:<action application="transfer" data="destination [dialplan]"/>
  • ​场景​​:IVR菜单跳转、呼叫中心技能组转移。

6. ​hangup

  • ​含义​​:​​挂断通话​​。
  • ​语法​​:<action application="hangup" data="[NORMAL_CLEARING]"/>
  • ​注意​​:可指定挂机原因码(如USER_BUSY)。

7. ​sleep

  • ​含义​​:暂停执行(毫秒),​​通常用于延迟​​。
  • ​语法​​:<action application="sleep" data="1000"/>

8. ​record_session

  • ​含义​​:录制通话语音。
  • ​语法​​:<action application="record_session" data="/path/to/recording.wav"/>

9. ​log

  • ​含义​​:将日志写入 FreeSWITCH 日志系统。
  • ​语法​​:<action application="log" data="INFO My log message"/>

10. ​conference

含义:将用户加入**语音会议室**。 
语法:<action application="conference" data="room-name@profile"/>

11. ​gentones

 含义:生成特定音频信号(如拨号音、忙音)。

语法:<action application="gentones" data="tone_stream://%(400,200,400,450);loops=3"/>

12. ​rxfax​ / ​txfax

含义:接收 (`rxfax`) 或发送 (`txfax`) 传真。
语法:<action application="rxfax" data="/path/to/fax.tiff"/>

13. ​bind_meta_app

 含义:**绑定DTMF按键触发特定动作**(如语音菜单导航)。

 语法:<action application="bind_meta_app" data="key sequence application args"/>

14. ​set​ (再强调)

 关键应用:`set_tts_params` 设置TTS引擎、`ringback` 设置回铃音等。

15. ​intercept

含义:拦截/强插另一路通话(需权限)。 
语法:<action application="intercept" data="target_uuid"/>

16. ​fifo

含义:加入 **FIFO(先进先出)呼叫队列**。
语法:<action application="fifo" data="queue_name@domain"/>

 

17. ​valet_park

含义:代客泊车(Park call by DTMF)。 
语法:<action application="valet_park" data="slot_range"/>

18. ​info

含义:将通道信息输出到日志(调试用)。 
语法:`<action application="info"/>`

19. ​export

含义:设置**导出变量**(跨Dialplan上下文传递)。 
区别:export` 比 `set` 作用域更广,影响后续Dialplan执行。 * **语法**:
<action application="export" data="var=value"/>

20. ​play_fsv

含义:播放格式化为 `file_string://` 的音频序列。
语法:<action application="play_fsv" data="file_string:///files/prompt1.wav!/prompt2.wav"/>`
http://www.lryc.cn/news/576520.html

相关文章:

  • 1.1 基于Icarus Verilog、ModelSim和Vivado对蜂鸟E203处理器进行仿真
  • 学习使用dotnet-dump工具分析.net内存转储文件(2)
  • YOLOv5 训练中参数优化方案
  • 测量 Linux 中进程上下文切换需要的时间
  • UniApp Vue3 模式下实现页面跳转的全面指南
  • 【C++】简单学——内存管理
  • 【数论】P11169 「CMOI R1」Bismuth / Linear Sieve|普及+
  • OpenAI:Let’s Verify Step by Step 解读
  • 告别固定密钥!在单一账户下用 Cognito 实现 AWS CLI 的 MFA 单点登录
  • 数据结构1 ——数据结构的基本概念+一点点算法
  • SpringMVC系列(六)(Restful架构风格(中))
  • 太速科技-670-3U VPX PCIe桥扩展3路M.2高速存储模块
  • 矩阵的条件数(Condition Number of a Matrix)
  • 分布式电源采集控制装置:江苏光伏电站的“智能调度中枢
  • 【云桌面容器KasmVNC】如何关闭SSL使用HTTP
  • pytest 中的重试机制
  • 【Linux】理解进程状态与优先级:操作系统中的调度原理
  • 鸿蒙5:布局组件
  • docker通过小实例使用常用命令
  • 能否仅用两台服务器实现集群的高可用性??
  • 【算法深练】单调栈:有序入栈,及时删除垃圾数据
  • 嵌入式网络通信与物联网协议全解析:Wi-Fi、BLE、LoRa、ZigBee 实战指南
  • libxlsxwriter: 一个轻量级的跨平台的C++操作Excel的开源库
  • 【HarmonyOS NEXT】跳转到华为应用市场进行应用下载并更新
  • COLT_CMDB_linux_zookeeperInfo_20250628.sh
  • cocos creator 3.8 - 精品源码 -《文字大师》(移一笔变新字)
  • Insar 相位展开真实的数据集的生成与下载(随机矩阵放大,zernike 仿真包裹相位)
  • Cesium快速入门到精通系列教程十一:Cesium1.74中高性能渲染上万Polyline
  • SLAM中的非线性优化-2D图优化之零空间(十五)
  • 变长字节的数字表示法vb224