VOIP简介

一、什么是VOIP

VOIP全称为(VoiceOver Internet Protocol),是一种利用Internet网络进行语音通信的技术,更通俗一点说,就是IP电话。就是以IP分组交换网为传输平台,对模拟的语音信号进行编码压缩,打包等一系列的处理。

 

二、VOIP的发展简史

IP电话最早出现在95年,由以色列(VocalTac)研制开发的一种新新产品,是一种可以利用个人计算机和送受话器通过Internet相互通话的软件,尽管质量不佳,但在当时美国的一些大学中相当流行,风靡一时,主要是因为当时通过Internet打电话是完全免费的。

963月,出现真正意义上的Internet电话,美国一家公司推出了用Internet传递国际长途电话的业务,使用户可以和普通电话用户一样,只要有电话机就可以打Internet的长途电话,而不必有计算机和相应的其它设备,通话费用却远远低于目前的国际长途电话费用。一般估算,用户使用Internet打国际长途电话至少能节省90%以上的电话费用,这对电话用户来说,具有较大的吸引力。

巨大的市场自然会有很多厂商参与竞争,到97年就有几十家厂商包括一些国际大厂商如微软、Intel等也纷纷进行Internet电话设备的研究、开发和生产。据美国一家公司98年的调查,到99年美国将有40%以上的电信公司把部分长途电话业务转移到Internet上。

到如今,在数据通信网中被视为瓶颈的带宽和服务质量等问题正在一一得到解决,VOIP拥有了十多年的技术累积以及其市场的兴起,开始进入一个新的发展期。

 

三、VOIP的基本原理

我们先看看传统电话的通信:

传统电话通信

传统电话使用PSTN(公用电话交换网)作为语音传输的媒介。PSTN是一种全球语音通信电路交换网络,最初它是一种固定线路中的模拟电话网,经过百多年的发展,当前PSTN几乎全部采用数字电话网并且包括移动和固定电话。PSTN中的基本数字电路是指64kbit/sDS0(或数字信号0)信道。

IP电话的语音是利用基于路由器/分组交换的IPInternet/Intranet)数据网进行传输。见由于Internet中采用存储-转发的方式传递数据包,允许多个用户共用同一带宽资源,改变了传统电话由单个用户独占一个信道的方式,节省了用户使用单独信道的费用。语音数据经过IP电话系统的转换和压缩处理后,每个普通电话传输速率约占用811kbit/s的带宽,而普通电信网所要求的传输带宽为64kbit/sIP电话提高了带宽资源的利用。

 

VOIP通信原理

可以简单的将VOIP的传输过程分为下列几个阶段:

1 语音-数据转换

语音信号是模拟波形,通过IP方式来传输语音,不管是实时应用业务还是非实时应用业务,道貌岸首先要对语音信号进行模拟数据转换,也就是对模拟语音信号进行8位或6位的量化,然后送入到缓冲存储区中,缓冲器的大小可以根据延迟和编码的要求选择。许多低比特率的编码器是采取以帧为单位进行编码。典型帧长为10~30ms。考虑传输过程中的代价,语间包通常由60120240ms的语音数据组成。数字化可以使用各种语音编码方案来实现,目前采用的语音编码标准主要有ITU-T G.711。源和目的地的语音编码器必须实现相同的算法,这样目的地的语音设备帮可以还原模拟语音信号。

2 原数据到IP转换 

一旦语音信号进行数字编码,下一步就是对语音包以特定的帧长进行压缩编码。大部份的编码器都有特定的帧长,若一个编码器使用15ms的帧,则把从第一来的60ms的包分成4帧,并按顺序进行编码。每个帧合120个语音样点(抽样率为8kHz)。编码后,将4个压缩的帧合成一个压缩的语音包送入网络处理器。网络处理器为语音添加包头、时标和其它信息后通过网络传送到另一端点。语音网络简单地建立通信端点之间的物理连接(一条线路),并在端点之间传输编码的信号。IP网络不像电路交换网络,它不形成连接,它要求把数据放在可变长的数据报或分组中,然后给每个数据报附带寻址和控制信息,并通过网络发送,一站一站地转发到目的地。

3 传送

