FreeSWITCH开启录音功能

FreeSwitch录音功能默认是关闭的,需要修改配置开启录音功能。

 

首先备份freeswitch/conf/dialplan/default.xml 。

然后编辑default.xml ,在

<extension name="Local_Extension">
     <condition field="destination_number" expression="^(10[01][0-8])$">

下面加入以下配置即可录音。

<action application="set" data="RECORD_TITLE=Recording ${destination_number} ${caller_id_number} ${strftime(%Y-%m-%d %H:%M)}"/>
<action application="set" data="RECORD_COPYRIGHT=(c) 2011"/>
<action application="set" data="RECORD_SOFTWARE=FreeSWITCH"/>
<action application="set" data="RECORD_ARTIST=FreeSWITCH"/>
<action application="set" data="RECORD_COMMENT=FreeSWITCH"/>
<action application="set" data="RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}"/>
<action application="set" data="RECORD_STEREO=true"/>
<action application="record_session" data="/opt/FreeSwitch/recordings/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.wav"/>

如果是Windows测试使用,最后一行可使用如下配置:

<action application="record_session" data="D:/FreeSwitch/recordings/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.wav"/>

该配置即是录音文件的存放位置。

加入配置后按F6重新加载配置即可生效。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在CentOS 7上配置FreeSWITCH录音并将其保存到MySQL的详细步骤: 1. 安装FreeSWITCH和MySQL 首先,需要在CentOS 7上安装FreeSWITCH和MySQL。可以使用以下命令安装: ``` yum install -y freeswitch mariadb-server ``` 2. 创建数据库和表 在MySQL中创建一个名为freeswitch的数据库,并创建一个名为recordings的表来存储录音文件的信息。可以使用以下命令创建: ``` mysql -u root -p CREATE DATABASE freeswitch; USE freeswitch; CREATE TABLE recordings ( id INT NOT NULL AUTO_INCREMENT, call_id VARCHAR(50) NOT NULL, file_name VARCHAR(255) NOT NULL, start_time DATETIME NOT NULL, end_time DATETIME NOT NULL, PRIMARY KEY (id) ); ``` 3. 配置FreeSWITCHFreeSWITCH中启用录音功能并将其配置为将录音文件保存到MySQL数据库。可以通过编辑以下文件来完成此操作: ``` /etc/freeswitch/autoload_configs/recordings.conf.xml ``` 将以下行添加到文件的末尾: ``` <configuration name="recordings.conf" description="Recordings"> <settings> <param name="base-dir" value="/var/lib/freeswitch/recordings" /> <param name="record-template" value="${base_dir}/${strftime(%Y-%m-%d-%H-%M-%S)}_${caller_id_number}_${destination_number}_${unique_id}.wav" /> <param name="record-post-process" value="/usr/local/bin/freeswitch_record_post_process.sh" /> <param name="record-cache-dir" value="/tmp" /> <param name="record-cache-size" value="1000" /> <param name="record-cache-timeout" value="3600" /> <param name="cdr-write" value="true" /> <param name="cdr-backend" value="csv" /> <param name="cdr-csv-logdir" value="/var/log/freeswitch/cdr-csv" /> <param name="cdr-csv-base-name" value="cdr" /> <param name="cdr-csv-field-names" value="start_stamp,answer_stamp,end_stamp,duration,billsec,caller_id_number,destination_number,uuid,call_direction,call_uuid" /> <param name="cdr-csv-extra" value="caller_id_name,destination_name,read_codec,write_codec" /> <param name="event-locking" value="false" /> <param name="post-process-locking" value="false" /> <param name="db-dsn" value="mysql://root:password@localhost/freeswitch" /> <param name="db-table" value="recordings" /> <param name="db-id-col" value="id" /> <param name="db-call-id-col" value="call_id" /> <param name="db-file-name-col" value="file_name" /> <param name="db-start-time-col" value="start_time" /> <param name="db-end-time-col" value="end_time" /> <param name="db-time-format" value="%Y-%m-%d %H:%M:%S" /> </settings> </configuration> ``` 请注意,必须将“db-dsn”参数设置为MySQL数据库的连接字符串,并指定要使用的数据库表的名称和列名称。 4. 创建录音后处理脚本 在录音完成后,可以使用录音后处理脚本将录音文件的信息插入到MySQL数据库中。创建一个名为freeswitch_record_post_process.sh的脚本,并将以下内容添加到文件中: ``` #!/bin/bash call_id=$(echo $1 | sed 's|/var/lib/freeswitch/recordings/||g' | awk -F_ '{print $1}') file_name=$(echo $1 | sed 's|/var/lib/freeswitch/recordings/||g') start_time=$(date +%Y-%m-%d\ %H:%M:%S) end_time=$(date +%Y-%m-%d\ %H:%M:%S) mysql -u root -ppassword -e "INSERT INTO freeswitch.recordings (call_id, file_name, start_time, end_time) VALUES ('$call_id', '$file_name', '$start_time', '$end_time');" ``` 该脚本将提取录音文件的信息,并将其插入到MySQL数据库中。 5. 启动FreeSWITCH 现在,可以启动FreeSWITCH并开始录音。使用以下命令启动FreeSWITCH: ``` systemctl start freeswitch ``` 可以在以下位置查找录音文件: ``` /var/lib/freeswitch/recordings ``` 可以使用以下命令停止FreeSWITCH: ``` systemctl stop freeswitch ``` 请注意,如果您在录音过程中遇到任何问题,请查看FreeSWITCH的日志文件,以获取更多详细信息。 以上是在CentOS 7上配置FreeSWITCH录音并将其保存到MySQL的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值