APP下载

云端电话交换系统的设计与实现

2018-11-28卢智嘉曹永伟刘晓东

石家庄学院学报 2018年6期
关键词:鉴权原理图交换机

卢智嘉,曹永伟,张 晶,刘晓东

(1.石家庄学院 机电学院,河北 石家庄 050035;2.宣大高速公路管理处,河北 张家口 075000)

0 引言

回望过往百年的历史,通信对于人类社会进步以及经济发展的重要性已经不言而喻.为了节约有限的通信信道资源,交换机应运而生.使用交换机可以在单一信道中复用多用户的数据并进行传输.伴随着计算机技术的不断进步,程控交换机的容量及功能也不断增多.对于用户来说,每个用户可以自定参数来满足自己的需求.对于运营商来说,可以在后台交换数据中进行计费及流量控制等操作[1].就传统意义上的时分复用(TDM)程控交换机而言,端局与用户之间的线路使用铜缆连接,线路维护成本高昂.并且TDM交换机提供的业务已经无法满足现在日益增长的用户需求,所以近年来,我国各大运营商不断退网TDM交换机并将固话用户迁移至IP多媒体子系统(IMS)中以促进电视网、电信网、互联网的三网融合[2].

在目前三网融合的潮流以及如今大数据时代的背景下,本设计使用现场可编程门阵列(FPGA)、对象存储(OSS)、关系型数据库服务(RDS)及内容分发网络(CDN)构建了一个完整的电话交换服务器[3].该电话交换服务器可以通过一个在世界各地都有极低访问延迟的数据库来进行交换规则的确认.在专业教学领域中,本设计可以为通信专业、电子专业以及计算机专业的学生分别提供一个完整的交换理论、电子设计自动化(EDA)理论以及大数据理论的研究平台[4].在实际应用中,本设计可以为用户提供一个更加直观、便捷的电话业务服务.

1 系统方案的分析与确定

本系统接入层上使用传统用户线接口电路(SLIC)接入普通的模拟电话业务(POTS)固定电话;在承载控制层上使用FPGA进行交换逻辑的控制;在会话控制层上,使用ESP8266与服务器的80端口进行对接;在应用层上,使用数据库进行业务的分发.通过构建一个两用户(可扩展为多用户)的交换模型,完成对整个电话交换服务器系统的设计[5].硬件方面,使用XZXM100型号SLIC用户线接口电路结合MT8965脉冲编码调制(PCM)编解码器(CODEC)芯片将公共交换电话网络(PSTN)电话机传输的模拟信号采样量化为PCM数字信号.使用FPGA对数字信号进行存储及转发控制,并为MT8965芯片提供基本时序及同步时序,此外还可以生成不同通断时间的25 Hz铃流信号以及450 Hz的拨号音信号.使用MT8870芯片对PSTN电话机生成的双音多频(DTMF)拨号音进行读取,并使用ESP8266与远端服务器进行鉴权,并通过鉴权结果控制交换核心对存储的语音信号进行交换.最后在远端服务器中,部署Linux系统下Nginx+MySQL+PHP网站服务器架构(LNMP)环境对用户业务数据进行存储[6].使用HTML5技术编写用户信息管理的前端界面[7],用户可以办理通话业务、查询通话记录、完成账户充值等多项操作.该云端电话交换系统组成示意图如图1所示.

图1 云端电话交换系统组成示意图

在图1中,FPGA交换单元作为本地硬件交换核心,可以交换多个用户之间的话音信号.在未来还可以通过接入网关(AG)接口连接至运营商网络.FPGA交换单元在语音交换时,会根据用户的请求去上传至业务服务器进行鉴权及验证.同时业务服务器开放了80端口供用户进行查询业务、办理业务及充值缴费等操作,并可以搭配OSS对象存储及CDN分发网络在全球范围内提供低延时的访问体验.

2 系统硬件核心及外围电路

根据系统所确定的方案,对目标方案所涉及到的 SLIC、PCM CODEC、DTMF 信号接收器、FPGA、无线网络(WLAN)接入点和硬件供电电路等交换核心模块及其外围电路进行介绍.

2.1 SLIC

SLIC主要完成用户线与交换机之间的连接.其主要为用户线提供馈电、过压保护、振铃、监视、编解码、2/4线转换及测试7大功能.在本系统设计中,使用XZXM100模块作为该电话交换器的SLIC.图2为XZXM100模块在本系统应用中的连接原理图.

图2 XZXM100模块连接原理图

图3 MT8965电路原理图

图4 MT8870电路原理图

在图2中,P1插槽作为用户电话线的接口,FR RMSHK作为用户电话机的监控线,连接至FPGA交换单元.VIN VOUT作为用户电话机的话音输出及输入接至PCM CODEC芯片.此外根据模拟电路常识,在引脚9和引脚10与PCM CODEC接线处串联电容以消除两芯片之间的串扰,并且在电源阳极和地之间并联电容以消除谐波.

2.2 PCM CODEC

