FreeSwitch之拨号计划~简单例子(三)

1. 编写目的


FreeSwitch之拨号计划~简单例子(一)

FreeSwitch之拨号计划~简单例子(二)

后,介绍第二个例子——单腿录音。

2. 效果说明

完成后,拨打1237(也可以自定义其他号码),就可以开始录制拨打电话这方的声音,可以指定生成文件的位置,挂断后wav文件生成完成。

3. 具体步骤

与(一)和(二)的例子很类似,都是修改default.xml文件完成的,路径为
/etc/freeswitch/dialplan/default.xml
编辑这个default.xml文件,添加一个 extension

  <extension name="record">
    <condition field="destination_number" expression="^1237$">
	  <action application="answer"/>
  	  <action application="playback" data="tone_stream://%(100,1000,800)"/>
	  <action application="record" data="/tmp/$1.wav"/>
    </condition>
  </extension>

其中,/tmp/$1.wav是录音生成文件的路径和文件名。

下载到windows本地,然后直接播放,就可以听到自己的声音了。

4. 总结

同样非常简单的例子,但是为了完成某些可能复杂的目标,这个例子也是有意义的。

Smileyan 2019年3月14日

### FreeSWITCH拨号计划和 IVR 的配置 在 FreeSWITCH 中,拨号计划 (Dialplan) 和交互式语音应答系统 (IVR) 是核心功能之一。通过 XML 文件定义拨号计划和 IVR 流程,可以灵活控制呼叫路由、播放提示音以及执行各种操作。 #### 1. 基础概念 拨号计划是一个逻辑结构,用于匹配传入或传出的电话号码并决定如何处理这些呼叫。IVR 则是一种自动化的语音服务流程,允许用户通过按键输入或其他方式与系统互动[^1]。 #### 2. 配置拨号计划示例 以下是一个简单拨号计划配置文件 `dialplan/default.xml` 示例: ```xml <extension name="welcome_ivr"> <condition field="destination_number" expression="^(1234)$"> <action application="answer"/> <action application="playback" data="ivr/ivr-welcome_to_freeswitch.wav"/> <!-- 欢迎消息 --> <action application="sleep" data="1000"/> <action application="bridge" data="sofia/gateway/mygateway/${destination_number}"/> </condition> </extension> ``` 上述代码片段的功能如下: - 当拨打号码为 `1234` 时触发此扩展。 - 使用 `answer` 应用程序接听来电。 - 播放欢迎音频文件 `ivr/ivr-welcome_to_freeswitch.wav`。 - 添加短暂延迟以确保音频完全播放完毕。 - 将呼叫桥接到指定网关上的目标号码。 #### 3. 配置 IVR 节点 为了创建更复杂的 IVR 功能,可以通过绑定数字动作来实现多级菜单导航。以下是另一个示例: ```xml <extension name="main_menu_ivr"> <condition field="destination_number" expression="^5678$"> <action application="menu" data="simple_main_menu"/> </condition> </extension> <!-- 定义简单菜单 --> <menu name="simple_main_menu"> <prompt>Thank you for calling our service. For sales press one, for support press two.</prompt> <entry action="bind_digit_action" digits="1" param="exec:set:department=sales"/> <entry action="bind_digit_action" digits="2" param="exec:set:department=support"/> </menu> ``` 在此配置中: - 用户拨打 `5678` 进入主菜单。 - 提供两个选项:按 `1` 表示销售部门;按 `2` 表示支持部门。 - 数字键按下后会设置变量 `department` 并继续后续处理^[]。 #### 4. 设置会议模式控制器 对于需要高级权限管理的情况(如主持人控制),可以在拨号计划中加入特定的应用程序调用来启用会议模块中的特殊功能。例如: ```xml <extension name="conference_moderator"> <condition field="destination_number" expression="^9000$"> <action application="set" data="conference_controls=moderator"/> <action application="conference" data="my_conference@default"/> </condition> </extension> ``` 这段代码的作用是当用户拨打到 `9000` 号码时进入名为 `my_conference` 的会议室,并赋予其主持人的身份[^2]。 #### 5. 使用 fs_cli 工具调试 除了静态配置外,还可以利用命令行工具 `fs_cli` 实时测试和调整行为。例如查看当前运行状态或者发送指令给正在工作的实例。这有助于快速验证修改效果而不必重启整个服务器[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smile-yan

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值