freeswitch 双腿录音

 

 在拨号计划的default.xml中<context name="default">之后设置

 <extension name="Extension-legs">
 <condition field="destination_number" expression="^([0-9]\d+)$">
 <action application="export" data="dialed_extension=$1"/>
 <action application="set" data="call_timeout=30"/>
 <action application="export" data="RECORD_STEREO=true"/>
 <action application="set" data="media_bug_answer_req=true"/>
 <action application="set" data="continue_on_fail=true"/>
 <action application="set" data="hangup_after_bridge=true"/>
<!-- <action application="set" data="enable_file_write_buffering=true"/>-->
 <action application="export" data="execute_on_answer=record_session $${base_dir}/recordings/archive/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.mp3"/>
 <action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
 </condition>
 </extension>

 

然后reloadxml或者重启fs

注意的问题:

RECORD_STEREO为双声道,会把两个腿的音频分别录制到音频文件的左右两个声道

record_sample_rate 不要设置,因为通话中的采样率是不固定的,录制文件时,fs不会进行重采样,会导致和设置的采样率不一致的通话所录制的音频文件有问

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要开启FreeSWITCH录音功能并将录音保存至MySQL数据库,需要按照以下步骤进行操作: 1. 在FreeSWITCH的配置文件中设置录音路径和格式。在“vars.xml”文件中添加以下配置: ``` <XML> <X-PRE-PROCESS cmd="set" data="recordings_dir=/path/to/recordings"/> <XML> ``` 其中,/path/to/recordings是录音文件保存的路径。 2. 在FreeSWITCH的“autoload_configs”目录下创建一个名为“mod_mysql.conf.xml”的文件,并添加以下配置: ``` <configuration name="mod_mysql.conf" description="MySQL Configuration"> <settings> <param name="odbc-dsn" value="DSN"/> <param name="odbc-table" value="recordings"/> <param name="odbc-username" value="username"/> <param name="odbc-password" value="password"/> </settings> </configuration> ``` 其中,DSN是ODBC数据源的名称,recordings是表名,username和password是连接数据库的用户名和密码。 3. 在FreeSWITCH的“autoload_configs”目录下创建一个名为“mod_callcenter.conf.xml”的文件,并添加以下配置: ``` <configuration name="mod_callcenter.conf" description="Callcenter Configuration"> <settings> <param name="cdr-db-dsn" value="odbc://DSN"/> <param name="cdr-table" value="recordings"/> <param name="cdr-username" value="username"/> <param name="cdr-password" value="password"/> </settings> </configuration> ``` 其中,DSN是ODBC数据源的名称,recordings是表名,username和password是连接数据库的用户名和密码。 4. 在FreeSWITCH的“dialplan”中添加录音处理逻辑。在“default.xml”文件中添加以下配置: ``` <extension name="record_call"> <condition field="destination_number" expression="^(\d{3})$"> <action application="answer"/> <action application="start_dtmf"/> <action application="playback" data="ivr/ivr-enter-ext-of-person.wav"/> <action application="read" data="exten_to_dial 3 6 7000 #"/> <action application="start_record" data="$${recordings_dir}/${strftime(%Y-%m-%d-%H-%M-%S)}_${caller_id_number}_${dialed_extension}.wav"/> <action application="bridge" data="{sofia/internal/${exten_to_dial}@default}"/> <action application="stop_record"/> <action application="hangup"/> </condition> </extension> ``` 其中,$${recordings_dir}是录音保存的路径,在start_record应用程序中使用了时间戳、呼叫方号码和被叫方号码作为文件名。 5. 创建MySQL表以存储录音文件。可以使用以下SQL语句创建表: ``` CREATE TABLE recordings ( id INT NOT NULL AUTO_INCREMENT, filename VARCHAR(255) NOT NULL, caller_id VARCHAR(255) NOT NULL, dialed_extension VARCHAR(255) NOT NULL, start_time DATETIME NOT NULL, end_time DATETIME NOT NULL, duration INT NOT NULL, PRIMARY KEY (id) ); ``` 6. 启动FreeSWITCH并测试录音。拨打测试号码并录制音频,然后检查MySQL数据库中的录音表以确保录音已保存。 以上是将FreeSWITCH录音保存至MySQL数据库的操作步骤。需要注意的是,这只是基本的录音配置,具体的录音逻辑和处理方式可以根据实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值