CODEC可分为硬件CODEC和软件CODEC.CODEC混合了编码器(ENCODE)和解码器(DECODE)两种设备的功能,可以对模拟音频进行编码,并可将数字音频进行解码.在本设计中,使用MT8965型PCM CODEC进行数字信号及模拟信号的相互转换.图3为MT8965芯片在本系统设计中的原理图.

在图3中,Vref是基准电压芯片生成的基准电压,其值为2.5 V.并且在模拟地与数字地之间串联0Ω电阻以隔离数字电路中的高频谐波分量.原理图中DSTi0及DSTo0为MT8965生成的一条PCM复用线,用于连接至FPGA交换单元.VIN及VOUT为话机的话音输入及输出端.此外,该PCM CODEC芯片还需要复杂的时序控制,所以该芯片的时序控制都交由FPGA来管理.

2.3 DTMF信号接收器

DTMF是电话机按键所产生的信号音.每一个按键都会产生两种频率的声音叠加并送至听筒及发送线路.远程交换机通过使用滤波器来隔离高频音及低频音再进行比较得出用户所拨打的号码.本设计使用MT8870作为DTMF信号的接收器.

图4为MT8870的电路原理图.为使MT8870正常工作需在OSC1及OSC2引脚之间串联一只3.5795MHz的晶振以使用比较法检测传入的DTMF信号.并在EsT引脚串联一个300 kΩ的限流电阻接入VCC使信号被检测到便可以直接输出对应二-十进制代码(BCD)码至核心交换单元.此外,语音信号输入端还需要增加一个100 nF的电容来隔离直流分量.

2.4 FPGA

FPGA是一种特殊的专用集成电路ASIC.在本设计中,FPGA主要为系统提供精确的时钟信号,包括PCM CODEC芯片的2.048 MHz采样时钟及64 kHz的同步时钟,以及生成25 Hz的铃流、450 Hz的拨号音、1 s通3 s断和0.35 s通0.35 s断的定时信号,另外还包括串并转换、话音存储及交换控制等功能.由于不需要使用过多的逻辑控制门阵列及存储内存,所以使用入门级Altera Cyclone IV系列EP4CE6E22C8型号FPGA进行编程控制.

2.5 WLAN接入点

本设计需要接入互联网,所以需要使用网络接入模块进行互联网连接.比较有线与无线两种接入方式,为了实际使用的方便,选择无线方式接入互联网.通过比较各种无线网络接入点硬件,决定使用ESP8266模块接入互联网.该设备为Arduino平台硬件,支持802.11协议的无线Wi-Fi传输[8].

图5 交换核心符号图

3 交换核心设计

交换核心为该硬件交换单元的心脏,其主要功能为协调其他原理模块的工作状态以完成诸如提供振铃、馈入忙音、建立通话线路等操作.图5为该交换核心的符号图.

交换核心本质上是一个状态机,其中主要分为:等待摘机状态、拨号状态(有拨号音)、拨号状态(无拨号音)、鉴权状态、呼叫状态、通话状态、忙音状态.

在交换核心上电后核心开始监视用户线路的用户摘挂机状态,当有用户摘机后,交换核心返回拨号音并开始进行收号工作,在收到来自该摘机用户的DTMF的信号后停止话音线路中的拨号音传送.当完成3位的DTMF信号的传入后,交换核心使用鉴权核心连接到数据库进行鉴权,若鉴权通过则向被叫用户振铃并向主叫用户发送呼叫音;若鉴权失败则返回忙音.当交换核心检测到被叫方摘机时,交换核心进入通话状态,控制两用户进入通话状态.待有一方用户挂机后,向另一用户馈入忙音,并等待所有用户挂机来完成一组通话的流程.图6为该交换核心的工作流程图.

该部分采用超高速集成电路(VHDL)语言描述.本核心通过控制不同状态下的波形发生器、铃流控制器、拨号音控制器、串并转换器、PCM CODEC时序控制核心、随机存储器(RAM)等器件的工作共同完成了交换机的硬件交换功能.

鉴权核心为一枚ESP8266模块.该模块通过读取当前FPGA交换核心中状态机的状态,并完成收号、鉴权及鉴权结果返回.该模组运行802.11协议,支持TCP/IP,可以与远端服务器进行HTTP请求.

该硬件系统鉴权原理为:ESP8266通过读取MT8870芯片的收号结果,将读取到的3位号码编入请求链接中,并将该链接包装在应用层的HTTP报文中以GET形式与远方服务器进行通信,待远端服务器处理请求后便会返回至本地处理结果.ESP8266通过返回的结果返回动作至FPGA交换核心.

当服务器返回ACCESS时,表示鉴权通过,在被叫方摘机时,ESP8266会发送记录通话请求,将主叫方与被叫方发送至服务器.在一方挂机通话结束后,发送通话结束给服务器,以使服务器进行话费扣缴、通话时间记录的请求.

当服务器返回DENY时,表示鉴权失败.交换核心根据当前主叫方返回忙音.

图6 交换核心工作流程图

4 业务分发网络及服务器端设计

4.1 虚拟专用服务器(VPS)

