收藏 分销(赏)

VC实现网络电话软件论文.doc

上传人:仙人****88 文档编号:9448686 上传时间:2025-03-26 格式:DOC 页数:40 大小:252KB
下载 相关 举报
VC实现网络电话软件论文.doc_第1页
第1页 / 共40页
VC实现网络电话软件论文.doc_第2页
第2页 / 共40页
点击查看更多>>
资源描述
第1章 IP电话的背景与现状 1 1.1概述 1 1.2 我国IP电话发展现状 1 第2章 IP电话的相关标准与协议 5 2.1 相关标准组织 5 2.2 IP电话相关协议 5 2.3 H.323标准简介 7 第3章 IP电话的通信原理 11 3.1 IP电话语音通信原理概述 11 3.2 IP电话与传统电话比较 12 3.2.1 交换方式的比较 12 3.2.2 信令的比较 12 3.2.3 寻址的比较 13 3.2.4 路由的比较 13 3.2.5 延迟的比较 13 第4章 VC实现网络通信软件软件设计部分 15 4.1 总体设计部分 15 4.2 Windows音频采样及播放 15 4.2.1 语音采样 17 4.2.2 语音的播放 18 4.3 Windows网络通信 18 4.3.1 TCP/IP协议 20 4.3.2 Winsock基本定义 20 4.3.3 网络通信的设计与实现 21 4.4 流量监控 22 4.4.1 流量监控的作用 22 4.4.2 Windows系统实现流量监控 22 4.4.3 流量监控的实现 23 第5章 VoIP的特点 25 第6章 IP电话目前存在的问题与展望 29 6.1 系统采用的安全措施 29 6.1.1 H.323安全措施 29 6.1.2 H.235密钥交换 30 6.1.3 Q.931协议的保护 30 6.1.4 H.245安全策略 30 6.1.5 RTP/TTCP安全保护 30 6.2 目前IP电话系统存在的不足 30 6.3 VoIP技术的展望 31 结论 34 致谢 35 参考文献 36 - II - 前言 IP电话作为“下一代电话”而倍受瞩目,它与通信业务经营者所传输的语音信息量和IP信息量的比率有关。以因特网为代表的IP通信的信息量,现在以指数函数的方式增加。由于在全部信息传输量中,IP信息量占极高比例,因此整个网络适应于IP信息量,少量的语言信息量也应搭载在IP网上,这比起建立IP网和语音网要经济得多。正因为如此,IP电话技术将成为未来电话技术。 IP电话是一种数字电话,是技术创新的一种通信服务业务。它把语音、压缩编码、打包分组、分配路由、存储交换、解包解压等变换处理在IP网或互连网上实现语音通信。它促进了网络资源利用,降低语音业务成本。因此在全球范围内得到了迅速的发展,可以说是当今世界上发展最快、普及最快的一门应用服务技术之一。 几年前中国福州陈氏兄弟的败诉,让很多本来不知IP电话为何物的普通大众忽然明白了IP电话原来是有利可图的。中国电信也明白到,IP电话虽然会对传统电信业务发生冲击,但只有竞争才有进步,中国信息产业部为了避免IP电话这快大蛋糕落到外国公司的手上,从1999年初由我国的电信公司自行构建IP电话网络,并相继开通可15个国内城市进行试运行,在这个基础上,逐步开发IP电话的各种增值业务以扩大应用范围。 本文是既是对这段时间以来对《VC实现网络电话软件》课题的总结,又是对徐老师及一切在我学习阶段给予我帮助的老师与同学们的一个献礼。很感谢你们为我所付出的一切,谢谢! - 40 - 第1章IP电话的背景与发展现状 1.1概述 IP电话(Voice over IP,简写为VoIP)又称为Internet电话,其主要是指在IP网络中实现传送语音的技术。但在广义上,还包括了在IP网络上实时传送各种多媒体信息的过程。可以说,VoIP是一种通过对语音信号进行编码压缩处理,并将压缩帧转换成IP数据包在IP网络上进行传输从而达到语音通信的一种技术手段。近年来,随着VoIP技术的不断成熟,使IP网络上以共享网络带宽的方式提供语音业务成为可能,从而拉开了IP电话与传统语音业务竞争的序幕。 回顾IP电话的历史,最早的客户端的Internet电话软件诞生于1995年2月,由以色列的VocalTec公司所研制,它实现了网上用户PC to PC的语音传输与交流。当然,由于各种技术原因,PC to PC 的各种软件只能提供较差的语音质量,其离实用化的距离较远; 接着,随着网关概念的成功引入,VocalTec公司于1996年又率先推出了世界上第一个互联网电话交换机软件(VocalTec Telephony Gateway)。该交换机的产生,为现代的通讯科技带来了新的革新。通过网关连接设备,架起了一道连接PSTN与Internet的桥梁。用户只要在Internet上运行相应的网关软件,就可以在电脑上拨打普通电话用户的电话,从而实现PC TO PHONE的功能。目前常用的PC TO PHONE软件一般有:VocalTec公司的Internet Phone、IDT公司的Net2phone、Innomedia公司的Info Talk、Mcdia Talk,当然还少不了Microsoft的NetMeeting。 随着网关技术的进一步发展,与更高速的数字信号处理芯片(DSP)的诞生,PHONE TO PHONE技术进一步得到完善与发展,普通用户不需要有任何的上网设备,就可以通过一台普通电话拨打网络覆盖区域内任一台的普通电话。由于送话与受话双方不需要任何附加设备,所以PHONE TO PHONE这种IP电话模式最受用户的欢迎。并且由于在网关采用了硬件的压缩/解压处理过程,极大的保障了通话双方的语音质量,完全满足了商用的要求。 同时,由于采用了网关设备,在本地用户的电话接入后,可以通过IP网络来替代原来昂贵的长途传输网络,从而极大的节省了通信线路的成本,降低了通话的价格。可以说,IP电话技术发展以高新技术为后盾,以市场需求为动力,逐步实现了技术与价值的转换。 1.2我国IP电话的发展现状 由于IP电话对固有传统通信行业的冲击,在国内,甚至国际上对于IP电话纠纷一直不断,成为阻碍IP电话的发展的一个障碍。 1996年,美国多家小型电话公司要求美国通信委员会(FCC)禁止IP电话,理由是IP电话语音质量达不到FCC的标准,但却以低价吸引顾客。该纠纷一直延续到1998年才有缓和。而在有些国家如捷克、匈牙利等,IP电话业务至今仍不允许经营。 虽然IP电话的发展受到了各种限制与阻碍,但作为网络技术的发展趋势所在,IP电话技术不会因为任何人为因素或政策因素的干扰而停滞不前的。有鉴于此,中国国家信息产业部于1999年4月27日正式批准中国电信、中国联通、中国吉通(后期加入中国网通)进行IP电话业务试验,试验期为9个月,由1999年6月到2000年3月为止。试验期结束后,将向合乎条件的企业在更大范围发放正式经营许可证。这次三个运营单位试验的范围,覆盖全国25个城市,在试验期间,三家公司的试验覆盖地区略有差异。试验期间暂时实行统一的资费标准,试验结束后,信息产业部将根据试验情况按有关规定正式确定资费标准,试验结束后,信息产业部将根据试验情况按有关规定正式确定资费标准。至于发放许可证的办法尚在制定当中,将来究竟有哪些企业能够获得许可证还未确定,但获得正式经营许可证的企业将不只是进行试验的这三家企业,而且电信管理局还在设想引入竞标的办法来发放经营许可证。 到了今天,为其9个月的IP电话试验早已结束了。但IP电话的热浪并没有随着试验的结束而结束,相反人们对IP电话的认识程度与需求量逐渐变大。信息产业部更于3月24日发布通告,决定从4月1日起开放我国的IP电话业务,由中国电信、中国联通、吉通公司、中国网通进行经营。同时IP电话的提供也呈现多样化与方便化。用户除了可以购买普通IP电话卡使用外,还可以使用IP909长途直接拨业务,或申请助主叫识别IP电话业务,或者使用200卡拨打IP电话,甚至直接采用建设银行的帐号作为中国电信的IP电话帐号使用,省却了购买IP电话卡的麻烦。同时各种IP电话的增值业务(如语音信箱、语音邮件等)像雨后春笋一样在各个网站出现。我国整个IP电话技术发展呈现了一个蒸蒸日上的趋势,并向专业化与多样化发展。 广东电信作为广东省最大的电信运营商占据了90%以上语音业务的市场份额,拥有庞大的网络和设备,因此VoIP/FoIP兴起势必会对现有业务造成一定的影响。随着电信业务开放步伐的不断加快,其它公司正积极研究各种方案已以便进入传统的电信领域,VoIP/FoIP正为他们提供了一个较为理想的技术方案。由此可见,VoIP/FoIP一方面可以使电信运营商以低成本提供业务,另一方面则以电信运营商带来了更多的竞争,包括自己提供业务和其它公司提供业务的双重竞争。技术的发展是不可避免的,作为广东省最大的电信运营商广东电信根据新的竞争形式制定相应的策略,包括对新技术的研究、应用以及传统语音业务的发展对策。 1999年4月,广东省电信技术研究院正式立项开发“IP TELEPHONEY SYSTEM”项目,由多媒体研究事业部进行开发,项目主管部门为院科技项目管理部。该项目旨在开发VoIP/FoIP技术以业务,为未来的市场竞争作好技术储备,以便迎接新的竞争态势。项目初步预计开发时间为1999年4月1日到2000年6月30日,项目预计功能为 l IP PHONE 网关系统(Media Gateway)的技术开发。 l IP电话关守系统(GateKeeper)的设计和开发。 l IP电话后台管理系统(VMAN)的设计和开发。 l 信令网关( Signalling Gateway)的设计和开发 l 企业级的IP电话产品 l H.323协议族包括H.225.0、H.245等信令协议和SIP协议的应用研究 截止2000年4月,项目完成进度已达80%,IP PHONE的网关系统、关守系统、后台管理系统、企业级产品等已完成并投入实用;其他项目也正在加紧进度,按期完成。 第2章 IP电话的相关标准及协议 第2章IP电话的相关标准与协议 2.1相关标准组织 由于IP电话技术标准开发涉及的领域较多,从而形成参加制定标准的厂家与组织较多,但目前国际上影响较大的标准化组织主要有以下四家: l 国际电信联盟标准化部门(IUT-T) IUT-T主要侧重于电信标准的指定,尤其是对于公共网络应用方面的标准。IP电话网络标准中的核心协议H .323、H.245等就是由其制定。 l 欧洲电信标准协会(ETSI) ETSI的主要目的是决定和产生电信标准,其侧重点在于商业的实现。1997年3月14日,ETSI开始研究VoIP与现有电信网的互操作性问题,并于同年4月创建了TIPHONE工程。 l Internet工程任务组(IETF) IETF负责标准化Internet的协议,其规定新的信令协议,会话初始协议(SIP),WEB业务与PSTN/ISDN的互操作性问题。IETF在IP电话技术标准的开发中,起着举足轻重的作用。 l 国际多媒体远程会议集团(TMTC) TMTC的目标是组织参加与多媒体远程会议产品和业务的各种组织,从而帮助创建和采纳所需标准。其侧重于多媒体电信标准的互操作性方面。 2.2 IP电话相关协议 由于IP电话涉及大批电信、网络等多个通信领域的技术,故其涉及的相关协议也较多。目前主要设计IP电话的协议如下图所示: H.323 SIP RISP RVSP RTCP H.251,MGCP RTP TCP UDP IPv6,IPv6 PPP AAL3/4 AAL5 SONET ATM ETHERNET PPP V.34 图2-1 涉及IP电话协议 其中在IP电话领域使用较多的有: l H.323:是ITU推荐的在无QoS分组网中传输音频、视频、数据信息的框架协议。 l RTP/RTCP:实时传输/控制协议,是由IETF制定的用来传输包括视频、音频在内的实时数据的Internet标准协议;RTP主要定义数据,RTCP则定义控制部分。 l RSVP:资源预留协议,由IETF制定的在音频、视频、数据的实时传输过程中提供的QoS协议。 l RSVP:资源与预留协议,由IETF制定的在音频、视频、数据的实时传输过程中提供QoS的协议。 l G.723.1:被IMTC推荐为IP Phone的音频编码标准 l G.729:代数共轭结构激励线形预测(CS-ACELP)8Kb/s话音编码 l SGCP:简单网关控制协议,由Bellcore提供的已向IETF提交的网关内部信令协议 l SDP(会话描述协议),SAP(会话宣告协议),SIP(会话初始化协议),RTSP(实时数据流协议):IETF制定的基于IP网络多媒体通信的协议 l IPDC(因特网协议控制设备):Level(3)指定的适合PSTN和IP网络内部交换协议。 H.323、SIP、IPDC、SGCP都是相关组织为基于IP网络的多媒体通信制定的标准。其中H.323和SIP侧重于智能终端,SGCP、IPDC侧重于网络信令的传输。H.323已成为众多厂家遵循的标准,其它协议或正在提交、或仅有少数企业支持,但至于哪种协议能成为最终的标准,还要看技术的发展。 我们在进行VoIP项目开发的时候,为了保证数据网络的互通性,计划购买目前通用的Radvision的H.323v2 协议栈,用于网关(客户端)和关守(服务器端)的研制,并独立开发支持IETF MGCP草案的协议栈。 项目开发所需多媒体设备通信呼叫控制协议的发展趋势如图2-2: H .323v2 H.GCP建议 H.GCP草案 H.323v3 IPDC草案 SGCP草案 MGCP草案 MGCP RFC ITU-T IETF 购买Radvision产品(源代码) 独立开发 1999年 2000年 图2-2 多媒体设备通信呼叫控制协议的发展趋势 由于H.323协议在IP电话通信中有着举足轻重的作用,所以在下面,我们将会对IP电话中的核心协议H.323进行一些讨论与介绍。 2.3 H.323标准简介 H.323标准由ITU-T的SG16小组制定,规定了无服务质量保证的分组网络(PBN)上的多媒体通信系统标准及技术要求。这里的分组网络包括了局域网、广域网、Intranet/Internet以及使用PPP等分组协议通过PSTN/ISDN的拨号连接或点对点连接的网络。下图示出了H.323的系统架构。 H.323终端 分组交换网络 H.323多点控制单元 H.323关守 H.323网关 H.323终端 H.323终端 电话交换网 有QoS的局域网 N—ISDN B—ISDN V.70终端 H.324终端 H.323终端 H.320终端 H.321终端 图2-3 H.323系统及组件 H.323为机遇网络的通信系统定义了4个主要的组件:终端(Terminal)、网关(Gateway)、关守(Gatekeeper)及多点控制单元(MCD)。 l 终端 终端是分组交换网络中能提供实时,双向通信的节点设备。其组成结构如下 音频设备 视频设备 数据设备 系统控制 用户接口 局域网络接口 语音编解码器 G.711 G.723 G.729 A 图象编解码器 H.261,H.263 数据接口 T.120 H.255.0呼叫控制 H.255.0 RAS控制 系统控制 H.245通信控制 接受路径时延 (RTP/RTCP) H.255.0层 图2-4 H.323终端结构 所有的H.323终端都必须支持语音通信,并且支持H.245标准,以用于控制信道的使用情况和信道性能。 l 网关 网关是H.323 会议系统中的一个可选件。它能提供很多服务,其中包括了H.323会议节点设备与其他ITU标准相兼容的终端之间的转换功能,同时网关还执行语音和图象编解码器的转换工作,以及呼叫建立和拆除工作。 l 关守 关守同样是H.323系统中一个可选件,其功能是向H.323节点提供呼叫控制服务。在系统中,关守必须提供4中服务:地址解析、带宽控制、许可控制与区管理功能等。通常,由单一关守管理的所有终端、网关及多点控制单元的集合,称为H.323区。 l 多点控制单元 多点控制单元支持三个以七节点设备的会议。在H.323系统中,一个MCU可以由一个多点控制器MC及多个多点处理器MP组成。 从通信协议栈的角度来看,H.323系统中的通信可以看承是视频、音频、和控制信息的混合,其协议栈如下图所示 数据 会议控制和叫 信令 音频 视频 T.Share T.126 T.127 T.324 T.124 T.125 T.123 H.245* H.255.0* RAS* G.711* G.722 G.728 G.723.1 G.729.A RTP* RTCP* H.261 H.263 TCP UDP 网络层(IP) 链路层 *为必选件 图2-5 H.323协议栈结构 从上图可见,H.323的通信协议栈主要提供以下5个标准: 1) 系统控制 系统控制功能是H.323终端的核心,它提供了控制H.323终端正确操作的信令。整个系统的控制由H.245多媒体通信控制信道、H.225.0呼叫信令信道以及RAS信道提供。 2) 分组与同步 H.225.0标准描述了在无QoS保证的LAN上媒体流的打包分组与同步传输机制。另外,它还提供了逻辑成帧、顺序编号、纠错与检查功能。 3) 音频编解码器标准 H.323支持的压缩算法都符合ITU标准。为进行语音压缩,H.323终端支持G.711语音标准,并支持A率与μ率压缩信号。同时,H.323终端可以选择支持其他的语音压缩标准。 4) 视频编解码器标准 任何具有视频功能的H.323终端都必须支持H.261QCIF格式,并可以选择支持H.261其他格式及H.263 标准。 5) 数据会议标准 当H.323终端支持数据会议T.120标准时,H.323 终端就可以实现协同工作,如白板、应用共享、文件传输、静态图象传输、数据库访问和音频图象会议等。 第3章 IP电话的通信原理及关键技术 第3章IP电话的通信原理及关键技术 3.1 IP电话语音通信原理概述 我们知道,传统的电话(PSTN)采用线路交换的方式进行通信,通话的双方通过呼叫方式建立1条64Kbps带宽的物理链路。借助模拟技术,在该链路上进行语音的传输。因此,保证了语音的实时传输与通信的同步。但是,PSTN交换链路一旦建立,就始终保持连接,直到链路被拆除为止。由于受到模拟技术的限制,在一条链路上只能同时传输一对语音信号,造成了通信链路的利用效率极低,这也造成了传统电话,尤其是长途电话的成本高昂,价格不菲的原因。 与传统电话的电路交换相比较,IP电话采用的通信模式截然不同。由于IP电话是在网络的一个应用技术,所以与 Internet上的通信模拟相类似,采用的同样是分组交换的通信模式。首先,VoIP系统通过网关设备把语音信号压缩成语音数据包,然后通过分组交换技术,把每个语音包分成许多较短的、具有一定格式的分组包(Packet)来进行交换与传输。每一个分组包按照“存储—转发”的方式,通过不同的路由向目标机传递。当分组包到达目标网关时,又重组成有效的语音数据包向用户广播。通过使用分组交换的技术,使数据传送具有灵活性强、可靠性高、经济性好等优点,而对IP电话最为明显的是实现了线路的动态统计时分复用,极大的提高了通信线路的利用率,使在一条物理线路上可以同时提供多条信息通路。 采用分组交换技术的IP电话与采用电路交换的传统电话相比较,形象一点就是,修建一条具有多车道,能同时允许许多亮车通行的高速公路,还是为每一辆车修建一条专用的高速铁路的关系,其效率比较就不言而喻了。但由于分组交换在路由上的延迟是不确定的,它受网络流量、传输带宽等诸多因素的影响,所以并不能提供可靠的实时传输,为了确保语音数据在IP网络上的实时传输,并且实现语音在电路交换与分组交换这两种传输方式不同的网络上协议的转化,电话网关设备被引入到IP电话应用当中。 IP电话网关是网络互联设备中一种新型的网关,它一边连者传统的电话网,如PSTN。通过交换机PBX可与外部的任意一台电话通信,网关的另一边连着IP网络。当用户拨打IP电话时,网关接收电话的语音信号,并对其数字化,形成A率或μ率的PCM码。在按照H.323规定的压缩标准(如G.723.1、G.729.A)进行数据压缩,在根据电话区数据库资料确定相应网关的IP地址,然后使用IP协议和RTP协议将语音数据包包装成分组包、送到Internet,并通过Internet传到对端网关;对端网关接到Internet传来IP分组后,经解码处理,并还原为模拟语音信号传送到PSTN系统。图3-1显示了语音数据在Internet电话网关中的转化过程。 模拟语音信号 64kb/s PCM码 64kb/s G.723.1 压缩数据 IP分组 图3-1 IP电话网关中语音数据传输过程 3.2 IP电话与传统电话的比较 3.2.1交换的比较 在数据通信领域,有三种基本的交换方式,电话交换、报文交换和分组交换。IP电话是基于分组交换的原理之上,而传统的电话网是建立在电路交换的基础上的。两种交换方式的不同也从一个方面决定了IP电话和传统电话的各自特点。 下表比较了两种交换技术的特点 表3-1 两种交换方式技术指标比较 项目 电路交换 分组交换 接续时间 较长,平均15s 较短,虚电路连接小于1s 信息传输时延 短,偏差也小通常在 ms 短,偏差教大,一般低于200ms 对业务过载的反应 拒绝接受呼叫 减少用户输入的信息流量(流量控制),时延增大 信号传输的“透明”性 有 无 异种终端之间的相互通信 不可 可以 实现多功能通信(如报文广播) 不可 可以 电路利用率 低 高 交换机费用 一般较便宜 较高 实时会话业务 适用 适用 3.2.2信令比较 在PSTN和IP网络中,信令的任务都是建立一种连接。信令出现网络入口,它选择线路,建立网络通道,而且(在远程站点)通知呼叫到达信息。 在PSTN中,完成一次电话的通话需要建立多种形式的信令,首先交换机和电话之间有站点环绕信令;交换机收到来自电话的拨号数字后,开始进行相应的处理,其间又要用到多种信令,如信道辅助信令(CAS)、通用信道信令(CCS)等,最终完成了电话的连接。 在IP电话网络中,信令比较复杂,分为外部信令和内部信令两种。外部信令用于IP网络和PSTN网络之间的互连,所以基本遵循PSTN电话网的信令标准;而内部信令用于IP网络内部之间的连接控制和呼叫处理,可以由IP电话相关组织制定或遵循UO电话承接网络自身的规定。内部信令的规定依赖于承载网络的协议标准。在IP网络中,信令是这样工作的;网关把从交换机接收的拨号数字通过关守映射成IP地址,并向该IP地址的站点发送Q.931 同时建立请求信号。同时,系统使用控制信道建立实时协议语音流,即RTP协议,并使用RSTP协议(资源预留协议)请求服务质量。 3.2.3寻址比较 传统的电话网的寻址是依靠国际、国内标准以及本地电话公司和内部用户之间规定的特定代码相结合来完成的。国际电信联盟ITU-T推荐的E.164标准定义了传统PSTN网络上的国际编号规则。 IP电话网络的寻址和传统电话网络差别较大,因为它是一个面向无连接的网络,并且要考虑和PSTN的互连问题。在IP网络中,要把目的地址信息封装进IP数据包内,IP网络根据该地址信息进行寻址。采用了TCP/IP的寻址规则和协议,主要包括以下两方面的内容: l 地址解析:在特定设备处将IP数据包内的地址信息解释成可以识别和处理的地址,然后交由寻址设备进行路由寻址。如使用广播、地址解析服务器、本地配置表等。 l 地址简化:将复杂的物理地址抽象为可以简单识别和处理的逻辑地址的过程。如DHCP,DNS等。 3.2.4路由比较 传统电话网的路由与编号规则和线路密切相关,是用于建立从源节点到目标节点的通话的,在文换机中建立了一组表格和规则后就可以选择路由。电话到来时,从这些表格和规则便可以提供通往目标的路径以及相应的服务。 IP电话网络的路由协议己经非常成熟,并且具有丰富的功能。日前的某些路由协议,如EIGRP在计算最佳路径时会产生较大的时延,但仍存在一些快速的路由协议,而且它们使语音业务能够利用IP网络的自校正功能为语音服务提供复杂、安全的路由方案。 3.2.5延迟比较 在PSTN网中,距离是导致延迟的主要因素。因为电信号的传播速度接近光速,所以近距离的延迟是难以觉察的,,但在距离1万公里以几的延迟就比较明显了。 在无QoS的TP电话网络中,由于TP业务遵循“尽力而为”服务的原则,在业务处理方面按先来先服务的原则,所以容易出现较大的延迟和延迟变化。 从比较47以看出来,IP电话作为一种新生物,它的优势在于:(l)节省带宽,电路交换电话消耗的带宽为64kbit/s, 而IP电话只需68kbit/s; (2)通话费用低,这点带来强大的市场驱动力;(3)可以方便地继承智能,IP电话网继承了计算机网的智能模块,可以灵活地控制信令和连接,有利于各种增值业务的开发:(4)开放的体系结构。IP电话的协议体系是开放式的,有利于以后实现各个厂商产品的标准化和之间的互相连通;(5)多媒体业务的集成,IP电话网络同时支持语音、数据、图象的传输,为将来全面提供多媒体业务打下基础。然而,另一方面,我们也能看到IP协议最初并不是为提供实时数据业务而设计的,它属于无连接通信方式,不进行检错和纠错,虽没有复杂的信令开销。但不能保证通话质量。因此IP电话与传统电活相比,是利弊均有。但在将其投入市场实验后可以看到,用户在享受到低廉的电话费用的前提下,愿意接受差一些的语音质量口可见IP电话之所以能够奇葩独开,向传统电话业挑战,最大的优势在于它的经济价值。 第4章 VC实现网络电话软件设计部分 第4章 VC实现网络电话软件设计部分 4.1 总体设计部分 本课题实现网络语音电话的各种技术,包括使用底层音频函数实现声音的录制与播放,使用音频压缩管理实现音频数据的压缩与解压缩等。使用VC实现实时网络语音电话,实现通话记录的保存和重放的同时实现网络流量监控,并且界面美观实用。Windows系统下,通过PDH API实现对网络流量的监控。 语音系统数据的单向流程如图4-1所示.具体过程是:发送方首先用声卡采集语音,将语音转换为数据,存入内存中,最后通过网卡将语音数据发送出去。接收方通过网卡接收到语音数据,首先将语音数据进行解压缩,然后通过声卡将数据转换为语音,通过耳机播放。 发送方 麦克风 语音 声卡 数据 内存 网卡 网络传输 网卡 内存 数据 声卡 语音 耳机 接收方 采集语 音 播放语 音 网络流量的监控制 网络流量的监控制 图4-1 网络语音系统数据的单向流程 4.2 Windows音频采样及播放 音频的采样及播放中采用Windows MDK的低层音频服务比较合适,因为低层音频服务中的回调机制为我们提供了很大的方便。当应用程序不断向设备驱动程序提供音频数据时,设备驱动程序控制音频设备在后台完成录音和放音的具体操作,通过回调机制,我们又可以检测到什么时候用完一个数据块,并及时传送下一个数据块,从而保证了声音的连续,有了这种单机上的实时采集、回放功能后。 首先要介绍一下Windows低层波形音频数据块结构 WAVEHDR,其声明如下: type struct{ LPSTR lpData; //指向锁定的数据缓冲区的指针 DWORD dwBufferLength; //数据缓冲区的大小 DWORD dwByteRecorded; //录音时指明缓冲区中的数据量 DWORD dwUser; //用户数据 DWORD dwFlag; //提供缓冲区信息的标志 DWORD dwLoops; //循环播放的次数 struct wavehdr_tag * lpNext; //保留 DWORD reserved; //保留 具体的具体流程如图4-2所示 初始化波形音频设备 为缓冲区分配内存 打开播放、录制波形音频设备 调节音量 音量最大 错误 录音模块 播放模块 否 是 图4-2 音频处理系统的流程 1.初始化波形音频设备的操作 (1)用InitAudioDevice(...)初始化波形音频设备; (2)按11.025KHz,8Bit,双声道,最小块单元为wBitsPerSample×nChannels/8 的 waveform结构的成员变量,也可以改为其他WAVE格式; (3)用waveInOpen(...) 和waveOutOpen(...)分别调用WAVE_FORMAT_PCM参数查看波形输入设备是否支持所设定的格式; (4)再次用waveInOpen(...) 和waveOutOpen(...)分别调用MMRESULT result参数打开波形输入设备; (5)调用Socket_Client.Send(…)和Socket_Server.Receive(...)将音频数据块写入和输出音频数据缓冲区进行分配、锁定全局内存; (7)初始化音频数据块结构各成员变量,主要是将每个缓冲区指针赋给对应数据块结构中的缓冲区指针变量lpData;调用waveInPrepareHeader(...)和waveInAddBuffer(...)将音频数据块赋给输入设备驱动程序; (8)调用RecordBegin(...)函数开始录音或者播放。 2.消息操作 录音开始后,每当有采样数据填满数据块后,设备驱动程序就会发消息MM_WIM_DATA给用户窗口,相应消息回调函数ON_MM_WIM_DATA(…)对数据块中的采样数据进行处理,用Socket_Client.Send(...)发送音频数据。每当一个音频数据块播放完毕,设备驱动程序又会发出消息MM_WOM_DONE,相应的消息回调函数 OnMmWomDone(...)记录音频数据并经必要准备后重新发送给输入设备,以准备接收后续的采样数据。这样,最初为输入设备准备的音频数据块就在消息的控制下,在输入、输出设备间循环使用,无需人为控制实现了实时采集、处理和播放。用waveOutWrite(...)播放缓冲区的音频数据 当结束通话时要关闭音频输入设备,这时音频设备驱动程序会发送MM_WIM_CLOSE消息,可在相应的消息函数ON_MM_WIM_CLOSE(...)中清除赋给输入、输出设备的音频数据块。 4.2.1 语音采样 录音开始后,每当有采样数据填满数据块后,设备驱动程序就会发消息MM_WIM_DATA给用户窗口,相应的消息回调函数OnMmWimData(...)对数据块中的采样数据进行处理,然后就可以发送给输出设备进行回放,每当一个音频数据块播放完毕,设备驱动程序又会发出消息MM_WOM_DONE,相应的消息回调函数 OnMmWomDone(...)记录音频数据并经必要准备后重新发送给输入设备,以准备接收后续的采样数据。这样,最初为输入设备准备的音频数据块就在消息的控制下,在输入、输出设备间循环使用,无需人为控制实现了实时采集、处理和播放。 当结束通话时要关闭音频输入设备,这时音频设备驱动程序会发送MM_WIM_CLOSE消息,可在相应的消息函数OnMmWimClose(..)中清除赋给输入、输出设备的音频数据块。具体流程如下图所示 打开录音设备 准备缓存 录音 缓冲区满 发送缓存区语音数据 否 是 图4-3 录音的具体流程 4.2.2 语音的播放 打开播放设备,接受数据放入缓存,读取其中的信息播放 打开播放设备 接收数据 播放 图4-4 语音播放流程 4.3 Windows网络通信 Internet是基于TCP/IP协议的网络,Windows环境下进行TCP/IP协议网络编程的最基本方法是应用Winsock API。Winsock是对TCP/IP协议的一种封装,可以通过调用Winsock API的接口函数来实现TCP/IP的各种功能.其代码存在于WIN—SOCK.DLL(16bit)和WS2_32.DLL(32bit)文件中。 这里的TCP/IP协议确切的说法应该是TCP/UDP/IP协议.它们的关系如图4-5所示。 UDP协议(用户数据报协议)是一种面向非连接的只保证消息传输,不保证可靠数据传输的协议,Winsock API对它的支持为数据报套接字(SOCK_DGRAM).TCP协议(传输控制协议)是一种流传输的协议,它提供双向有序、面向可靠数据连接的传输;Winsock API对它的支持为流式套接字(SOCK_STREAM)。 网络通信应用程序 Windows Sockets API TCP/UDP/IP协议 物理介质 图4-5 TCP/IP 协议与网络通信程序 Closesocket(),关闭Socket,结束TCP系统 Recv()/send() 在Socket上写数据 Connect(),将Socket与远地主机相连 Socket(),建立流式套接字,返回Socket 客户机 Bind()将Sockets与本地地址相连接 Listen()通知TCP服务器准备好 accept()接受数据,得到套接字Socket2 阻塞,等待可户数据  Recv()/send(),在Socket2上读写数据 Close socket(),关闭Socket2 Closesocket(),关闭Socket 服务器 Socket()建立流式套接字,返回Socket 图4-6 服务端与客户端的关系 4.3.1 TCP/IP协议 TCP/IP协议是一组网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。 TCP/IP协议的核心是TCP,UDP,IP和物理接口层,通常是在操作系统内核中实现。用户服务是通过核外的应用程序实现,所以要使用套接字(Socket),套接字是网络的基本构件,它是一种双向通信端口,通过此端口可以与任何一个具有Socket端口的计算机进行通信。套接字存在通信区域中,套接字只与同一区域中的套接字交换数据。Windows套接字只支持网际域。 4.3.2 Winsock基本定义 Socket最早是美国加州大学伯克利分校为TCP/IP网络通信开发的一组网络通信开发专用API。后来微软公司联合其他几家公司共同制定了一套Windows下的网络编程接口——
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服