freeswitch之呼叫中心acd模块开发

freeswitch之呼叫中心acd模块开发一、定义:ACD(AutomaticCallDistributor)自动呼叫分配,也叫智能选择座席。它是呼叫中心整个前台接入系统逻辑功能的描述:把接入的呼叫转接到正确的座席员桌前。ACD是现代呼叫中心有别于一般的热线电话系统和自动应答系统的重要标志,其性能的优劣直接影响到呼叫中心的效率和顾客的满意度。二、ACD包含的功能点:1、程控交换功能ACD在本质上也是交换机的一种类型,必须具有程控交换最基本的话务交换功能。2、排队功能ACD必须具有话务排队的功能,所谓排队是指在内线都

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

一、定义:

ACD(Automatic Call Distributor) 自动呼叫分配,也叫智能选择座席。它是呼叫中心整个前台接入系统逻辑功能的描述:把接入的呼叫转接到正确的座席员桌前。ACD是现代呼叫中心有别于一般的热线电话系统和自动应答系统的重要标志,其性能的优劣直接影响到呼叫中心的效率和顾客的满意度。

二、ACD包含的功能点:

1 、程控交换功能

ACD在本质上也是交换机的一种类型,必须具有程控交换最基本的话务交换功能。

2 、排队功能

ACD必须具有话务排队的功能,所谓排队是指在内线都忙的情况下,外部再打来一个电话时按一定规则进行排队,一旦内线空闲时进行接入。有的甚至具有vip优先排队接入功能。

3 、路由功能

拨入ACD的话务可以根据一定的路由规则转发到响应的座席终端(sip话机,坐席网关)、固话或者手机坐席或其他的一些的终端(如IVR )。

按分配策略可以分为:按最大空闲时长,按电话量,专员接入,按技能组优先级接入等等,坐席之间和技能组之间具有超时未听转和溢出转功能。

4、人工座席应答

根据客户的需要,将呼入的话路转接到人工座席上,客户将和座席人员进行交谈,接受客户预定、解答客户的疑问或输入客户的信息。

5、坐席软件接口

功能:登录,登出,示忙,示闲,小休,事务处理,咨询转(分机,手机,固话),三方通话,拦截通话,强拆,监听,切入IVR验证身份等功能。

事件:排队事件,排队取消事件,来电事件,通话事件,录音事件,挂机事件。来电事件中可以附带转接前ivr中受理业务的相关数据信息,方便弹屏页面展示给坐席来查看客户的预备需求;录音事件中附带录音文件信息,挂机事件中标识挂机方和挂机原因。

接口方式:ocx对接cs客户端模式;js(websocket)接口对接bs业务系统。

三、freeswitch实现ACD功能

1、esl方式

2、freeswitch模块方式

由于笔者是采用第二种开发,可以给基于此种方式的开发人员作为参考。

2.1 坐席接口可以采用libwebsockets库进行websocket协议开发,web端采用js连接通讯。

2.2 坐席分组,一套系统内分为多个技能组,不同技能组处理不同业务,技能组具备上述分配策略 

2.3 设计app,参考语法turnslic {params}exts groups wait_time [queue_enable] [want_login] [all_ring]                        [speak_member_id] [record_enable] [wait_music] [data]

          params:给坐席端的通道附加通道变量;

          ring_exts:分机号,多个用逗号分开,优先级别可以用分号隔开;

          ring_groups:技能组,多个用逗号分开,溢出技能组可以用分号隔开; 

         wait_time:超时时间;

         queue_enable:排队使能;

          wait_login:是否要求坐席登录才能接听电话;

          all_ring:是否同振;

         speak_member_id:坐席接听后是否报坐席工号;

         record_enable:是否需要录音;

        wait_music: 等待音乐;

         data:附加数据,用于坐席弹屏中展示;

2.4细节事项

2.4.1 app设计失败返回值,以方便不同返回结果对应的后续处理。比如:超时未接,排队超时,无空闲坐席,被拦截。

