Skip to content
prog.chen edited this page Dec 29, 2014 · 3 revisions

#freeswitch配置 freeswitch的配置比较多,关于该模块的一些高级配置请参考官方wiki,这里仅对影响呼叫中心运行的几个核心配置项进行说明。

#modules.conf.xml 推荐配置, freeswitch启动时加载的module

<configuration name="modules.conf" description="Modules">
  <modules>
    <load module="mod_console"/>
    <load module="mod_logfile"/>
    <load module="mod_cdr_csv"/>
    <load module="mod_event_socket"/>
    <load module="mod_sofia"/>
    <load module="mod_commands"/>
    <load module="mod_conference"/>
    <load module="mod_dptools"/>
	<load module="mod_dialplan_xml"/
    <load module="mod_sndfile"/>
    <load module="mod_tone_stream"/>
    <load module="mod_http_cache"/>
    <load module="mod_ccl_record"/>
    <load module="mod_ivr_loadbalance"/>
  </modules>
</configuration

#vars.xml

修改默认的语音文件相关路径

	…
	
	<X-PRE-PROCESS cmd="set" data="sounds_dir=freeswitch安装目录/voice"/>
	<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}"/>
	<X-PRE-PROCESS cmd="set" data="hold_music=$${sounds_dir}/hold_music.wav"/>
	
	…

#event_socket.conf.xml

ims、ivr需要使用inbound模式连接到freeswitch,因此需要event_socket模块开放监听模式

	<configuration name="event_socket.conf" description="Socket Client">
	  <settings>
	    <param name="nat-map" value="false"/>
	    <param name="listen-ip" value="0.0.0.0"/>
	    <param name="listen-port" value="8022"/>
	    <param name="password" value="ClueCon"/>
	  </settings>
	</configuration>

#default.xml 呼入的时候,如果需要IVR接管,则需要增加一个extension

    <extension name="IVR">
        <condition field="destination_number" expression="^接入码$">
                <action application="set" data="IVR_GET=${IVR_HOST}"/>
                <!--action application="start_dtmf"/-->
                <action application="park"/>
        </condition>
    </extension>

#ivr_loadbalance.conf 呼叫进入之后,负责ivr的负载分担, 推荐配置

	[IVRServers]
	#IVR服务器地址配置,配置项名称号码需要连续
	IVR1=127.0.0.1:1765
	IVR2=127.0.0.1:1766
	IVR_DEFAULT=127.0.0.1:8084
	
	[CheckInterval]
 	#每个服务器进行检测的时间间隔,毫秒
	### 多台服务器的检测时间错开,错开时间T=INTERVAL/IVR服务器个数
	### 因此每隔时间T进行一次IVR_HOST替换
	INTERVAL=2000
	
	[TimeOut]
	#检测IVR服务器时的交互超时时间
	CON_TIMEOUT=2000
	
	[Rule]
	#规则的CPU阈值
	### 1)cpu均大于阈值的,选择cpu较小的;
	### 2)cpu1>阈值,cpu2<阈值的,选择cpu较小的;
	### 3)cpu均小于阈值的,选择通道数较小的;
	CPU_THR=70
	
	[Alarm]
	#告警人信息
	email=test@test.com
	phone=13800138000

#ccl_record.conf.xml 录音转存相关配置信息,推荐配置

	<configuration name="ccl_record.conf" description="CallCloud Record">
	    <settings>
	        <param name="rec-basedir" value="$${sounds_dir}"/>
	        <param name="max-thread" value="20"/>
	        <param name="dest-basedir" value="record"/>
	    </settings>
	
	    <tasklist>
			<!-- task支持两个关键词<dstfile>、<srcfile> -->
	        <task value="ssh work@127.0.0.1 '[ -d `dirname /home/work/<dstfile>` ] || mkdir -p `dirname /home/work/<dstfile>` ]'; scp <srcfile> work@127.0.0.1:/home/work/<dstfile>; rm -fr <srcfile>"/>
	    </tasklist>
	
	</configuration
Clone this wiki locally