在这个通道中,全部网络被看成一个从输入端接收语音包,然后在一定时间(t)内将其传送到网络输出端。t可以在某全范围内变化,反映了网络传输中的抖动。网络中的同间节点检查每个IP数据附带的寻址信息,并使用这个信息把该数据报转发到目的地路径上的下一站。网络链路可以是支持IP数据流的任何拓结构或访问方法。

4 IP-数据的转换

目的地VoIP设备接收这个IP数据并开始处理。网络级提供一个可变长度的缓冲器,用来调节网络产生的抖动。该缓冲器可容纳许多语音包,用户可以选择缓冲器的大小。小的缓冲器产生延迟较小,但不能调节大的抖动。其次,解码器将经编码的语音包解压缩后产生新的语音包,这个模块也可以按帧进行操作,完全和解码器的长度相同。若帧长度为15ms,,是60ms的语音包被分成4帧,然后它们被解码还原成60ms的语音数据流送入解码缓冲器。在数据报的处理过程中,去掉寻址和控制信息,保留原始的原数据,然后把这个原数据提供给解码器。

5 数字语音转换为模拟语音

播放驱动器将缓冲器中的语音样点(480个)取出送入声卡,通过扬声器按预定的频率(例如8kHz)播出。简而言之,语音信号在IP网络上的传送要经过从模拟信号到数字信号的转换、数字语音封装成IP分组、IP分组通过网络的传送、IP分组的解包和数字语音还原到模拟信号等过程。

 

四、VOIP关键技术

传统的IP 网络主要是用来传输数据业务,采用的是尽力而为的、无连接的技术,因此没有服务质量保证,存在分组丢失、失序到达和时延抖动等情况。数据业务对此要求不高,但话音属于实时业务,对时序、时延等有严格的要求。因此必须采取特殊措施来保障一定的业务质量。VOIP 电话/VOIP网络电话的关键技术包括:信令技术、编码技术、实时传输技术、服务质量(QoS)保证技术、以及网络传输技术等。

1、信令技术

  信令技术保证电话呼叫的顺利实现和话音质量,目前被广泛接受的VoIP 控制信令体系包括ITUTH.323 系列和IETF 的会话初始化协议SIP

H.323

目前全世界的gateway大多是以H.323为主流,H.3231996年由ITU-T所提出,只是当初只是用来做网络内部(LAN)的规格,并非为VoIP量身订做,因此难免不太符合VoIP实际的需要。以H.323Gatekeeper来说,是设定为Peerto Peer,但事实上有些工作还是交给IP-PBX会比较理想。因此一般预料,在新制定的规格出来后,H.323将会慢慢退出江湖。

MGCP

IETF(Internet Engineering Task Force)所提出的MGCP,是VoIP规格中的一个新势力,一般预料将成为主流--从大厂Cisco到现在许多gateway厂商都宣称其gateway产品已经或将要support MGCP可见一般。MGCP规格的一个重点是,它将H.323gateway分解成mediagatewaysignaling gatewaymediagateway controller三个部份,更符合VoIP未来应用的架构。

SIP

当初在选择网络电话标准时,SIP(Session Initiation Protocol)被H.323击败,从此沉寂一阵子,但是最近又开始动了起来,主要是它被认为可以做为media gatewaymediagateway controller的沟通桥梁。尤其3G兴起后,未来想透过行动电话打网络电话,都要透过SIP,因此SIPCPE端相当重要。

基于SIP的呼叫流程:

SIP呼叫流程

 

2、编码技术

话音压缩编码技术是VOIP 电话/VOIP 网络电话技术的一个重要组成部分。目前,主要的编码技术有ITUT 定义的G.729G.723(G.723.1)等。其中G.729 可将经过采样的64kbit/s 话音以几乎不失真的质量压缩至8kbit/s。由于在分组交换网络中,业务质量不能得到很好保证,因而需要话音的编码具有一定的灵活性,即编码速率、编码尺度的可变可适应性。G.729 原来是8kbit/s 的话音编码标准,现在的工作范围扩展至6.411.8kbit/s,话音质量也在此范围内有一定的变化,但即使是6.4kbit/s,话音质量也还不错,因而很适合在VoIP 系统中使用。G723.1 采用5.3/6.3K bit/s 双速率话音编码,其话音质量好,但是处理时延较大,它是目前已标准化的最低速率的话音编码算法。

