1.队列(Queue):呼入的电话会在相关的队列中进行排队
排队策略:电话在排队中,电话分配策略。具体如下:
·ring-all:选择所有座席。即让所有座席振铃,哪个先接就选择哪个。
·long-idel-agent:选择空闲时间最长的座席。
·round-robin:轮循。
·top-down:按固定的顺序选择。
·agent-with-least-talk-time:总是选择通话时间最短的座席;
·agent-with-fewest-calls:总是选择接电话次数最少的座席;
·sequentially-by-agent-order:根据梯队和顺序选择;
·random:随机选择.
2.fresswitch的核心数据库: fresswtich的内部使用关系型数据库记录一些实时的数据, 这些数据有的是临时存储的,有些是永久存储的。
freeswtich默认使用sqlite嵌入式数据库。
默认的数据库存储位置是
FreeSWITCH安装目录下的db目录(/usr/local/freeswitch/db),默认的核心数据库名称是core.db。
3.freeswitch 常用指令
启动:
freeswtich -nonat Freeswitch默认启动的时候会启动upnp/nat-pmp协议,该协议查找你的路由器并在路由器上打洞,如果路由器不支持的话,会很耗时,影响启动速度。 建议关掉改选项。
freeswtich -nc 将freeswtich启动到后台。
注意:启动时候也可以组合使用 freewtich -nc -nonat.
ps -aux | grep freeswitch 查看进程是否存在。
netstat -an | grep 5060 查看端口是否被占用。
netstat -anp | grep 5060 取得freeswitch的进程号(需要root权限)
4.控制台与客户端
FreeSWITCH是一个典型的Client/Server结构,不管FreeSWITCH运行在前台还是后台,你都可以使用客户端软 件fs_cli连接FreeSWITCH。
它使用FreeSWITCH的 ESL(Event Socket Library)协议与FreeSWITCH通信。使用该协议需要加载模块mod_event_socket,该模 块是默认加载的。
动态管理callcenter当中队列和坐席。
座席状态:一个座席有两个状态标志,分别是Status和States。Status是一个座席逻辑上的状态,它有以下几 种取值
·Logged Out:退出服务状态。
·Available:可用状态,可以接电话。
·Available(On Demand):一种特殊的可用状态。
·On Break:座席已登录,但不可以接电话。
·States是跟电话呼叫有关的状态,它有以下几种取值:
·Idle:空闲。
·Waiting:等待接受呼叫。
·Receiving:正在接受呼叫。
·In a queue call:当前正在一个队列呼叫中。
手动改变坐席的状态
callcenter_config agent set status 1005@default 'Available' ----1005坐席工号 坐席的状态为Available
callcenter_config agent set status 1005@default 'Logged Out' -------坐席状态为Logged Out
callcenter_config agent set status 1005@default 'On Break' ---------坐席状态为On Break
callcenter_config agent list -----列出所有坐席的状态信息等。
callcenter_config tier list /callcenter_config queue list -----列出当前的梯队信息/队列信息
增加一个坐席
callcenter_config agent add 1007@default callback;
设置相关的参数
callcenter_config agent set contact 1007@default user/1007
呼叫中心模块的加载:
1./usr/local/src/freeswitch/modules.conf将callcenter模块的注释去掉,
2.安装make mod_callcenter-install
3.在控制台加载 load mod_callcenter
4.自启动配置:conf/autoload_configs/modules.conf.xml去掉callcenter的相关配置