freeswitch呼叫中心开发

2022-09-14 15:30:24 浏览数 (3)

大家好,又见面了,我是你们的朋友全栈君。

开发freeswitch呼叫中心 1、配置ivr 2、启用mod_callcenter 3、开发websocker接口,通过esl接口,发送callcenter_config 命令给fs 4、开发客户端页面,注册,注销,就绪,置忙等接口 5、开发来电弹屏,通过客户端读取redis参数实现

freeswitch的呼叫中心模块很方便的就可以让用户体验这种呼叫中心模式,包含了很多功能,具体参数的配置在使用中自行摸索。

编译安装freeswitch时需要开启mod_callcenter、mod_fifo的编译,之后在安装完成之后在conf/autoload_configs/modules.conf.xml中去掉该模块相关行的注释。 配置方法,编辑conf/autoload_configs/callcenter.conf.xml

其中domain是freeswitch的服务器ip地址,这种方法是配置静态的坐席,就是在配置文件中写死的,如果不符合项目中的要求,我们也可以用命令的方式动态添加坐席和梯队,但是queue是要固定的在配置文件中写好的。 动态添加agent和梯队:

新增agent callcenter_config agent add 1001@domain Callback

更新agent状态 callcenter_config agent set contact 1001@domain [call_timeout=10][call_timeout=10]user/1001@$${domain} callcenter_config agent set status 1001@domain Available callcenter_config agent set state 1001@domain Waiting callcenter_config agent set max_no_answer 1001@domain 10 callcenter_config agent set wrap_up_time 1001@domain 10 callcenter_config agent set reject_delay_time 1001@domain 10 callcenter_config agent set busy_delay_time 1001@domain 60

将agent添加到梯队 callcenter_config tier add support@default 1001@domain 1 1

agent、queue、tier配置好之后,需要配置拨号计划,添加:

这样登录注册一个分机之后,拨打7000,就进入了callcenter,如果有agent在梯队中,就会转呼到这个agent上面。

上面一些参数的含义,可以参照官网,我收集了一些,如下:

Agent: 1、type:callback 或者 uuid-standby 2、contact:dial string(呼叫串) 3、status:Logged Out Available Available (On Demand) On Break 3、State:Idle Waiting In a queue call 4、max-no-answer:最大无应答次数,超过次数,status变为On Break状态 5、wrap-up-time: 通话完成间隔时间,成功处理一个通话后,多久才会有电话进入等待时长 6、reject-delay-time:挂机间隔时间,来电拒接后多久才会有电话进入的等待时长 7、busy-delay-time:忙重试间隔时间,来电遇忙后多久才会有电话进入的等待时长 8、no-answer-delay-time :无应答重试间隔,来电无应答后多久才会有电话进入的等待时长

Queue: 1、strategy:振铃策略 ring-all 所有坐席振铃 longest-idle-agent 空闲时长最长振铃 round-robin 轮循振铃 top-down 顺序振铃 agent-with-least-talk-time 通话时长最小振铃 agent-with-fewest-calls 接听最少振铃 sequentially-by-agent-order 优先级振铃 random 随机振铃 2、moh-sound:队列语音 local_stream://moh 3、announce-sound:定期播放音乐 与announce-frequency一起使用 4、announce-frequency:播放频率,即多久播放一次 与announce-sound一起使用 5、record-template:录音文件夹路径 6、time-base-score:优先级相关的时间积分选项 queue: 不增加积分 system: 进入系统时积分 7、tier-rules-apply: 梯队匹配 false: 所有梯队 true: 匹配规则(tier-rule*) 8、tier-rule-wait-second:梯队的等待时间(进入下个梯队的时间) 9、tier-rule-wait-multiply-level:梯队等待级别 false: 除了第一个梯队等待tier-rule-wait-second,其他梯队不等待 true: 每个梯队都会等待tier-rule-wait-second 10、tier-rule-no-agent-no-wait:是否跳过no-agent的梯队,(no-agent就是这个梯队中不存在状态为available的成员agent ) true: 跳过 false: 不跳过 11、discard-abandoned-after:最大丢弃时长(丢弃超过此时长,将不可以恢复)与abandoned_resume_allowed同时生效 12、abandoned-resume-allowed:丢弃后是否允许恢复或者重新进入队列 true:允许恢复或重新进入(超过discard-abandoned-after将不可恢复) false:禁用不允许恢复 13、max-wait-time:最大等待时间(超过时间未被接通将退出callcenter)0为禁用 14、max-wait-time-with-no-agent: 无成员(没有成员的状态是available)等待超时时间: 超出时间电话会退出callcenter 0为禁用 15、max-wait-time-with-no-agent-time-reached:如果有电话有因为(max-wait-time-with-no-agent)的原因退出队列, 队列将在延迟一定时间不允许新的电话呼入到队列

Tiers: 1、queue 队列queue名 2、agent 坐席agent名 3、state 状态只能是 Ready 4、level 梯队等级 用level来划分梯队等级 5、position 位置 在一个梯队中的位置

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158223.html原文链接:https://javaforall.cn

0 人点赞