3、实时传输技术

实时传输技术主要是采用实时传输协议RTPRTP 是提供端到端的包括音频在内的实时数据传送的协议。RTP 包括数据和控制两部分,后者叫RTCPRTP 提供了时间标签和控制不同数据流同步特性的机制,可以让接收端重组发送端的数据包,可以提供接收端到多点发送组的服务质量反馈。

4、服务质量(QoS)保证技术

VOIP 电话/VOIP 网络电话中主要采用资源预留协议(RSVP)以及进行服务质量监控的实时传输控制协议RTCP 来避免网络拥塞,保障通话质量。

5、网络传输技术

VOIP 电话/VOIP 网络电话中网络传输技术主要是TCP UDP,此外还包括网关互联技术、路由选择技术、网络管理技术以及安全认证和计费技术等。由于实时传输协议RTP 提供具有实时特征的、端到端的数据传输业务,因此VOIP 电话/VOIP 网络电话中可用RTP 来传送话音数据。在RTP 报头中包含装载数据的标识符、序列号、时间戳以及传送监视等,通常RTP 协议数据单元是用UDP 分组来承载,而且为了尽量减少时延,话音净荷通常都很短。IPUDP RTP 报头都按最小长度计算。VoIP 话音分组开销很大,采用RTP 协议的VOIP 电话/VOIP 网络电话格式,在这种方式中将多路话音插入话音数据段中,这样提高了传输效率。此外,静音检测技术和回声消除技术也是VOIP 电话/VOIP 网络电话中十分关键的技术。静音检测技术可有效剔除静默信号,从而使话音信号的占用带宽进一步降低到3.5bit/s 左右;回声消除技术主要利用数字滤波器技术来消除对通话质量影响很大回声干扰,保证通话质量。

 

五、IP电话仍需解决的问题

IP电话向本地的转移还有很多的问题需要解决。会有很多政策方面的问题要解决,比如运营许可证。还有像号码资源、网络之间互通互连这样跨技术和政策领域的问题需要解决。撇开这些问题,在技术上还有很多地方需要突破。其实这些技术问题也并非仅仅存在于未来的IP市话方面。现在国内运营商的长途VoIP网,多建设在专用通信网上。IP地址、安全等这样的问题并不突出。但是专网的方式毕竟只是一个过渡方式,从三网融合的角度看,IP电话必然要融入到公共IP网当中。要达到这一目标,无论是长途网还是本地网:

1、网络地址

2、安全问题

3、服务质量

4、供电问题

5、网络融合

6、软交换

这些问题都必须解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解Solidity 三

Solidity函数声明和类型 函数的值类型有两类:内部(internal)类型和外部(external)类型内部函数只可以在当前合约内部被调用(即在当前代码块内,包括内部库函数和继承函数)&#xff0c…

安装solc模块4.25版本

使用国产阿里云的cnpm 如果不知道cnpm 参考链接 安装solc模块4.25版本 npm i solc0.4.25 --save -g查看安装是否成功 可以配置软连接使用solc,我的没有配置 solcjs --version

在pycharm中使用conda虚拟环境(conda虚拟环境是已经创建好的),解决python安装包文件很费劲的问题

查看conda的虚拟环境 使用PyCharm连接conda创建的虚拟环境,需要一个前提就是虚拟环境必须存在,使用conda env list命令查看虚拟环境列表打开PyCharm软件 打开pycharm,选择File->setting->Project:****->Project Interperter&#…

完成一个H.265/HEVC码流分析工具

经过大约一个月左右的业余时间,终于初步完成一个H.265/HEVC码流分析工具。时间包括平时的周末、晚上,以及调休的集中时间。当然,中秋回家过节不写代码。截至今天,经过多种H.265序列测试,也有各种工具对比,基…

Golomb及指数哥伦布编码原理介绍及实现

文章来源: https://www.cnblogs.com/wangguchangqing/p/6297792.html , 写的不错,转发出来。 2017年的第一篇博文。 本文主要有以下三部分内容: 介绍了Golomb编码,及其两个变种:Golomb-Rice和Exp-Golo…

解决ipfs 出现Error: can‘t publish while offline: pass `--allow-offline` to override的问题

