1.开启mod_callcenter模块
在autoload_configs/modules.conf.xml中去掉<load module="mod_callcenter"/>的注释,然后fs_cli进入控制台load mod_callcenter,重启下freeswitch,freeswitch -stop 停止,freeswitch -nc 启动。
2.配置callcenter配置文件
配置方法,编辑/autoload_configs/callcenter.conf.xml
<configuration name="callcenter.conf" description="CallCenter">
<settings>
<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
<!--<param name="dbname" value="/dev/shm/callcenter.db"/>-->
</settings>
<queues>
<queue name="support@default">
<param name="strategy" value="longest-idle-agent"/>
<param name="moh-sound" value="$${hold_music}"/>
<!--<param name="record-template" value="$${recordings_dir}/${strftime(%Y-%m-%d-%H-%M-%S)}.${destination_number}.${caller_id_number}.${uuid}.wav"/>-->
<param name="time-base-score" value="system"/>
<param name="max-wait-time" value="0"/>
<param name="max-wait-time-with-no-agent" value="0"/>
<param name="max-wait-time-with-no-agent-time-reached" value="5"/>
<param name="tier-rules-apply" value="false"/>
<param name="tier-rule-wait-second" value="300"/>
<param name="tier-rule-wait-multiply-level" value="true"/>
<param name="tier-rule-no-agent-no-wait" value="false"/>
<param name="discard-abandoned-after" value="60"/>
<param name="abandoned-resume-allowed" value="false"/>
</queue>
</queues>
<!-- WARNING: Configuration of XML Agents will be updated into the DB upon restart. -->
<!-- WARNING: Configuration of XML Tiers will reset the level and position if those were supplied. -->
<!-- WARNING: Agents and Tiers XML config shouldn't be used in a multi FS shared DB setup (Not currently supported anyway) -->
<agents>
<!--<agent name="1000@default" type="callback" contact="[leg_timeout=10]user/1000@default" status="Available" max-no-answer="3" wrap-up-time="10" reject-delay-time="10" busy-delay-time="60" />-->
<agent name="1001@default" type="callback" contact="[call_timeout=60]user/1001" status="Available" max-no-answer="100" wrap-up-time="10" reject-delay-time="10" busy-delay-time="60" />
<agent name="1002@default" type="callback" contact="[call_timeout=60]user/1002" status="Available" max-no-answer="100" wrap-up-time="10" reject-delay-time="10" busy-delay-time="60" />
</agents>
<tiers>
<!-- If no level or position is provided, they will default to 1. You should do this to keep db value on restart. -->
<!-- <tier agent="1000@default" queue="support@default" level="1" position="1"/> -->
<tier agent="1001@default" queue="support@default" level="1" position="1"/>
<tier agent="1002@default" queue="support@default" level="1" position="1"/>
</tiers>
</configuration>
3.配置拨号规则
agent、queue、tier配置好之后,需要配置拨号计划,在freeswitch/dialplan下,找到default.xml,找个空地方,添加:
<extension name="Callcenter Example">
<condition field="destination_number" expression="^7000$">
<action application="answer"/>
<action application="callcenter" data="support@default"/>
</condition>
</extension>
最好也重启下freeswitch,因为之前在fs_cli下reload不起作用!
4.测试
在软电话例如yate之类,登录1001 和1002,然后在找个软电话登录1005,拨打7000,如果1001或者1002通话,则callcenter成功。