通过freepbx搭建小型电话系统的过程

news/2024/10/4 22:01:15 标签: 数据库, 服务器, 运维

领导说公司的客服电话需要实现语音导航和非工作时间自动接听播放语音提示的功能。任务自然落到了伟大的程序员的头上,本着为公司节约成本原则遂百度了一番,找到了asterisk 和freeswitch两个比较流行的电话系统。经过对比和考虑公司的情况选择了asterisk系统并用freepbx作为gui管理界面。

安装系统

安装可以通过linux系统源码编译的方式安装也可以通过iso镜像的方式镜像进行安装,这里为了方便我就选择下载iso镜像的方式安装。

为了节约成本从公司找了一台淘汰的pc,主板最好是支持pic插槽。公司的电话线路是模拟线路,话机也是模拟话机,所以还需要一个语音卡这里我用的TDM410P四路模拟语音卡,两个fxo外线接口和两个fxs外线接口,可以从某宝上购买山寨卡。

下载过的iso镜像可以通过u盘启动或者刻录光盘的方式进行安装,首先进入电脑bios设置U盘或者光盘启动。开机进入系统安装界面:
 

image.png


安装的过程比较简单系统推荐的是安装asterisk13版本我直接安装的是asterisk16版本。选择你需要安装的版本直接一路回车就行了,全自动傻瓜化的安装
 

image.png


等待一会直到安装完成,会让你设置系统的root密码。密码设置完成会重启电脑就可以拔掉U盘或者光驱了。重启电脑输入用户名root和刚刚设置的密码进入系统。
 

image.png


在这里可以看到系统的ip地址,打开浏览器输入系统的ip进入web-gui界面。

配置过程

image.png


第一次进入会让你设置管理员的用户名和密码和一些初始化的防火墙配置,一路yes就行了,需要设置语音和时区的时候按照中国的设置就行了。点击FreePBx管理员选项,输入设置的用户名和密码进入系统
 

image.png


首先插入电话线到模拟语音卡,从运营商那边过来的外线接口模拟卡的fxo口这里我接的是1口,模拟话机的电话线接fxs口这里我接的是3口。然后配置模拟语音卡
 

image.png


点击连接选项卡下面的DAHDI配置切换到模拟语音板卡,这里第一次进来系统会有个提示要写入一些配置文件啥的,直接点击enable的就行了。
 

image.png


点击全局设置把语音设置为中文,其他选项默认就行了。点击板卡驱动加载参数设置把Opermode设置为中国,其他的选项默认。
然后需要创建中继,这里根据实际情况我这里是运营商的模拟线路所以选择通信接口连接选项卡下面的中继,选择添加DAHDI中继(有其他线路的可以选择其它中继)
 

image.png


中继名称随便取,呼出号码就填写运营商给的电话号码,DAHDI中继选择外线插入的接口,这里我的是第一个接口选择模拟通道1点击提交保存。
设置出局路由,点击通信接口连接下面的出局线路选项卡添加出局路由
 

image.png


线路名随便写,配置中继顺序选择刚才创建的中继,然后切到Dial Patterns选项卡
 

image.png


配置模式直接输入X.,最后点击提交保存。

设置分机,点击应用配置下面的分机选项卡,添加新的DAHDI分机
 

image.png


显示名也就是分机号码我这里设置的是111,然后切换到Other选项,通道选择话机插到板卡的接口我这里选择的是3
 

image.png


提交保存。

设置呼入路由,点击通信接口连接选项卡下面的入局线路添加呼入路由
 

image.png


描述随便写,设置目的地选择刚才创建的分机111提交保存。现在可以用分机打电话试一试,不出意外的话应该呼入和呼出都是可以的。

上传录音,可以找公司的小姐姐录好语音导航要说的内容和下班之后说的内容wav格式的就行。然后点击管理下面的系统录音选项卡添加录音
 

image.png


名称随便填,选择录音文件上传,点击提交保存。这一步需要把上下班的录音都上传。

