Freeswitch在呼叫中心系统应用

简介: 一.freeswitch是什么freeswitch是一款基于sip的开源电话软交换平台,具有很强的扩展性和稳定性,能实现电话语音、ivr、电话会议、视频会议、机器人、短信等核心语音应用;因为支持丰富的语音、视频编码使得几乎能兼容市面上绝大部分的sip软交换平台;

一.freeswitch是什么


freeswitch是一款基于sip的开源电话软交换平台,具有很强的扩展性和稳定性,能实现电话语音、ivr、电话会议、视频会议、机器人、短信等核心语音应用;因为支持丰富的语音、视频编码使得几乎能兼容市面上绝大部分的sip软交换平台;


二.freeswitch优势


freeswitch作为一款开源软交换平台,相较于其他传统的软交换平台(如asterisk),具有并发高,caps处理强,ivr处理灵活等特点,在一些中大型语音场景应用较多;

freeswitch还提供esl接口,支持主流的lua、java、php、python等语言,企业开发者可以通过esl接口方便的调用freeswitch,开发freeswitch高级应用和实现外呼流程控制,进而和内部各个应用平台实现数据互通,这也是各个企业非常看重的一点。

当然,freeswitch也有不足的地方,相较于asterisk来说,缺乏标准的图形化配置界面,各个企业多少需要针对各自的场景开发属于自己的cti server,在一些并法要求不高,开发资源有限的需求下,asterisk则相对具有优势。好在freeswitch现在也有fusionpbx图形化组件,虽然面对对象是有通信基础的管理员,没有得到广泛的推广和认可,但还是简化了不少freeswitch操作。


三.freeswitch运行机制


freeswitch 使用线程模型来处理并发请求,每个连接都在单独的线程中进行处理。这不仅能提供最大强度的并发,更重要的是,即使某路电话发生问题,也只影响到它所在的线程,而不会影响到其它电话。freeswitch 的核心非常短小精悍,这也是保持稳定的关键。所有其它功能都在外围的模块中。模块是可以动态加载(以及卸载)的,在实际应用中可以只加载用到的模块。外围模块通过核心提供的 Public API 与核心进行通信,而核心则通过回调机制执行外围模块中的代码。


freeswitch主要配置文件:

freeswitch的核心底层代码是由C语言编写,如果需要重构freeswitch核心功能、基于freeswitch二次开发软交换,或者针对freeswitch开发其他自定义通信模块,则需要在符合freeswitch通信规范的情况下进行改造;

而使用freeswitch或者针对freeswitch做esl应用端开发,则基本不需要通过C去更改freeswitch底层代码逻辑,freeswitch自身是通过提供基于静态xml的文件配置方式,来实现对freeswitch所有功能的配置和调度控制。且freeswitch原生支持lua,通过lua能够极大的增加freeswitch功能的灵活性。开源的fusionpbx组件就是基于lua+php+nginx+pgsql,几乎100%还原了freeswitch强大功能,给了freeswitch一个动态的web控制台。

