基于FreeSwitch自动外呼的探索

article/2025/10/19 0:05:59

一、    研究导读
随着近两年IP融合通信、视频通信、统一通信、云计算等新技术的迅猛发展,信息科技的快速增长以及电话外呼需求量的不断提升。由于传统的呼叫中心语音处理能力受限于硬件板卡,存在依赖硬件、成本高、维护困难、可扩展性不强等特点,特别是对于移动媒体的支持能力也十分有限,如何结合现有智能语音技术实施精准营销、提升个性化服务、智能有效的实施风险管控已成为行业内普遍关注的课题。
随着全IP网承载基于SIP协议通信的NGN框架建立和软交换技术的兴起,基于FreeSwitch为代表的软交换平台的呼叫中心不仅解决了板卡类型呼叫中心接入能力受限于硬件板卡的问题,同时还具备系统结构简单、部署灵活、成本低等优势。
本文以支持SIP协议的FreeSwitch软交换平台搭建自动外呼系统为例,展开分析及探讨。

二、    关键技术介绍

[1 ] 软交换概念
软交换是指将呼叫控制功能从媒体网关中分离出来,通过软件实现基本呼叫控制功能。主要提供连接控制、翻译和选路、网关管理、呼叫控制、带宽管理、信令、安全性和呼叫详细记录等功能。与此同时,软交换还将网络资源、网络能力封装起来,通过标准开放的业务接口和业务应用层相连,从而可方便地在网络上快速提供新业务。

[2 ] FreeSwitch介绍
FreeSwitch是一款开源的、跨平台的、伸缩性极好、免费的多协议的软交换平台。它可以运行于Windows、linux等多平台上,支持多种通讯技术标准,包括 SIP, H.323, IAX2 以及 GoogleTalk ,可以方便的与其他开源的PBX系统进行对接,控制语音播放等。

[3 ] FreeSwitch 通讯机制
交换机是呼叫中心的重要部件,CTI则是呼叫中心平台与交换机的核心控制部件, FreeSwitch交换机的ESL( Event Socket Library)提供了丰富的接口供CTI进行电话控制,以实现应用系统与pbx的通信能力 。


[ 4] ESL开发协议
FreeSwitch从启动到关闭过程中会产生大量的事件,而事件的监听都可以通过socket监听接口,去监听你想要的事件
FS事件大致分为几大类:
(1)    通道事件:比如通道建立事件
(2)    系统事件:比如发出命令事件,比如呼叫,播音,录音等功能
(3)    其他事件:比如api事件
(4)    自定义事件:比如可以根据自身需求定义事件
本系统基于JAVA语言同外界的所有接口的连接,基于ESL协议开发


[5 ] OpenSIPS介绍
OpenSIPS是一个成熟的开源SIP服务器,除了提供基本的SIP代理及SIP路由功能外,还提供了一些应用级的服务,主要作为SIP负载均衡代理和SIP注册服务器。

三、    系统功能实现
FreeSwitch具有很强的伸缩性,无论简单的软电话客户端,还是运营商级的软交换设备,FreeSwitch都可实现系统支持,几乎无所不能。今天我们重点讲述如何利用FreeSwitch平台搭建自动外呼平台来提高外呼效率,从而为业务提供更加值得依赖的呼叫中心服务。
1.原理简介


1)外呼系统选择客户联系方式,发起一个外呼任务。
2)    Outbound服务通过ESL 对FreeSwitch发起呼叫。
3)    FreeSwitch的mod_event_socket收到命令之后,调用mod_command的originate呼叫用户。
4)    被呼叫方接听电话后发送uuid_transfer命令接入到系统中,启动ivr引擎服务解析IVR流程,
5)    然后根据提示的语音IVR, 获得用户信息,结合AI技术实现人机智能交互。
6)    用户挂机后,FS发送挂机消息。
7)    Outbound服务监听CHANNEL_HANGUP通道挂机事件后,将外呼结果回调至外呼系统,回传至大数据分析

2.系统结构分析
以FreeSwitch为核心媒体组件,结合其他软件和设备,设计一种基于SIP协议的外呼系统,该系统选用OpenSIPS作为信令协议、注册、代理服务。其主要功能为接收终端的注册,处理交互控制信令,并协调终端之间的会话连接。终端则进行对语音流的采集、处理、发送、接收、播放,从而实现实时的、有效的外呼服务。FS通过开源MRCP协议unimrcp模块来对接第三方语音识别引擎,语音识别引擎包括科大讯飞,百度、阿里、腾讯等主流语音识别产品,并结合语音语义完成语音机器人开发。