设置公告,点击应用下面的公告选项卡点击添加
 

image.png


描述随便填,录音选择刚才上传的系统录音,设置目的地选择分机111,如果是下班时间不需要客服接听的话可以选择Play Recording选择上一步上传的录音。这一步创建两个公告,一个上班时间的选择分机接听的一个下班时间自动播放语音的。

设置上下班时间,选择应用配置下面的时间小组,添加时间小组
 

image.png


很简单设置好上班时间段就行了。

然后点击应用配置下面的时间条件设置添加时间条件控制
 

image.png


名称随便填,时区设置上海,时间小组选择上一步设置的时间小组,Destination matches选择之前创建的公告下面的上班时间的语音导航,Destination non-matches选择之前创建的公告休息时候自动接听的语音。

最后把时间条件控制设置到入局路由上,点击通信接口连接下面的入局线路,设置未知目的地为时间条件设置,提交保存就完成了。

这时候上班时间有电话进来,就会播放欢迎提示然后转接的客服分机,下班时间电话进来就会循环播放下班的语音提示,客服分机不会振铃

目前为止,领导的需求基本实现了。其实Asterisk的功能还是非常强大的,通过其强大的AGI和AMI接口可以用php java JavaScript各种编程语音对接内部的crm、客户等系统,轻松实现来电弹屏,和一些定制化的需求。


http://www.niftyadmin.cn/n/5690373.html

相关文章

论文翻译 | Language Models are Few-Shot Learners 语言模型是少样本学习者(下)

6 更广泛的影响 语言模型对社会有着广泛的有益应用,包括代码和写作自动补全、语法辅助、游戏叙事生成、提高搜索引擎响应以及回答问题等。但它们也可能有潜在的危害性应用。GPT-3在文本生成质量和适应性方面优于较小的模型,并且增加了区分合成文本与人类…

使用Qt实现实时数据动态绘制的折线图示例

基于Qt的 QChartView 和定时器来动态绘制折线图。它通过动画的方式逐步将数据点添加到图表上,并动态更新坐标轴的范围,提供了一个可以实时更新数据的折线图应用。以下是对代码的详细介绍及其功能解析: 代码概述 该程序使用Qt的 QChartView…

Java报错输出的信息究竟是什么?

Java报错输出的信息究竟是什么? 本篇会带大家了解一下java运行时报错输出的信息内容,简单学习一下虚拟机内存中Java虚拟机栈的工作方式以及栈帧中所存储的信息内容 异常信息 当你的程序运行报错时,你是否会好奇打印出来的那一大坨红色的究竟…

mysql安装及使用·1

mysql安装环境变量配置pycharm连接服务初步使用 1.略 2.安装mysql之后进入到bin目录下, 双击输入cmd进入控制台窗口,输入mysql -uroot -proot(配置的账户)进入mysql 配置系统变量 新增bin目录到path中,cmd测试 3.…

关于 JVM 个人 NOTE

目录 1、JVM 的体系结构 2、双亲委派机制 3、堆内存调优 4、关于GC垃圾回收机制 4.1 GC中的复制算法 4.2 GC中的标记清除算法 1、JVM 的体系结构 "堆"中存在垃圾而"栈"中不存在垃圾的原因: 堆(Heap) 用途:堆主要用于存储对象实例和数组。在Java中…

Spring Boot新闻推荐:实时数据处理

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

jmeter学习(2)变量

1)用户定义的变量 路径:添加-》配置元件-》用户定义的变量 用户定义的变量是全局变量,可以跨线程组被调用,但在启动运行时获取一次值,在运行过程中不再动态获取值。 注意的是,如果在某个线程组定义了全…

关于银联支付交易状态码的一些分析

目录 关于银联支付 一些准备 交易状态码的一些分析 小结 关于银联支付 目前B2C购物支付场景下,支付宝和微信的在线支付已经成为我们经常遇到的支付方式。另外,银联支付也是我们日常的一种支付方式,本文所指的银联支付即指中国银联网关支…