windows安装free switch教程,FreeSWITCH在全渠道呼叫中心的应用
windows安装free switch教程,FreeSWITCH在全渠道呼叫中心的应用FreeSWITCH具备媒体监播功能。利用FreeSWITCH的媒体监播功能,可以实现呼叫中心所需的监听、强插、耳语等功能。FreeSWITCH具备媒体处理功能,可以进行录音、放音、DTMF按键分析、产生DTMF按键的操作。利用FreeSWITCH的媒体处理功能可以实现呼叫中心系统中的IVR系统和录音系统的功能。软交换类型呼叫中心的系统容量,可以通过多台服务器集群的方式平滑扩展,可以满足大型呼叫中心对于容量和性能的要求,是呼叫中心技术的发展方向。我们可以用FreeSWITCH项目构建一个软交换类型的呼叫中心系统。下面来看一下FreeSWITCH中和呼叫中心相关的几个主要功能。FreeSWITCH首先是一个IP-PBX,具备类似交换机的语音交换功能。通过路由设置或程序控制,通过FreeSWITCH可以将客户拨打进的呼叫分配到指定的座席代表所在的话机终端。同样,座席代表也可使用话机终端通过Fr
全渠道呼叫中心经历了板卡、交换机、IP软交换等多种呼叫中心解决方案的应用与推广 至今已有20年产品的积累和案例。
全渠道呼叫中心,不仅支持传统电话、短信、传真、邮件接入,还支持目前市场主流的微信、webchat、APP、微博、QQ等多媒体渠道统一排队;不仅支持全渠道接入、ACD智能排队、CTI核心控制、人工坐席服务、录音质检、电话外拨、统计分析和系统监控等传统呼叫中心基本功能,而且支持智能语音导航、智能机器人、智能回访/电销、智能录音质检等智能化客户服务应用。
按照呼叫中心系统所采用的技术架构的不同,呼叫中心可以分为交换机、板卡式、软交换三种类型
软交换类型的呼叫中心系统基于VoIP技术,具备先天的分布式部署的优势,特别适用于座席分散、接入分散的呼叫中心。
软交换类型呼叫中心的系统容量,可以通过多台服务器集群的方式平滑扩展,可以满足大型呼叫中心对于容量和性能的要求,是呼叫中心技术的发展方向。我们可以用FreeSWITCH项目构建一个软交换类型的呼叫中心系统。
下面来看一下FreeSWITCH中和呼叫中心相关的几个主要功能。
语音交换功能FreeSWITCH首先是一个IP-PBX,具备类似交换机的语音交换功能。通过路由设置或程序控制,通过FreeSWITCH可以将客户拨打进的呼叫分配到指定的座席代表所在的话机终端。同样,座席代表也可使用话机终端通过FreeSWITCH发起呼叫,拨打客户的固定电话或移动电话。语音交换功能是构成呼叫中心接入平台最基本的功能。
媒体处理功能FreeSWITCH具备媒体处理功能,可以进行录音、放音、DTMF按键分析、产生DTMF按键的操作。利用FreeSWITCH的媒体处理功能可以实现呼叫中心系统中的IVR系统和录音系统的功能。
媒体监播功能FreeSWITCH具备媒体监播功能。利用FreeSWITCH的媒体监播功能,可以实现呼叫中心所需的监听、强插、耳语等功能。
电话会议功能在某类呼叫中心业务中(如:电话外语翻译),需要多方参与通话时可以使用FreeSWITCH所提供的电话会议功能实现。
电子传真功能FreeSWITCH支持收、发电子传真的功能,可以完全替代传统基于传真卡的语音板卡传真系统。
排队功能FreeSWITCH提供mod_fifo(先进先出模块)以及mod_callcenter模块用于实现呼叫中心的排队和ACD功能。当然,开发者也可以利用FreeSWITCH所提供的接口自己完成排队策略的控制模块。
FreeSwitch总体架构总的来说,FreeSwitch由一个稳定的核心(Core)及一些外围模块组成、这些外围模块根据其功能和用途的不同又分为Endpoint、Codec、Application等不同的类别。
FreeSwitch内部使用线程模型来处理并发请求,每个连接都在单独的线程中进行处理,不同的线程间通过Mutex互斥访问共享资源,并通过消息和异步事件等方式进行通信。这种架构能处理很高的并发,并且在多核环境中运算能均匀分布到多颗CPU或单CUP的多个核心上。FreeSwitch的核心非常短小精悍,这也是其保持稳定的关键。绝大部分应用层的功能都在外围的模块中实现。外围模块是可以动态加载(以及卸载)的,在实际应用中可以自加载用到的模块。外围模块通过核心提供的Public API与核心进行通信,而核心则通过回调(或称钩子)机制执行外围模块中的代码。
1. 核心FreeSwitch的核心是Core,它包含了关键的数据结构和复杂的代码、状态机、数据库等,这些代码只出现在核心中,并保持了最大限度的抽象和重用。外围模块只能通过核心代码提供的公共应用程序接口(Public API)调用核心的功能,因而核心运行在一个受保护的环境中。
2.数据库(DB)FreeSwitch的核心除了使用内部的队列、哈希表存储数据外,也可以使用关系型数据库存储数据。FreeSwitch默认使用的数据库类型是SQLite,是一种嵌入式数据库。由于SQLite会进行读锁定,因此在使用SQLite时不建议通过外部应用直接读取核心数据库。
除SQLite外系统也支持通过使用ODBC方式连接其他数据库,路MySQL、Oracle、SqlServer(需要改动一些代码)等。
3.公共应用程序接口FreeSwitch在核心层实现了一些Public API。这些Public API可以被外围的模块调用。核心的代码是任何模块都可以调用的。
4.接口FreeSwitch在核心中除了实现了大量的Public API供外围模块调用外,还提供了很多抽象的接口。这些接口对同类型的逻辑或功能实体进行了抽象,但没有具体的实现。具体的实现一般由外围的模块负责,核心层通过回调(钩子)方式调用具体的实现代码或函数。
5.事件除了使用Public API及接口回调方式执行内部逻辑和通信外,FreeSwitch在内部也使用消息和事件机制进行进程间和模块间通信。消息机制是完全内部的。事件机制既可以是内部使用也可以外部使用。当FreeSwitch内部状态发生变化或收到一些新的消息时,会产生一些事件。事件机制是一种“生产者—消费者”模型。事件的产生和处理是异步的,是一松耦合的关系。这些事件可以在FreeSwitch内部通过绑定一定的回调函数进行捕获,即FreeSwitch的核心事件系统会依次回调这些回调函数,完成相应的功能,另外在嵌入式脚本(如lua)中也可以订阅相关的事件并进行处理。
在FreeSwitch外部也可以通过Event Socket等接口订阅相关的事件,通过这种方式可了解FreeSwitch内部发生了什么,如当前的呼叫状态。