freeswitch呼叫中心开发

freeswitch呼叫中心开发开发freeswitch呼叫中心1、配置ivr2、启用mod_callcenter3、开发websocker接口,通过esl接口,发送callcenter_config命令给fs4、开发客户端页面,注册,注销,就绪,置忙等接口5、开发来电弹屏,通过客户端读取redis参数实现freeswitch的呼叫中心模块很方便的就可以让用户体验这种呼叫中心模式,包含了很多功能,具体参数的配置在使用中自行摸索。编译安装freeswitch时需要开启mod_callcenter、mod_fifo的编译,之

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

开发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.net/158223.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JsonObject和JsonArray转换问题

    JsonObject和JsonArray转换问题开发过程中遇到需要将调用接口返回的JsonObject转换为JsonArray格式的数据,在使用过成中遇到转换问题,代码如下publicstaticJSONObjectgetRecJsonObj(StringstuId,StringschoolDate){Stringjson;try{json=Jsoup.connect(UrlConfig.URL+”GetStudentInfo?stuId=”+stuId+

    2022年5月31日
    40
  • Pycharm远程连接服务器(windows下远程修改服务器代码)[通俗易懂]

    Pycharm远程连接服务器(windows下远程修改服务器代码)[通俗易懂]http://blog.csdn.net/duankaifei/article/details/418986411、写在前面  之前一致用putty,ssh,修改代码,或者本地修改,上传到服务器,各种不爽,现在改用xshell,但是有时候还是不方便感觉,于是自己配置了远程连接pycharm,这样不用总是到代码里修改,直接在windows下pycharm里修改再保存就可以实现同步更新

    2022年8月29日
    3
  • 日本免费空间Atpages.jp老牌稳定支持PHP,CGI和2style.net多域名空间[通俗易懂]

    日本免费空间Atpages.jp老牌稳定支持PHP,CGI和2style.net多域名空间[通俗易懂] 在上一篇的法国,意大利免费空间其实就已经注意到了Atpages.jp和2style.net这两个日本的免费空间了,本来还想介绍一下hosting.kr这个韩国的免费空间,但是该空间要求韩国的D理才能申请,在网上找了半天,也没有找到免费可用的。 话说这韩国的D理真是稀缺呀,只好对hosting.kr这个免费空间作罢了。Atpages.jp这是日本一个老牌的免费空间了,提供1G空间,支持PHP,C…

    2022年7月11日
    45
  • RPC接口简介「建议收藏」

    RPC接口简介「建议收藏」什么是RPCRPC(RemoteProcedureCallProtocol)远程过程调用协议。一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。比较正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC的特点:RPC是协议。只是协议,而非实现。RPC实现包括:Dubbo、Thri…

    2022年10月13日
    2
  • c++ 容器类_下面属于容器类的是

    c++ 容器类_下面属于容器类的是C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector   连续存储结构,每个元素在内存上是连续的;   支持高效的随机访问和在尾端插入/删除操作,但其他位

    2025年11月5日
    4
  • 【前端】HTML底部返回顶部悬浮按钮

    【前端】HTML底部返回顶部悬浮按钮CSS样式:.back-to{ bottom:55px; overflow:hidden; position:fixed; right:10px; width:110px; z-index:999; } .back-to.back-top{ background:url(“./imag…

    2022年7月13日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号