目前主要的网络服务器有实体服务器、传统虚拟主机、VPS三种.实体服务器顾名思义其服务器拥有着独立现实的硬件资源及网络资源,其硬件升降配置更加自由,实现的业务种类最为全面.但同时,其资源并不能完全利用,在访问的低谷时段更易造成功耗的浪费.传统虚拟主机是在一台硬件服务器上利用超线程技术将一台服务器虚拟为多台服务器的技术.

通常,多个传统虚拟主机公用内存、中央处理器(CPU)、网络等资源,同一台硬件服务器的不同虚拟主机使用同一个IP的不同端口来加以区分,这导致其站点隔离性非常差.而VPS则是根据现有CPU虚拟化技术而开发出的新一代服务器,每一个实体服务器可以分割为多个VPS,并均配置独立公网IP,用户之间是操作系统级的隔离,都占资源且不会被其他用户影响.使用VPS可以减少公司企业在网络设备机房上的投入,并且可以在不同时期根据不同要求在VPS供应商处自由升降服务器配置以达到最优的速度及价格比.

在本设计中,使用Aliyun公司的弹性计算服务(ECS)型VPS,其公网IP为:39.106.32.111.独立使用1核处理器、2 GB内存及1 MB带宽.安装Ubuntu16.04×64操作系统,Linux内核版本 linuxkernel4.6.2,php版本7.1,预装Mysql数据库服务及Apache HTTP服务.在全球各DNS中绑定域名:http://www.sakuraspirit.info.

为了保证多地域用户并发浏览官网及管理系统的速度,对网页中占用带宽较大的图片、CSS样式表等元素使用OSS技术和CDN来进行分布式存储及发放.为了提高数据库的安全等级,使用关系型数据库服务(RDS)将数据库迁移至另一台独立服务器,RDS也叫做云数据库.

4.2 RDS

RDS是一种稳定、高效、快速的在线数据库业务.由于企业场景中庞大的数据库结构以及数据复杂性,所以使用RDS可以更好地优化存储服务、提高读写速度及分析速度,进一步降低了企业内部机房的配置要求.

在本设计中,使用Vultr公司的一台512 MB内存的VPS模拟RDS环境.其公网独立IP为144.202.6.248.

4.3 OSS

OSS是一种基于离散单元的存储方案.这些离散单元也被称作对象.在这种服务中,容器被称作Bucket.在每个Bucket中不会再有传统存储中的树状层级结构.这些对象以其扩展数据元作为特征,每个对象都将被分配一个唯一的标识符,使得用户或服务器可以直接检索对象而不必知道数据的物理地址.

在云计算中,这种方式很好地解决了文件管理中所产生的碎片化问题,可以很好地简化服务器端本地存储空间,并且由于OSS存储空间的冗余备份机制,这些文件存储在对象存储服务中不仅可以保证数据的可靠性,也可以结合CDN分发网络完成最快的文件读取.

4.4 CDN

CDN是将源站内容分发至最接近资源请求用户的节点的一项网络加速技术[9].用户可以根据地理位置就近从一个低延迟的节点上的缓存中取得目标服务器中的数据.使用这项技术并搭配OSS对象存储服务可以使企业用户减少对各地机房的投资,进一步降低网络运维成本.

4.5 用户交互界面设计(HTML5+CSS3)

HTML5为HTML的第5代版本,其最为惊艳的两点是加入了服务器推送及CSS3特性.服务器推送技术主要体现在Server-Sent Events和WebSockets上,有了HTML5网页服务器可以远程将内容推送至用户.相比上一代,网页不再静态.另外,HTML5中的CSS3有着更加丰富的风格及效果,使用单一HTML便可以将视觉效果极强的网页适配至各种尺寸分辨率的设备上.

通过使用HTML5及CSS3样式表,用户交互界面将更加绚丽多彩.并且用户浏览器可以读取CSS样式表文件来根据自身设备分辨率来将各项组件分配至不同的页面区域,使得网页不仅可以在电脑端适应鼠标的操作,也可以在手机端完美适配触屏的操作.图7为本系统设计主页.

图7 系统主页设计

5 结论

使用FPGA+ESP8266+VPS+OSS+CDN技术,成功地设计实现了一个完整的云端电话交换系统.在这个交换系统中,电话用户之间根据保存在云端服务器中的用户数据进行交换规则的确立.并且对于每一个用户都拥有自己的单独的账号和密码,可以在网页端进行业务的调整更改和通话记录的查询.通过实际调试,成功地实现了一个小型的电话交换系统的基本功能.在未来,本设计还有很大的完善空间,诸如增加AG接口连接至目前的IMS网络来跟随当今时代下三网融合的潮流.本设计可以为企业用户提供一个更加廉价、稳定、不间断的云端电话业务服务.

猜你喜欢

鉴权原理图交换机
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
修复损坏的交换机NOS
使用链路聚合进行交换机互联
移动网络用户频繁鉴权问题的优化方案探讨
PoE交换机雷击浪涌防护设计
基于小型核心网的LTE鉴权的一种新实现
关于EDA教学中Quartus II原理图输入法的探讨
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700