1)多点通讯设计
由于单台FreeSwitch能够承载的外呼通话量有限,基于单台FreeSwitch建立的外呼系统能够承载的业务外呼数量也将因此受限。为规避该技术硬伤,所以外呼系统通过外呼通信服务OutBoundService(负责将外呼名单发送到FS)与FreeSwitch一对一的连接方式,多个OutboundService实例通过资源分配方式,获取自己对应的FreeSwitch服务,从而使外呼平台具有横向扩展能力,提高业务接入能力。

2)并发处理
平台设计为多实例分业务并发工作机制,主要解决了以下2个问题:
1)单台媒体服务器包括依赖服务,在4核8g内存虚拟机的配置下可以支持250-300通道,注册服务器主备HA设计,可通过增加媒体服务器来增加并发处理能力,最高单日外呼量可超过100000通
2)基于单个任务表任务筛选过程,随着业务数据量的增加,外呼数据筛选时间增加,同时其它操作超时的机率扩大。而基于分表的外呼任务筛选,能极大降低数据筛选耗时,同时减少对其它并发操作的影响。


3)快速部署
软交换平台通过服务器部署替代原有的供应商平台,在标准的虚拟机即可部署,无需额外硬件支持,成本较低。同时,平台在设计之初便充分考虑了现有的业务场景,以及外呼模式的未来发展方向,确保其通用性及可靠性。对外,平台提供标准的API接口,方便BU快速接入。对内,平台也有完善的监控系统,确保整体稳定。

四、    应用场景实践
现阶段软交换自动外呼的应用以及对于业务的负载已日趋成熟,主要囊括了服务、风控和营销在内的诸多业务场景。其中,服务类场景包括:账务信息播报、客户身份核实、客户关怀、客户满意度调查等;风控类场景包括:交易授权、交易风险管理、密码解锁等;营销类场景包括:交易/账单分期、万用金推荐、贷款分期、实体商品营销等。
对于每个不同的外呼场景,结合大数据进行行为分析,设定相对应的外呼触发规则和拨打策略对待外呼数据进行筛选、过滤、清洗和判断,完成精准外呼。整体流程透明化,业务也无需重新耗费大量时间去熟悉新的操作习惯。
项目可在两周之内完成从服务器部署,电话固件编译和更新,云平台部署虚拟化,全自动化部署。成本可节约60%,单日外呼能力可提高20%以上。
随着软交换的迁移,将会为越来越多的呼叫中心业务带来便捷以及工作效率的提升!相信还会有越来越多的功能扩展出来,快速响应新时代呼叫中心业务的需求。

五、    总结与展望
1.总结
外呼系统作为呼叫中心作业系统的一部分,集成了多种应用服务,也不断的将新技术融入其中,本文在FreeSwitch开源软交换的基础上完成了自动外呼的应用。从自动外呼功能应用场景实践可以看到,方案的优势在于不依赖交换机即可实现话务软交换,部署方便,平滑扩容,通过标准的虚拟机即可部署,无需额外硬件支持,成本较低以及对于业务的负载及扩展性也日趋成熟。
2.展望
呼叫中心外呼系统不是一个单一的系统,而是一个集成化非常高的系统。它涉及大数据分析,集合智能搜索、语义分析、声纹识别、逻辑推理等技术手段,任何一个模块技术的发展都可以大大的提高呼叫质量和效率。
借助日渐成熟的AI技术建设高效智能虚拟人工服务的自动化外呼系统,建立自动外拨+虚拟仿真人工智能应答模式,通过高效精准的客户行为分析及多项反欺诈技术的应用,不仅可以减少和优化人工处理环节,解放生产力,节省服务与营销人力资源投入,更可有效提升风控能力,促进客户体验。
--------------------- 
作者:hj550636459 
来源:CSDN 
原文:https://blog.csdn.net/hj550636459/article/details/83016139 
版权声明:本文为博主原创文章,转载请附上博文链接!


http://chatgpt.dhexx.cn/article/VgGUEDlK.shtml

相关文章

【医院呼叫系统】基于FPGA的简易医院呼叫系统实现

1.软件版本 quartusii12.1 2.系统设计概述 设计一个FPGA对LED进行静态和动态显示的数字时钟控制NBW-8路主机可接8个分机的系统。根据系统设计要求,系统的组成如框图,包括主机FPGA对LED进行静态和动态显示的数字时钟控制程序,以及各个分机电…

基于FPGA的呼叫设备verilog开发

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 随着集成电路技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字…

软件工程知识点总结

