(系统工程专业论文)基于面向对象技术的电话语音卡CTI系统设计.pdf_第1页
(系统工程专业论文)基于面向对象技术的电话语音卡CTI系统设计.pdf_第2页
(系统工程专业论文)基于面向对象技术的电话语音卡CTI系统设计.pdf_第3页
(系统工程专业论文)基于面向对象技术的电话语音卡CTI系统设计.pdf_第4页
(系统工程专业论文)基于面向对象技术的电话语音卡CTI系统设计.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(系统工程专业论文)基于面向对象技术的电话语音卡CTI系统设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 计算机电话集成( c t i ) 技术,是指通过软件、硬件接口及控制设备把电话通信 和计算机信息处理技术集成在一起,以实现对话音、传真和数据通信的相互控制和 综合应甩,旨在把电话通信功能和计算机的数据处理功能融合在一起,以便提供增 值通信能力的一种技术。在通常的基于电话语音卡的c t i 系统的开发中存在着两个 问题。 首先,由于至今还缺乏一个能够被广泛接受的c t i 标准,所以不同语音卡厂家的 产品之间是不兼容。一个针对某个厂家语音卡的程序无法用在另一个产家的语音卡 产品上,这样开发者不得不分别为各个厂家开发类似的产品。 其次,c t i 系统开发中的核心问题是f s m ( 自动状态机) 实现,通常的解决方法 是使用事件驱动表的方法实现的,是一种面向过程的开发方法。这种方法导致逻辑 层与c t i 功能层之间存在紧耦合,代码复用性低。j 本文首先介绍了电话语音卡相关基础知识以及面向对象技术的基本概念,然后以 b r i d g e 模式为主,综合运用多种设计模式,在用户与各种电话语音卡之间抽象出一 个负责调用相应驱动程序实现具体功能的中间层,实现了基于电话语音卡开发的产 家无关性。并且完成了对于东进公司d 1 6 0 a 电话语音卡的该中间层实现。 再则,本文根据f s m 自动状态机的数学描述,在s t a t e 模式的基础上,运用面向 对象技术,解决了事件驱动表的封装、消息事件的获取、消息事件的分配、消息事 件的处理以及复杂情况下状态的跃迁等问题,提出了一个完整的面向对象的自动状 态机解决方案。f 并且在此基础上,实现了空闲、播放、监听以及录音等基本状态的 封装,开发出了一整套针对语音卡c t i 系统的c + + 类库,具有良好的可扩充性。 运用这套类库,客户可以轻松的实现各种c t i 功能,把精力集中在c t i 系统的 具体的业务逻辑上,大大的降低了开发成本;同时设备无关性又大大的降低了c t i 系统使用者的硬件成本。、 、, 关键词:c t i ;电话语音卡;面向对象:设计模式;f s m ;状态跃迁 ,一 r 一一 a b s t r a c t t h e c o m p u t e rt e l e p h o n y i n t e g r a t i o n( c t i ) t e c h n o l o g yi n t e g r a t e s t h e t e l e c o m m u n i c a t i o nt e c h n o l o g ya n dt h ec o m p u t e rt e c h n o l o g yb ys o f t w a r ei n t e r f a c e s , h a r d w a r ei n t e r f a c e sa n dc o n t r o ld e v i c e ss oa st o i m p l e m e n ti n t e r a c t i v e c o n t r o l sa n d c o m p r e h e n s i v ea p p l i c a t i o n si nr e l a t i o nt ot e l e p h o n yv o i c e ,f a xa n d d a t ac o m m u n i c a t i o n i t i sau s e f u lt e c h n o l o g yt oi n t e g r a t et h ep h o n yc o m m u n i c a t i o na n dc o m p u t e r s d a t ah a n d l i n g a n d p r o v i d e m o r ea b i l i t i e st oc o m m u n i c a t i o ns e r v e r s t h e r ea r et w os h o r t c o m i n g si nt h ed e v e l o p m e n to fc t is y s t e mb a s e do nt e l e p h o n y c a r d f i r s t l y , v a r i o u st e l e p h o n yc a r d sm a d eb yd i f f e r e n tf a c t o r i e sa r e n ti m p o r t a b l ee a c h o t h e r , b e c a u s eo fn oaa c c e p t e d a b r o a ds t a n d a r d a na d p l i c a t i o nb a s e do nac e r t a i n t e l e p h o n yc a r dc o u l d n tb eu s e do na n o t h e rt e l e p h o n yc a r d ,s o t h ed e v e l o p e r sh a v et o d e v e l o pl o t so f s i m i l i t u d ea n db o r i n ga p p l i c a t i o nf o rv a r i o u sc a r d s s e c o n d l y ,t h ek e yf o r d e v e l o p i n gac t is y s t e mi st h ei m p l e m e n t o f f s m ( f i n i t es t a t em a c h i n e ) ,w h i c hi ss o l v e d w i t ht h ee v e n t d r i v e nt a b l eu s u a l l y i ti s ac o n v e n t i o n a lm e t h o db a s e do no r i e n t e d p r o c e s s ,w h i c hr e s u l t si ns t r o n gc o u p l i n gb e t w e e nt h el o g i cl a y e ra n dt h ec t il a y e r i t s n e a r l yi m p o s s i b l e t or e u s et h eo l d e rc o d e s n l ep a p e ri n t r o d u c e ss o m eb a s i ck n o w l e d g ea b o u tt h et e l e p h o n yc a r da n ds o m e c o n c e p t so fo o t ( o b j e c to r i e n t e dt e c h n o l o g y ) f i r s t l y , t h ep a p e rc o n s t r u c t sa na b s t r a c t m i d d l el a y e rb yw h i c hu s e r sc a n c a l la p it oi m p l e m e n tc o r r e s p o n df u n c t i o n ,w i t ht h e b r i d g ep a t t e ma n d s o m eo t h e rd e s i g np a t t e m s oi ti sp o s s i b l et h a tt h ed e v e l o p m e n tb a s e d o nt h et e l e p h o n yc a r di si n d e p e n d e n c ew i t ht h et e l e p h o n yc a r d sm a n u f a c t u r e r d e p e n d i n g o no o t , t h ep a p e r e x p a n d s t h es t a t ep a t t e r na n ds o l v e ss o m e p r o b l e m s ,s u c h a st h ee n c a p s u l a t i o no f t h ee v e n td r i v e nt a b l e ,h o wt og e tm e s s a g e s ,h o wt o d i s p a t c hm e s s a g e s ,h o wt o d e a lw i t hm e s s a g e sa n dt h es t a t e st r a n s i t i o n a n di tb r i n g s f o r w a r dai n t e g r a t e do b j e c t o r i e n t e ds o l u t i o nt ot h ef s m i te n c a p s u l a t e ss o m eb a s i c s t a t e so b j e c t ss u c ha sf r e es t a t e ,p l a y i n gs t a t e ,l i s t e n i n gs t a t ea n dr e c o r d i n gs t a t ee t c a e x t e n s i b l ee a s i l ya n di n t e g r a t e dc + + c l a s sl i b r a r yi sd e v e l o p e df o rt h ec t is y s t e m b a s e do n t e l e p h o n y c a r d s i ti sv e r ye a s yf o ru s e r st oi m p l e m e n tv a r i o u sc t if u n c t i o n sb y u s i n gt h ec l a s sl i b r a r y t h e r e f o r e ,u s e r sc o u l dp a ym u c ha t t e n t i o no nt h es p e c i f i cc t i s y s t e m sb u s i n e s sl o g i c i nt h er e s u l lt h ed e v e l o p m e n tc o s tc o u l dd e c r e a s em u c h a n dt h e i n d e p e n d e n c e o nd e v i c e sa l s or e s u l t si nt h ed e c r e a s eo f u s e r s h a r d w a r ec o s t k e yw o r d s :c t i :t e l e p h o n yc a r d ;o b j e c t o r i e n t e d ;d e s i g np a t t e r n ;f s m ; s t a t et r a n s i t i o n i i 华中科技大学硕士学位论文 1 1 问题的提出 1 绪言 所谓计算机电话集成( c t i ) 技术,是指通过软件、硬件接口及控制设备把电话 通信和计算机信息处理技术集成在一起,以实现对话音、传真和数据通信的相互控 制和综合应用,旨在把电话通信功能和计算机的数据处理功能融合在一起,以便提 供增值通信能力的一种技术”4 计算机电话起源于本世纪6 0 年代计算机的推广,尤其是数据通信技术和语音合 成技术的发展促使c t i 技术得到迅速发展和应用。用户可以借助这种技术把电话呼 叫控制、传真收发、数据库查询、话音信箱等结合起来,在普通办公环境下就可实 现,而无需购置复杂的硬件设备。企业集团可以利用c t i 应用技术实现信息和设备 资源的共享,根据需要在呼叫控制中心加装各种c t i 功能软件包,处理来话、智能 选路、处理传真、文本信息、各种消息等信息,在一个通用平台上直接接入话音、 文本、传真、数据或视频信息,甚至于通过寻呼等其它个人通信手段,将这些信息 发送出去。 计算机电话集成( c t i ) 技术语音处理市场和呼叫处理市场上掀起了一场革命, 因为它正改变我们获取信息和进行交往的方式和方法。在过去的几年中,美国 d i a l o g i c 、m i c r o s o f t 、n o v e l l 和n a u r a lm i c r o s y s t e m s ( n m s s ) 等公司纷纷参与了计算机 电话市场的竞争,国内也涌现出深圳东进、北京五月鑫、杭州三汇等有实力的语音 卡厂商占据了相当的份额。 在c t i 应用中涉及到计算机应用中的各个方面,而电话语音技术是其中的核心, 因此就必须利用各种驱动程序接口( a p i ) 来构建自己的应用系统。由于各个设备供 应商都提供自己的a p i ,用户不得不针对不同的厂家开发相同的功能。这样就存在着 很大局限性:一个针对某个厂家语音卡的程序无法用在另一个产家的语音卡产品上; 并且使用a p i 编程使得c t i 功能模块与应用逻辑模块交织在一起,程序源码可重用 性很低,总是需要另起炉灶,造成了极大的浪费。所以开发一种支持多平台、易扩 充的通用语音卡c t i 系统开发模块是非常具有应用前途的。 1 2 国内外相关领域的发展现状与前景 目前m i c r o s o f t 、n o v e l l 、s u n 等公司分别推出了自己通用语音卡程序a p i 接口, 试图制定c t i 开发领域标准,以实现设备无关性。其中m i c r o s o f 【推出的基于c o m 华中科技大学硕士学位论文 技术实现的t a p l 3 0 把传统的电话技术和i p 电话技术完美的结合起来,成为c t i 技 术的一种发展趋势,引起人们的广泛关注,而设备供应商也表现出极大的兴趣。美 国m u s i c t e l e c o m 公司所生产语音板卡支持从t a p i1 0 到t a p l 2 2 ,并首先宣布全面 支持w i n d o w s2 0 0 0 和t a p i3 0 。而s u n 公司的j t a p i 以及n o v e u 公司的t s a p i 也 各具特色,能够满足不同用户的需求。中企时空网的“c t i 应用程序接口分析与比较” ”“,对此具有深刻地分析。 北京邮电大学的李蕾、张琳在c t l 论坛发表的“c t l 中的a p i 标准:t a p i 与t s a p i 之比较”针对t a p i 与t s a p i 做出了相应的探讨。但是由于各个标准之间的不兼容, 以及没有哪个标准能够占有绝对优势,所以现在所有国内的语音卡厂家都不能支持 t a p i 等标准。所以在标准广泛实现之前,开发者还是不得不面对不同厂家的a p i 。 在实现c t i 功能与业务层分离方面,c i s i o 、a v a y a 、青牛以及华呼等国内外公司 分别推出了自己的c t i 中间件。客户可以通过购买c t i 中间件来分离c t i 系统中的 l i n k 层、a p i 层以及应用层,使得具体的业务层通过通用的应用层实现。然而对于 中小型系统开发,使用中间件代价太高。 实现c t i 系统的抽象功能模块关键在于自动状态机的实现上,邓志洪张治国在 有限状态程序模型及应用e 5 6 中提出了运用状态表的方法描述有限状态机;林福 海在面向对象的有限状态机设计实例口2 】中针对一个简单的实例,运用面向对象 的方法实现了一个自动状态机的模拟,但是该例过于简单,没有实际意义,而且可 扩充性很差,难以在实际中应用;华中科技大学电信系肖小红等在基于c t i 开放 平台的呼叫中心的设计和实现口5 - - 文中提出了基于事件驱动机制的有限状态机模 型实现;国防科大的刘忠、邓芬等在基于状态图的对象行为建模提出了运用u m l 语言为自动状态机进行对象建模【4 ”。面向对象设计经典著作设计模式中s t a t e 模 式解决了简单的通用自动状态机实现问题”】。 总之,目前国内基于语音卡的c t i 系统开发主要是运用传统的面向过程的方法, 通过事件驱动,实现自动状态机模型;而国外的厂家主要把精力集中在c t i 系统通 用a p i 的标准之争和中间件的开发上:对于中小型企业缺乏一种兼容多个产家的、 基于面向对象技术和事件驱动机制又能够简单有效地描述自动状态机、容易扩充的 解决方案。 1 3 本课题完成的主要任务 本课题根据自动状态机的数学描述,运用多种设计模式实现了设备无关性,开 发出了基于面向对象技术和事件驱动机制的语音卡c t i 系统开发包,实现了自动状 态机的通用面向对象解决方案。使得无论在什么厂家的语音卡产品上都可以直接运 用这套解决方案,轻松而高效的开发出基于语音卡的c t i 系统。 华中科技大学硕士学位论文 2 c t i 系统概述 无可争议,电话与计算机是对我们日常生活的方方面面有着最为深远影响的两 项科学技术。他们也是任意规模的商业活动的核心,众多的社会机构正是因为这两 项科技而得以生存。事实上可以这么说,正是这两项科技结合了基于信息的现代经 济体系。c t l ( c o m p u t e rt e l e p h o n yi n t e g r a t i o n ) 技术,使得这两项科技融合,实现了两 者间的最佳协调。 在过去,电话技术领域和计算机技术领域一直是彼此分离的,通过c t i 技术将 这两个领域内的产品、服务和系统有效的结合起来,而不是简单的累加。c t i 允许我 们改进原先的方案,从而使得我们对这些技术的应用达到传统应用所不能达到的效 果。 2 1 什么是c t i 所谓c t i ( c o m p u t e rt e l e p h o n yi n t e g r a t i o n ) ,就是计算机电话集成,简单地讲就是 将电话系统和计算机网络连接起来的技术,其目的是消除电话与计算机之间的界线。 它并不是指这两种技术在物理上的简单综合,而是指通过软件、硬件接口及控制设 备把电话通信和计算机信息处理集成在一起,实现对话音、传真和数据通信的相互 控制和综合应用,再把电话通信功能和计算机的数据处理功能融合在一起,提供增 值通信能力的一种技才岩”主要包括3 个方面的功能: 呼叫控制呼叫控制的功能在于监测和控制电话呼叫、交换特征和状态以及 呼叫路由设备,并合理利用包括音频发生器、音频监测器在能的所有交换网 络资源。 电话控制电话控制的功能是监测和控制电话机,使之成为计算机的外部设 备。 媒体捆绑媒体捆绑时间电话和其它媒体服务如语音处理、传真处理、视频 会议或电信等等连在一起。 c t i 即通过和电话系统内部已有的可用电话资源之间的相互作用来实现上述各 个领域中功能。一个给定的c t i 产品可以提供一种或者两种,甚至是三种领域的所 有功能。 华中科技大学硕士学位论文 2 2c t i 系统特点 cti 的特点就在于它能够充分利用计算机的信息处理能力,以较简单的技术实 现方式提高电话通信功能,并能充分利用数据库在用户端实现部分智能网业务众 所周知,计算机对信息的控制、处理和存储功能是极强的c t i 系统能把计算机的这 些特点结合到电话通信中,就可以提高对通信的控制能力,实现高效、灵活的通信 业袋钉 cti 的另一个特点就表现在对通信的控制上和与数据库的结合上它一方面可 以利用pc 机或各种服务器来控制电话或pbx 的通信,另一方面它可以调用数据 库中的有关信息,或是把呼叫信息存储在数据库中,通过打印机打印出各种通信统 计报告,还可能利用计算机管理呼叫、控制各级通信、管理通信费用,”。 2 3c t i 系统应用 随着cti 技术的飞速发展,应用功能也从简到繁,越来越强,主要集中在以下 几个方面。 2 3 1 呼叫控制 所谓呼叫控制就是通过应用编程接口( a p i ) 把个人计算机( pc ) 或局域网服 务器和电话或pbx 、局设用户交换机( c e n 廿e x ) 相连,利用计算机或局域网服务 器对电话呼叫进行控制和处理,把话音、数据和传真通信等结合在一起。通过计算 机可以监测和控制电话呼叫以及与这个呼叫相互作用的电话系统特征:追踪所有发 生的呼叫行为,并能感知到所有特征量中的任何一个的改变;并且可以根据电话的 呼叫情况、系统特征和所有相关电话资源的状态来对电话系统发出指令,使它按指 令工作”通过a p i 接口所实现的呼叫控制功能不仅包括那些通过电话机使用电话系 统的用户所需要的电话功能,也包括那些只有计算机监测和控制应用时才需要的功 能。 根据控制对象的不同,呼叫控制可以分为两种,即第一方( 主叫) 呼叫控制和第 三方呼叫控制( 主叫和被叫以外的第三方) o l 一。 第一方呼叫控制 第一方呼叫控制以最终用户为对象,通过电话应用编程接口,把电话机直接和台 式个人计算机综合在一起,利用p c 机控制电话的呼出呼入,处理来话,控制调制解 调器卡、传真卡、声卡、i s d n 接口及其它通信外设,同时伴随有屏幕显示。也就是 4 华中科技大学硕士学位论文 说p c 机的用户自己可以直接操作p c 机来实现对电话操作。主要可以实现如下功能: 对身份识别代码的处理,快速拨号和呼叫转移,具有登录应答的功能,并访问预 先编制好的电话号码簿数据库:在同一根电话线上发送接收话音、传真、数据、语 音信箱和电子邮件,从屏幕上监察跟踪某一个呼叫;还可以设定参数,对各种通信 进行统计管理,例如不同时间段的通信统计、线路状态统计,甚至进行语音识别; 远地呼叫自己的p c 机,对p c 机下指令,令其完成某项工作,例如打印报告、发传 真、查看电子邮件。 第三方呼叫控制 第三方呼叫控制是面向交换的,以服务器为基础应用于呼叫中心( c a l lc e n t e r ) , 包括处理呼叫应答,访问、处理和分配数据库信息,通过局域网服务器来控制用户 的需求和其它应用功能:可以根据呼叫自动查询数据库文件中相应的信息,并把信 息从高档的专用系统中下载到普通台式计算机中,使电话机成为pc 机的外设,把 各种业务共同控制起来,并因此具备了某些智能化的功能,而且有些是交互式的工 作方式,如交互式语音应答( ivr ) 、语音消息处理、按需传真( f a x o nd e m a n d ) 等。这样较第一方呼叫控制更为广泛,也吸引了越来越多的开发商这些应用功能 既可以控制大、中型机构内部局域网的通信,也可以控制与外部的通信 具有第三方呼叫控制功能的局域网服务器对应于pbx 或局设用户交换机,可以 支持综合性的应用,如交互式传真、话音、电予邮件和其它应用,通过中继链路连 接到电话公司的中心局 在这一系统中,以服务器为先导,给pc 机增加电话接口和插板、软件,使其 具有了部分pbx 的功能,这样就为计算机和电信应用建立了平台此外,用户利 用第三方呼叫控制可以在用户终端侧实现部分高级智能网业务,例如,网内用户 的大众呼叫、大众播音、信息转发、呼叫转移和回叫( c a l lb a c k ) 。当大量用户呼叫 同时拨叫pbx 时,如果被叫无法及时处理,则可以记录号码,并用录音呼叫主叫, 告知已经记录其号码,稍后回复,然后待被叫空闲时可以自动拨叫主叫号码 2 3 2 交互式语音应答 交互式语音应答( i n t e r a c t i v e v o i c e r e s p o n s e ) 简称i v r ,并不是新近开发出来的 应用技术,但是以c t i 技术为基础的i v r ,其功能已经大大增强了。过去的i v r 仅 仅停留在电话呼叫接通后,根据呼叫方选择的菜单回答简单的话音信息;而基于c t i 技术的i v r 具有了交互性,并且可以接收各种形式的输入,访问数据库并进行运算, 以多种形式向呼叫方提供动态的、有用的信息,如有声的、传真、电子邮件、模拟 的语音或数据以及其它媒体,发展成交互式信息应答。首先它可以完成许多日常工 华中科技大学硕士学位论文 作,对客户提出的简单问题提供帮助,进行基本的事务处理,使雇员有时间完成更 重要的工作;其次它可以以最快、最优化的方式为主叫服务,避免了人为因素带来 的服务质量问题。例如电话公司通常把i v r 用在为客户查询帐户平衡、预付卡业务、 语音信箱、新业务的咨询订购、用户付费、公共业务的广播、大众呼叫、改号或业 务终止的通知、故障申告、调用数据库中有关网络运营情况的报告,以及用户申请 某些呼叫功能等;移动通信运营公司也用它来实现自动无线寻呼、移动电话的短讯 服务等。这样既节省时间、解放劳动力,又加强了业务联系,并以新的形式充分利 用数据库中的信息在其它行业i v r 也有许多应用,如金融机构、信息服务提供商、 政府机关、公用事业、流通领域、航空公司和旅行社的订票等。 2 3 3 综合消息处理功能 综合消息处理就是将现有的消息处理系统( 如:语音信箱,传真,电子邮件) 融 合起来。实现此业务的关键是语音信箱和电子邮件提供商的合作,将各自的系统综 合在一起:。l 般大部分邮件服务器最基本的差异主要在两个方面:执行消息处理功 能的用户接口和消息存储结构。“综合”消息处理即意味着和不同消息系统相连的通 用用户接口,语音信箱服务器可以支持话音传真邮件的电话和pc 用户接口,并和 局域网电子邮件系统开发商互连。而e m a i l 提供商则开发新的“开放”应用程序软 件,例如扩展e m a i l 信箱系统因此,语音信箱提供商可以将局域网的连接功能加 入系统之中,提供接入e m a i l 服务器和p c 消息管理客户机软件的功能。“综合”信 箱是基于单一消息存储系统,由网络的信箱服务器提供。 c t i 实现综合消息处理的优点表现在经济性和实用性方面,包括: 多种信箱接入方式 记录消息简便 识别身份,立即回呼 充分利用数据库 节省设备和电话线路费用“ 6 3 电话语音卡 电话语音卡是一种广泛应用于电话银行、呼叫中心、语音信箱等c t i 系统的关 键性部件,它通过计算机与p t s x 等通讯媒体以及相应的软件组成语音卡c t i 系统, 将计算机与公用电话网线联通,使得电话机成为计算机的外设,对方用户可以通过 电话直接与计算机进行交互。 电话语音卡可以直接插在计算机的p c i e s a 插槽上,而且根据需要可以在一台 计算机上插上多块语音卡。每块语音卡都由多个通道,每个通道都有一个通讯模块, 模块中内嵌了c p u 与d s p 使得每个通道都可以独自处理语音、传真以及控制电话机 等功能,还可以方便的加以扩充,是c t i 系统中核心部件。 3 1 硬件结构 语音卡的硬件结构如下图所示= u 屯 图3 - 1 语音卡硬件结构 其中模块即为电话语音卡中的话路,也就是通道模块。 语音卡直接插在计算机扩展槽上,占用一个中断地址。计算机c p u 通过中断响 应控制语音卡完成摘机、挂机、录音、放音自动拨号、d t m f 接收识别等功能。 语音卡与计算机的接口是映射到内存中的内存地址,实际上电话语音卡是p c 的 i o 插件。电话语音卡般占用1 k b 的映射内存,前5 1 2 b 用作控制,后5 1 2 b 对应 每一通道的数据,它们之间的语音数据交换如下所示:。 华中科技大学硕士学位论文 3 2 主要功能。 图3 - 2 语音卡语音数据交换图 语音卡可分为模拟信号电话语音处理卡与数字中继接口信号语音卡两种。语音 卡可以实现以下两大类功能。 3 2 1 电话信令处理 语音卡能检测电话中的摘挂机信号以及双音多频( d t m f ) 信号,以便在程序中 判断用户状态以提供相应功能;同时语音卡还能生成相关信号,如拨号、挂机等。 实际上,语音卡相当于将交换机的部分信令功能内置于其中,这无疑又大大方便了 语音卡应用中的编程。具体又可分为以下三个功能。 控制内外线操作l i “ 每个通道根据通道的模块类型不同可分为用户模块与中继模块两种。 用户模块用来直接驱动电话机,它需要有外接直流电源才能工作。用户模块所连 接的电话一摘机即可开始工作。当配接有铃流源时,也可让电话机振铃。电话语音 卡能够判别用户模块所连话机的摘挂机状态,接受用户按键码,实现数字录音及放 音。由于无须拨号,所以经常用于自动声讯系统的本地服务,如在证券部及银行的 大厅里供客户使用。亦可实现热线服务或构造小型用户交换系统。用户模块有时也 称作内线模块。 中继模块本身相当于一部标准电话机,与市话网的电话线或小交换机的用户线相 连。d 1 6 0 a 可检测其振铃信号,完成摘机、挂机动作;接受用户按键码,实现数字 录音及放音;亦可判别线路的信号音状态,实现自动拨号。中继模块也称外线模块。 内外线的操作是不同的,例如振铃的时候,外线通道需要摘机,才能进行下一步 操作,而内线通道能够自动摘机,直接进入下一步操作。 检测信号音”“ 语音卡是通过对线路信号音的检测来确定线路状态。信号音的情况有十几种,常 用的信号音主要有以下几种: 华中科技大学硕士学位论文 ( 1 ) 对方挂机检测 当有外线拨入,语音卡检测到振铃信号之后摘机,这时就可进入人机交互,完成业 务功能。当对方挂机时,语音卡用户端听到挂机忙音,其波形如下: 07 秒 厂 厂 厂 0 7 秒 图3 - 3 忙音波形图 即o 7 秒的”嘀”嘀”声。市话网的忙音信号根据国标应为0 7 秒。设定国标中规 定的该忙音类型, 使用c 语言函数s e t b u s y p a r a ( 7 0 0 1 即可。 若要准确检测忙音,要注意以下两点: 第一:要准确设置忙音的时间参数。国标规定为7 0 0 毫秒,但有的地方会是另外 的值,比如3 5 0 毫秒或3 2 0 毫秒。 第二:当时间参数为3 5 0 毫秒或3 2 0 毫秒时,由于忙音较短,为了防止误判忙 音,可以检测到连续的几个忙音才认为是真的忙音。其它的时间参数时,也可以用 这种方法。 03 5 秒 厂 ! 竺厂 厂 abc 圈3 - 4 连续波形的忙音图 当处于a 点检测时,连续忙音的个数为l :b 点检测时,连续忙音的个数仍然 为1 ;c 点检测时,连续忙音的个数变成了2 。 ( 2 ) 自动拨号检测 大多数语音卡都能够实现自动拨号,拨号完毕的信号音情况比较复杂。因为拨号 完毕后, 对方可能占线,也可能没有人接听,或者有人接听等等。 当拨号完毕,对方话机占线时,语音卡听到的是被叫用户忙音。其波形如下:( 注 意该种忙音与上面所述的忙音是两种类型的忙音) 9 华中科技大学硕士学位论文 03 5 秒 厂 厂 厂 03 5 秒 图3 - 5 被叫用户忙音示意图 当拨号完毕,对方振铃时,d 1 6 0 a 听到的为回铃音,其波形如下 1 秒 厂广厂 4 秒 图3 - 6 回玲音波形示意图 对于以上波形的分析,在c 语言函数库里有相应的函数,用户只需调整参数即 可。如果用户想分析新的信号音,可以根据信号音缓冲区中的值来得出结果。 根据国标规定,拨号以后的信号音应该是如上所述的类型,即回铃音为1 秒通、 4 秒断,而对方占线的忙音为0 3 5 秒。设定国标中规定的拨号后的信号音类型,使 用c 语言函数s e t d i a l p a r a ( 1 0 0 0 ,4 0 0 0 ,3 5 0 ,7 ) t i p 可。 接受与发送d t m f 双音频信号 双音频信号,即d t m f ( d u a lt o n em u l t i f r e q u e n c y ) 广泛用于电话拨号上。d t m f 山c c i t t 制订并推荐做为按键式电话的标准。d t m f 【妊电话机的按键产生。 d t m f 信号实际是由两种音调的声音组合而成,一个是低频,另一个是高频。 低频组:6 9 7 、7 7 0 、8 5 2 、9 4 1 ;高频组:1 2 0 9 、1 3 3 6 、1 4 7 7 、1 6 3 3 。总共能产生 1 6 种信号。其具体定义见下表: 6 9 7 7 8 5 9 4 1 2 0 9 乜1 3 3 6 乜1 4 7 7 i - i z1 6 3 3 也 123 d 56 78 9 士 0# 图3 - 7d t m f 信号频率定义 o 华中科技大学硕士学位论文 一个有效的双音频是由声音和间隔组成,声音又包括频率和幅度两个特征值, 如下图: 图3 - 8双音频示意图 a 是指d t m f 的声音幅度,t l 是指d t m f 声音的持续时间,t 2 是指两个d t m f 之间的间隔时间。 如果声音太小或太大,可能会造成收不到d t m f 。如果t l 或t 2 满足不了一定 的条件,也可能收不到d t m f 。 d t m f 信号的发送和接收,是单向传递的,即:发送端并不知道接收端是否正确 接收到了d t m f 。 典型的发送d t m f 设备就是电话机,由电话机的按键产生d t m f 声音。一个标 准的电话机,按照国标的规定,应该能保证t l l o o m s ,t 2 l o o m s 。即:无论是用 手按键还是使用重拨键,都应该能做到这一点。 对于接收d 州f 的设备而言,要根据使用的不同场合调整不同的灵敏度,比如: 交换机的d t m f 接收单元,就设计成非常灵敏的工作方式。这样做的原因是:它仅 在用户电话拨出时接收d t m f ,在通话过程中就不再需要接收d t m f 。 对于电话语音的应用,由于在工作过程中,每个通道的录音、放音和接收d t m f 是同时进行的,就需要采用折中的方法。如果太灵敏,则容易误检d t m f ;在放音 的时候,语音卡播放出的声音,经过模拟线路和用户话机,会反射回来,如果其中 含有d t m f 的声音,也会收到d t m f 。这样就会产生如下的现象:放音时,用户没 有按键却收到d t m f 码,从而使得语音中断。如果太不灵敏,当线路噪音较大或用 户话机不太标准时,有可能丢失一些d t m f 按键。 获取主叫号码 对于模拟电话线上的主叫识别信息传送及显示( c a l l i n gi d e n t i t yd e l i v e r y ,简称 c i d ) ,目前邮局有两种方式,即d t m f 和f s k 。 d t m f 方式是在第一次振铃前用d t m f 音频传递,特点是发送速度慢、无校验; f s k 方式是在第一次和第二次振铃之间传递,特点是发送速度快、有校验。对于f s k 方式,若在第一次振铃后马上摘机,就会收不到主叫号码。 一 叫: 华中科技大学硕士学位论文 在某些城市,由于部分电话局未传递主叫号码,造成本地的某些来话收不到主叫。 这种情况请咨询你所在的电话局。对于d t m f 方式,般电话局仅发送主叫号码; 而f s k 方式,一般发送日期、时间和主叫号码。 只要开通来电显示功能,大多数语音卡都能获取主叫号码。 3 2 2 语音处理 语音卡的语音处理功能主要包括数字化录音与数字化放音两方面。在数字化语 音录制过程中,语音卡按一定的采样频率采样模拟声波信号,得到的音频数据记录 在计算机的磁盘上。一般情况下,采样频率越高,每个样本的解析度越商( 即每个采 样点数据位数越多) ,则录音质量越高,但录音文件的存储空间就越大,这样就存在 录音质量与录音文件所占空间的矛盾,因此有必要采用语音压缩以减少存储空间。 语音卡通常采用两种数字化方法:p c m ( p u l s ec o d em o d u l a t i o n ) 和a d p c m ( a d a p t i v e d i f f e r e n t i a lp u l s ec o d em o d u l a t i o n ) 。 语音卡对应于两种放音方式:播放录音文件方式和单个语音拼接成整句方式。前 者是将相对固定的信息( 如提示信息等) 作为一条单独语音文件播出,这种方式缺 乏灵活性;后者则对应于由一些单元信息组合而成的信息,如利用录音方式可分别 获得数字0 9 、十、百、点这几个音频文件,用语音拼接可将“3 ”+ “百”+ 4 + “十”+ “点”+ “五”共6 个语音文件合成“3 4 0 5 ”后播放,这样既节省了存 储资源又可灵活处理,但控制起来较复杂。现在有些语音卡还配有专用语音库,其 - l 录有二级汉字,其工作原理则基丁第二种方式,般仪适用r 合成较短的w , 对重音、间隔等还必须加上一定的控制符,合成长旬时,整体音质往往不够理想。 3 , 3 语音卡系统开发 一个常见c t i 系统主要有三个功能模块组成: c t i 系统功能实现部分,主要负责c t i 所需的功能;这部分程序设计出来应 该较为稳定具有良好的扩充性,即不随应用部分的改变而改变; 数据库功能的实现部分: 应用功能实现部分,这部分是整个系统中最容易变化,维护成本最高的一块。 图3 - 9c t i 系统的物理结构 上图中体现了c t i 系统的设计原理,c t i 服务器通过电话语音卡与公用电话网 相连接,这样用户通过可以公用电话网与c t i 服务器交互。而c t i 同时又是一个数 据库系统的客户端,与数据库服务器相连,这样就可以通过电话语音卡和公用电话 网为客户提供数据服务。 在这里体现的是一种双层的c s 结构,语音卡所插的p c 机既是c t i 服务器同时 义是数据库客户端。这种结构将c t i 服务器与客户的交互功能和数据库客户端与数 据库服务器的交互功能隔离,大大的降低了系统的耦合性,从而也降低了c t i 系统 的开发与维护的难度,是最常见的c t i 系统设计方法。 这种办法的缺点是还没有把应用逻辑部分与c t i 功能实现部分分开,二者之间存 在着紧耦合。 基于语音卡的c t i 系统开发可以建立在不同层次的开发平台之上,在不同层次上 开发c t i 有不同层次的优、劣势。即开发平台的层次越高,开发难度和工作量越小, 但灵活性也越差;反之,开发平台的层次越低,开发的灵活性越好,但工作量和难 度越大。因此,对于不同的开发目标应选择不同的平台层次。程序员可以通过调用 各个电话语音卡产家都提供a p i 函数,直接控制电话语音卡。虽然各个产家所提供 的a p i 是不同的,但是完成的功能基本上是一致的。基于语音卡的c t i 系统结构可 用下图表示。 3 华中科技大学硕士学位论文 数据库功能模块 应用逻辑模块i r - 4 c r i 功能模块 c t i a p id u 底j 客户 图3 1 0 基于语音卡c t i 系统的软件结构 c t i 功能模块通过调用底层驱动程序所提供的a p i 接口,实现一些基本的c t ! 功能模块,为应用逻辑模块提供服务。 应用逻辑模块是由具体的业务需求决定的,通过调用c t i 功能模块的功能接口, 与客户交互,并且调用数据库模块的功能,执行相应的数据库操作,最后再次通过 c t i 功能模块反馈给用户。 数据库功能模块是相对稳定的,而应用逻辑模块是非常多变、复杂,c t i 功能模 块也是比较复杂的,同时各个厂家的驱动程序又是不兼容的。所以c t i 功能模块与 应用逻辑模块大多时候是被混杂在一起,并没有真正的被分开。 请看一个实例,图3 一j 1 是一个非常典型的基于语音卡的电话成绩查询系统的流 程图。系统接入用户电话以后,发出语音提示,要求用户输入其学号,并接受输入, 在用户输入结束以后,继续要求用户输入其考试科目号,然后从数据库服务器中检 索出用户成绩,并播放。最后提示用户是否继续。 由于一块电话语音卡拥有多个通道,可以同时对多条电话线路进行操作,这就 意味着可以为多个用户提供电话数据服务。为了简单起见,可以先考虑只有一个通 道的情况。 可以将流程图转化为状态跃迁图3 1 2 ,使得系统的应用逻辑与c t l 功能部分分 开,抽象出系统的c t i 功能模块;同时也更清晰地描述系统运行的细节。为了更具 有代表性,使用接受用户输入1 、2 来代表接受具体的用户输入操作。 由状态图可以知道,c t i 功能部分的关键是根据当前所处的通道状态和当前所发 生的事件,执行相应的操作并且根据需要进行状态跃迁。 空闲状态表示没有通话,所以如果这时候有振铃,就需要擒机,执行相应的操作。 4 华中科技大学硕士学位论文 在这个例子中相应的操作是播放语音,根据具体需求不通也可能是录音、接受输入 等其他操作。 播放状态表示通道正在播放语音,如果放音的时候对方用户按键,可以结束放音 进入下一个状态;如果对方用户挂机,那么就结束放音回到空闲状态。 接受客户输入时如果对方用户挂机就需要回到空闲状态:如果输入结束,状态跃 迁至播放状态。 l 电嚣婴乳i 一蔫黼h i ! 竺三! i 厂 兰竺兰堡竺兰广 古i 乒 图3 l l电话查询流程图 华中科技大学硕士学位论文 图3 1 2 系统状态跃迁图 所以可以用一个s 、i t c t l c a s e 语句来完成状态的自动跃i 壬! :码表示如下: w h i l e ( t r u e ) s w i t c h ( 当前状态) c a s e 状态一: s w i t c h ( 当前发生的事件) c a s e 事件一:触发相应动作:b r e a k ; c a s e 事件二:触发相应动作;b r e a k ; c a s e 事什j :触发相应动作;b r e a k ;1 c a s e 状态二: s w i t c h ( 当前发生的事件) 其他省略1 ) ) 至于多通道的问题可以通过同步或异步的方法来解决。同步方法为每一个通道产 生一个子进程,然后每个进程不断的检测各自的通道,直到有事件发生并处理之; 而异步方法是事件驱动的,由一个进程来处理所有信道的事件队列,相应的事件由 相应的程序来处理,而且语音卡的函数也是异步的,就是说,对这些函数的调用只 要初始化后就返回,而不是等函数执行完后才返回,这样的好处就是不会造成主进 程因某个事件处理程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论