freeswitch主要配置文件(/usr/local/freeswitch/conf):
1、freeswitch.xml                 #freeswitch顶层文件,一般不做改动
2、vars.xml              #调整一些全局变量及参数
3、dialplan                       #拨号计划,freeswitch的主要目录之一,所有的拨号计划及各种路由规则实现,都在这个目录操作
4、directory/default/*.xml      #SIP分机,所有的分机号生成目录
5、sip_profiles/internal.xml      #内部分机连接的配置文件,用于对接分机
6、sip_profiles/external.xml      #定义和外部线路对接的相关信息,用于线路对接,通过sip_profiles/external/目录定义各个sip线路,也就是日常说的网关配置目录;
7、autoload_configs/              #freeswitch所有模块的存放路径,加载或者卸载某些模块都在这里实现,这里有除了freeswitch core以外的所有外围模块,比如常用的有cdr、shout、mrcp、event_socket等等模块,模块是否默认加载在modules.conf.xml中定义;
8、mrcp_profiles/                 #通过mrcp协议模块,和asr/tts对接,实现基于语音的机器人业务,目前公司的所有机器人业务就是通过这个mrcp协议实现的对接
复制代码


四.freeswitch架构


一般来说,一个简单的freeswitch架构,必须需要以下几点,freeswitch平台、语音网关、外呼线路、开发调度平台;

一个简单的freeswitch架构,可以解决一个企业的办公电话需求,而一个呼叫中心系统,则需要一个高级的freeswitch调度系统,这个调度系统给了各个企业开发者极大的想象和发挥空间,直接决定了外呼系统是否足够的智能和高效。

网络异常,图片无法展示
|

随着业务的扩展,外呼平台架构会逐渐加入机器人外呼、语音质检、筛号等等其他的业务,还需要考虑外呼平台本身的高可用集群等问题,外呼架构会逐渐复杂起来,下图是我们公司后期计划的外呼架构,目前除集群的部分其他基本已实现。


在呼叫中心应用中,电话的呼入呼出,不再是像个人手机终端那样只看通话记录来简单处理,一通电话从呼入、呼出到挂断,都需要从多个维度进行衡量;而围绕电话相关的服务也就变得多样化。

网络异常,图片无法展示
|

在上面的架构中,外呼调度系统会介入机器人业务,会有语音质检(离线&实时在线)服务,会有筛号等等服务。这些服务都是围绕着电话系统来开展,机器人服务是代替人工实现效率提升,语音质检是做话务分析,做风险投诉管控,筛号是提高外呼号码的接通率。


五.总结


1、freeswitch是一个功能丰富,实用性强的软交换平台;


2、freeswitch单机并发在包含媒体的情况下可以达到1k,caps值也可以到100以上;


3、freeswitch在中小型语音架构中可以很好的运行;


4、freeswitch可以和其他sip服务器如opensips,kamailio搭配实现超大型的语音架构(目前处在探索阶段)。

相关文章
使用OKCC呼叫中心系统的客户体验分析
案例1.某教培公司 招生旺季到来,很多教育机构都是以电话形式进行招生,回访学生家长,作为电销人员,每天的工作量特别特别大,号码需要一个一个手动输入再拨打,而且绝大部分都还是无效的,如空号、黑名单、没接通、没意向等等。 用我们OKCC人工坐席外呼系统就可以为电销人员一键呼叫,只需批量导入客户资料,无需手动输入号码,还可根据自身业务需求,灵活选取合适的呼叫方式。支持智能二次检测号码质量,过滤空号、错号、接通意向低等无效号码,提升外呼效率及员工积极性。
|
人工智能 中间件 Java
呼叫中心系统如果对接阿里灵积大模型
自chatgpt3.5发布以来,各种大模型飞速发展,各行各业都有接入大模型的需求,呼叫中心行业非常适合通过接入大模型用AI来回答用户的各种咨询,降低人力资源,使用顶顶通呼叫中心中间件,只需要100行不到的代码,就可以非常简单容易的让电话机器人系统,呼叫中心系统快速接入各种大模型
422 2
|
6月前
|
Web App开发 前端开发 JavaScript
如何快速与呼叫中心系统CTI/API/SDK接口集成
由于呼叫中心系统涉及通信、CTI、终端设备、中继线路等技术与概念,从事信息管理系统、ERP、CRM、工单系统等的研发人员一般不是非常熟悉这部分技术,当需要提供具备呼叫中心能力的解决方案时,往往要用较多的时间来研究这些相对复杂的技术,对接过程比较长,开发调试有一定的阻力,基于此,我们提出一种更加简便高效的集成方法,可以零代码集成呼叫中心平台,实现项目快速上线。
如何快速与呼叫中心系统CTI/API/SDK接口集成
okcc呼叫中心系统开启外呼不进线的原因以及解决方法
OKCC呼叫中心外呼不进线可能由线路配置、网络问题、系统设置错误、线路故障、权限配置、软硬件故障或特定情况(如分机、坐席未注册等)引起。需全面诊断,检查相关方面并修复。关注博主了解更多技术细节。
|
6月前
|
存储 安全 网络安全
okcc呼叫中心系统如何实现客户号码脱敏?
OKCC系统实现号码脱敏的关键步骤包括: 数据加密:使用加密算法对客户号码进行存储加密。 数据脱敏展示:在系统界面上用星号或其他字符替换号码的部分或全部数字。 权限控制:限制对敏感号码数据的访问权限,仅授权人员可查看。 审计日志:记录所有敏感信息的访问和操作日志,以便追踪。 安全审核:定期进行安全检查和渗透测试,确保脱敏措施有效。
|
6月前
|
缓存
okcc呼叫中心系统坐席账户显示离线状态要怎么设置
如果 OKCC 坐席账户显示离线状态,可以尝试以下解决方案: 1. 检查网络连接:确保你的设备已连接到稳定的互联网网络。检查网络连接并重试登录,确保网络连接正常,并且没有任何限制或故障。 2. 重新登录:尝试退出 OKCC 坐席账户并重新登录。有时候重新登录可以解决账户离线状态的问题。 3. 清除缓存和数据:进入设备的设置,找到 OKCC 坐席应用,清除其缓存和数据。然后重新启动应用并尝试登录。 4.查看当前坐席创建的数量是否已超出坐席授权数量。 5. 登陆客户管理员账户,设置->业务中是否勾选“不允许通过web修改坐席状态”的选项。 6. 更新应用版本:确保你的 OKCC 坐席应
|
6月前
|
人工智能 安全 Ubuntu
vos3000网络电话系统怎样搭建?外呼系统ai智能呼叫中心搭建
要搭建VOS3000网络电话系统,可以按照以下步骤进行操作: 获取VOS3000软件:首先,你需要从正规渠道获取VOS3000软件安装包。VOS3000是商业软件,需要购买授权。 准备服务器:你需要准备一台专用服务器,操作系统通常建议选择Linux,如CentOS或Ubuntu等版本。确保服务器具备足够的硬件资源,如CPU、内存和存储空间。 安装操作系统:在服务器上安装所选的Linux操作系统,并进行基本的系统配置和安全设置。 安装VOS3000软件:运行VOS3000软件安装包,按照安装向导进行安装。需要提供购买软件时获得的授权密钥。 配置网络和端口:在服务器上配置网络设置和端口,
|
6月前
OKCC呼叫中心SIP协议在语音通信的应用方式
OKCC呼叫中心SIP协议在语音通信的应用方式
|
网络协议 中间件 机器人
通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流
怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug 很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。
389 0
|
存储 数据采集 监控
okcc呼叫中心系统有什么优势
在随着企业的管理水平也在不断提高。企业经营管理中所涉及到的各种复杂问题都有逐渐凸显出来。传统的呼叫中心已无法满足企业服务需求和客户满意度变化的要求。因此通过呼叫中心系统将企业业务流程和数据整合起来进行管理和运营已经成为目前企业管理领域中较为流行和成熟之选。有关系统问题欢迎和博主交流。   优势一:提高工作效率 呼叫中心系统通过集成网络呼叫系统、电话、手机等各种通讯方式,实现客户的即时通讯和业务处理。并将多种业务流程集成到一起,提高了企业运作效率。同时各系统的通讯方式,为企业提供快速、灵活、可靠的信息沟通渠道,从而帮助企业实现了在用户需求发生时,能够及时、准确、有效地满足客户的需求。
下一篇
无影云桌面