原因 出现这个问题的原因是因为,ipfs未与公网上的节点相互连接,因此此时处于离线状态 使用场景 部署自己的博客,后期的改动,累计追加在同一个地址,这个地址是唯一的,也就是创建ipfs生成的ID号 步骤 1&…

安装ipfs-http-client出现constants@0.1.2 install: node build.js > index.browser.js错误的解决办法

错误截图 原先的命令 npm install --save-dev ipfs-http-client 修改后的命令 npm install --save-dev ipfs-http-client --unsafe-permtrue --allow-root

安装ipfs-api的命令变了,最新版的命令如下

原先使用的命令安装ipfs-api npm install --save-dev ipfs-api 现在使用的命令安装ipfs-api npm install --save-dev ipfs-http-client 官方文档 参考教程 官方文档

区块链相关问题 理解

本博客针对区块链的部分问题进行详解,希望帮助大家对于区块链有一个更好的理解 1,如果散布虚假交易,怎么整?(谁欠我XXX比特币) 1,可以发起虚假交易,但是很难被全网的节点接收并写入…

区块链的相关知识点

1,密码学原理 密码学原理 1,collision resistance 哈希函数 ,目前还是很安全的,没有找到任何不同的内容其哈希是一致的情形。哈希碰撞(这个在数学上面是没法证明的,都是日常的实践表明,无法找…

使用MAC 编译合约的时候报错:

编译报错的显示内容如下: Error: EACCES: permission denied, mkdir /Users/chy/Documents/ipfslearn/ipfs_eth_img/client/src/contracts 最简单的解决方法 原因分析:执行的权限不够 解决办法:升级权限 使用命令 chmod 777 项目的文件夹使…

最新,使用truffle框架之后,安装ipfs的api包文件的命令变化

原因 项目文件路径变化了,不是先前直接在项目文件夹里面直接执行安装ipfs的命令了,需要切换到client文件夹下面执行 路径不对,会出现错误,错误提示如下 切换到正确的路径之后,使用命令 npm install --save ipfs-http-…

通过node 完成简单的web3 API调用测试

使用命令查看当前web3的版本 npm list web3输入命令 node,进入终端 引入web3,使用命令 var web3 require(web3) 查看引入web3的版本 web3.version

LInux学习笔记(四)-----实操排雷

参考书籍:linux就该这么学 4 Vim 编辑器与 Shell 命令脚本 4.1 Vim 文本编辑器(在 Vim 中,无法直接从输入模式切换到末行模式) 4.1.1 配置 Yum 软件仓库 注:书中好像有点问题,第一个 . 改成 /(我是Ubuntu发现原来不能用…

Web3.js 学习

web3.js Web3 JavaScript app APIweb3.js是一个JavaScript API库,一般使得DApp在以太坊上运行web3.js通过RPC调用与本节点通信,用于任何暴露了RPC层的以太坊节点之间通信web3包含了eth对象,即web3.eth(专门和以太坊区块链交互&am…

c语言指针入门

指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率…

搭建基于飞桨的OCR工具库,总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别的PaddleOCR

介绍 基于飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别、竖排文本识别、长文本识别。同时支持多种文本检测、文本识别的训练算法。 相关链接 PaddleOCR项目地址飞桨开源深度学习平台效果展示页面中文OCR在线体验地…

macos 10.15 django2.2+apache2.4+ladon+wsgi写webseverice接口

他的文档不够完善,使用起来可能有坑,因为不知道如何将ladondjangoapache绑定在一起使用,所以放弃了。 提醒:最好用个虚拟环境,防止库冲突我使用的是anaconda 安装apache macos本身自带apache,其他平台百度…

基于HubServing的PaddleOCR部署

前提要求 服务器的部署需要鉴于先前安装配置的docker环境,因此相关步骤查看我之前的博客 参考链接 服务部署 先前介绍 参考链接 官方推荐本博客采用基于HubServing的部署,这种方式已经集成到PaddleOCR里面,在先前的docker镜像里面就可以…

我的职业生涯规划学习日记(软件工程)整理时间线

学习路线 语言只是工具不过学c一直都做不出来东西是为什么呢,下图要第六部才做项目 概述 大一上学期:C,C,数据结构,cstl源码,python爬虫进入物联网实验室python方向,进入算法协会运维部学习算…