文章目录 一、软件工程概述1. 定义2. 软硬件失效3. 软件危机4. 软件工程三要素5. 软件工程目标6. 软件工程研究内容7. 软件工程知识体系 二、软件生命周期模型2.1 软件工程过程:PDCA循环2.2 软件生命周期 software life cycle2.3 过程模型(软件生命周期模…

呼叫中心系统开发php,呼叫中心系统

系统概述 呼叫中心系统是惟新科技自主研发的大容量、高性能呼叫中心系统,为用户提供语音、短信等信息服务。系统主要包括基本电话业务功能、队列排队功能、IVR自动语音导航、ACD智能话务分配、录音和语音信箱等功能,可提供标准的CTI开发接口,…

eyebeam电话呼叫软件使用及配置方法

特别说明:eyeBeam只是一个电话** 拨号 呼叫软件,他本身是打不了电话的,只是一个工具,换句话说,他相当于一个手机,手机本身是拨打不了电话的,需要一张电话号码卡,本文eyeBeam电话系统…

mysql数据流图怎么做_数据库设计--数据流图(DFD)

1、数据流图的定义 数据流图(DFD)是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程, 因为它仅仅反映系统必须完毕的逻辑功能。所以它是一种功能模型。 在结构化开发方法中。数据流图是需求分析阶段产生的结果。 ----百度百科 2、数据流…

教务系统数据流图

已知某教务系统的描述是,用户输入用户ID号及口令信息后,系统进行身份验证;系 统根据合法用户的功能请求进行分类处理。具体功能如下: (1)查询成绩:查询成绩以及从名次表中得到名次信息。 (2)学籍管理:根据学…

数据流图画法及示例

画法: 第0层DFD称为系统基本模型,可以将整个软件系统表示为一个具有输入和输出的黑匣子。用一个圆圈表示。 上一层DFD中的每一个圆圈可以进一步扩展成一个独立的数据流图,以揭示系统中程序的细节部分。 循序渐进继续进行,直到最…

数据流图概述与应用

数据流图(DFD)概述 数据流图(DFD,Data Flow Diagram)是软件工程结构化分析模型中的一种功能模型,用来描述系统中的数据处理过程。数据流图服务于两个目的:一是指明数据在系统中移动时如何被变换…

数据流图DFD画法

数据流图(DFD- Data Flow Diagram)让系统分析者弄清楚“做什么”的问题,其重要性就不言而喻了。那么我们怎么画数据流图呢?数据流图与系统流程图又有什么区别呢? 步骤1 数据流图里包含的内容 数据流图描述的是系统的逻…

java 数据流向图_数据流图懂不懂?

最近备战软考,复习到数据流图,学习成果与大家分享。 数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。(百…

软件工程:数据流图和结构图怎么画?

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,(ノ▽`)ノ♪-》点击这里->一个宝藏级人工智能教程网站。 文章目录 Step 1:根据软件的功能描述&a…

数据流图——从软考真题中学画数据流图DFD

文章目录 题目画顶层图画0层图解题技巧 题目 建议将题目复制到word后与此文分屏查看。后面需要多次查看题目。 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩, 其主要功能描述如下: 1. 每门课程都有3到6…

使用PowerDesigner绘制数据流图

一.使用powerDesign绘制数据流图 1.打开pd,选择createModel,接着选择Information,我们会看到Data Flow Diagram,选择它。 2.进入之后,这是我们看到的画图工具 3.如果我们不小心关闭了,我们可以这样设置 选择上方的too…

数据流图(DFD)

数据流图(DFD) 数据流图,简称DFD,是结构化分析方法SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。 下图是…

如何画数据流图

快速阅读 如何画数据流图,以及如何在visio2013中画数据流图。数据流图中各个园元分别代表什么含义。 什么是数据流图 DFD=data flow diagram 在系统设计阶段。是对将来要构建的系统提取一个逻辑模型的过程 。关注点是过程内数据的处理 标识图元有四个 ,分别是实体,过程,数据…

数据流图、数据字典

文章目录 数据流图数据流图的基本图形元素数据流图的扩充符号数据流图的层次结构分层数据流图的画法分层数据流图的审查数据流图平衡原则父图与子图之间的平衡子图内平衡 数据字典数据字典的内容数据词典管理加工逻辑的描述 答题技巧题目示例题目解题 数据流图 数据流图也称为数…

数据流图题目解析(一)

以2016 年下半年 软件设计师 下午试卷 试题一(15 分) 为例来解析 某证券交易所为了方便提供证券交易服务,欲开发一证券交易平台,该平台的主要功能如下: (1)开户。根据客户服务助理提交的开户信…

viso画数据流图

打开viso, 选择基本形状, 选择基本形状, 选择矩形, 输入字符Obj_a, 选择矩形, 输入字符中间, 选择矩形, 输入字符Obj_b, 选择矩形, 输入字符Obj_c, 选择折线,链接关联的矩…

数据流图

数据流图(DFD- Data Flow Diagram)让系统分析者弄清楚“做什么”的问题,其重要性就不言而喻了。那么我们怎么画数据流图呢?数据流图与系统流程图又有什么区别呢? 步骤 1 数据流图里包含的内容数据流图描述的是系统的逻…