2.4.2分机掉线的处理:可以通过监听sofia模块的sofia::register和sofia::unregister消息及时知道分机在线。

2.4.3转外部系统添加sip自定义头传送相关数据,方便对接第三方系统。

2.4.4 VIP优先接入功能,指定为优先级高的号码优先接入到系统。

2.4.5 坐席状态并发处理节点,分机呼叫分机,ACD转分机,咨询转分机,三方通话转分机,这些功能点都可能同时并发呼叫相同分机,为了保证单个分机同时只处理一次呼叫,避免分机重复呼叫,坐席的状态和锁机制控制唯一性很重要。

大家如果有什么好的想法,可以一起商讨!
      

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159191.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 好玩的100个网站收藏游戏_电脑上怎么把网址收藏

    好玩的100个网站收藏游戏_电脑上怎么把网址收藏1.最强大的“免费电子书”下载区——新浪电子书共享http://ishare.iask.sina.com.cn/(数十万册哦,全是免费滴!)2.性能很好的免费网络硬盘——云盘网(10G免费超大空间哦,支持共享,可加密文件)http://www.diskes.com/3.爱酷美剧http://www.icoolen.com/film4.传说中“天涯

  • 模拟退火 python_粒子群算法怎么设置约束条件

    模拟退火 python_粒子群算法怎么设置约束条件1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linearprogramming),是研究线性约束条件下线性目标函数的极值问题的优化方法,常用于解决利用现有的资源得到最优决策的问题。简单的线性规划问题可以用Lingo软件求解,Matlab、Python中也有求解线性规划问题的库函数或求解器,很容易学习和使用,并不需要用模拟退火算法。但是,由一般线性规划问题所衍生的整数规划、混合规划、0/1规划、二次规划、非线性规划、组合优化问题,则并不是调用某个库函数都能处理.

    2022年10月13日
  • JMM简介_英文缩写jmy啥意思

    JMM简介_英文缩写jmy啥意思Java的内存模型JMM(JavaMemoryModel)JMM主要是为了规定了线程和内存之间的一些关系。根据JMM的设计,系统存在一个主内存(MainMemory),Java中所有实例变量都储存在主存中,对于所有线程都是共享的。每条线程都有自己的工作内存(WorkingMemory),工作内存由缓存和堆栈两部分组成,缓存中保存的是主存中变量的拷贝,缓存可能并不总和主存同步,也就是缓存中变量的修改可能没有立刻写到主存中;堆栈中保存的是线程的局部变量,线程之间无法相互直接访问堆栈中的变量。JM

  • 微信公众号推广_微信公众号评论点赞

    微信公众号推广_微信公众号评论点赞原标题:微信公众号分享集赞吸粉方案,人人可复制分享集赞这种方式很早就有了,不仅在微信公众号运营圈子里面盛行,很多做微商、代购的都很喜欢用这种方式吸粉,其优点是操作简单,可行性佳,获粉成本低。小编在自己博客分享了一些吸粉的文章,但很多同学反馈大多数方法操作难度大,需要很大的工作量,其中80%的朋友还觉得不擅长去做这些事情,需要对这些领域有一定的认识,并且不知道这些事情做了之后有没有效果,其实有这种担…

  • xshell5连接不上虚拟机_虚拟机的网络连接设置

    xshell5连接不上虚拟机_虚拟机的网络连接设置一:首先解决的关于ping的问题1.在虚拟机中ping百度看能不能先ping通,如果虚拟机连接不上网络的话Xshell肯定是连接不上的,如果有上述情况的请点击二:检查你虚拟机中防火墙是否关闭CentOs6中查看防火墙状态:serviceiptablesstatus关闭防火墙:serviceiptablesstop禁用防火墙:chkconfigiptablesoffCentOs7中查看防火墙状态:systemctlstatusfirewalld.service关闭防火墙:

发表回复

您的电子邮箱地址不会被公开。

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