VoIP基本原理

VoIP是通过Internet等互联网络传递语音信息的,主要包括终端设备、网关、网守和网络管理等部分。网关负责提供IP网络和传统的PSTN接口。

VoIP的基本原理:通过语音压缩算法对语音数据进行压缩编码处理,然后将语音数据按照TCP/IP标准打包,经过IP网络把数据包发送到接收端,之后将语音数据包串起来,经过解码解压之后,恢复成原来的语音信号,从而达到利用互联网传送语音的目的。与之相似的有公共交换电话网络(Public Swithched Telephone Network, PSTN):这是一种日常生活中经常使用的电话网。由于PSTN是一种电路交换的方式,所以一条通路自建立直至释放,其全部带宽仅能被通路两端的设备使用,因此带宽利用率极低。

VoIP的核心与关键设备是IP网关。网关具有路由管理功能,它把各地区电话区号映射为相应的地区网关IP地址。这些信息存放在一个数据库中,数据接续处理软件将完成呼叫处理、数字语音打包、路由管理等功能。在用户拨打长途电话时,网关根据电话区号数据库资料,确定相应网关的IP地址,并将此IP地址加入IP数据包中,同时选择最佳路由以减少传输时延,IP数据包经Internet到达目的地的网关,在一些Internet尚未延伸到或暂时未设立网关的地区,可设置路由,由最近的网关经过长途电话网转接,实现通信业务。

为了在一个IP网络上传输语音信号,对网络有一些最低要求。最简单形式的网络由两个或多个具有VoIP功能的设备组成,这些设备通过一个IP网络连接。VoIP传输过程:

  1. 语音->数据转换

    语音信号本身是模拟信号,如果通过IP传输语音,不管是实时应用还是非实时应用,首先都需要对语音信号进行模拟数据转换,也就是对模拟信号进行8位或16位的量化,然后送入缓冲存储区中,缓冲区大小可以根据延迟和编码的要求选择,低比特率的编码器通常采取以帧为单位进行编码,典型帧长为10ms~30ms。考虑传输过程中的代价,语音包通常由60ms、120ms和240ms的语音数据组成。数字化可以使用各种语音编码方案来实现,目前采用的语音编码标准有ITU-T G. 711、G. 729等。发送端和接收端的语音编码器和语音编码器必须实现相同的算法,这样接收端才能恢复原始的语音信号。

  2. 原始数据->IP转换

    语音数据数字编码之后,下一步就是对语音包以特定的帧长进行压缩编码。大部分的编码器都有特定帧长,若一个编码器使用15ms的帧,则把第1步中的60ms的包分成4帧,并按照顺序进行编码,如果采样率8kHz,则每帧共15ms*8kHz=120个采样点。编码后将4个数据包合成一个压缩语音包送入网络处理器,网络处理器为语音添加包头、时序和其它信息通过互联网传送到另一端。IP网络不像电路交换网络,其不形成连接,它要求把数据放在变长的数据报或分组中,每个数据报附带寻址和控制信息,并通过网络发送,一站一站转发到目的地。

  3. 传送

    在这个通道中,全部网络被看成一个整体,持续不断地从输入端接收语音包,然后在一定时间\(t\)内将其传送到网络输出端。时间\(t\)可以在某个范围内变化,反映了网络传输中的抖动。网络中的中间节点检查每个IP数据附带的寻址信息,并使用这个信息把该数据报转发到目的地路径上的下一站。

  4. IP包->数据转换

    目的地VoIP设备接收这个IP数据报并开始处理,并提供一个变长缓冲区用来调节网络产生的抖动。小的缓冲区延迟较小,但不能容纳更大的抖动。

  5. 数字信号->模拟语音

    播放驱动器将缓冲器中的语音样本点送入声卡,通过扬声器按照预定的频率播放。

VoIP基本原理的更多相关文章

  1. VoIP语音处理流程和知识点梳理

    做音频软件开发10+年,包括语音通信.语音识别.音乐播放等,大部分时间在做语音通信.做语音通信中又大部分时间在做VoIP语音处理.语音通信是全双工的,既要把自己的语音发送出去让对方听到,又要接收对方的 ...

  2. Ognl表达式基本原理和使用方法

    Ognl表达式基本原理和使用方法 1.Ognl表达式语言 1.1.概述 OGNL表达式 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,他是一个 ...

  3. Android自定义控件之基本原理

    前言: 在日常的Android开发中会经常和控件打交道,有时Android提供的控件未必能满足业务的需求,这个时候就需要我们实现自定义一些控件,今天先大致了解一下自定义控件的要求和实现的基本原理. 自 ...

  4. HMM基本原理及其实现(隐马尔科夫模型)

    HMM(隐马尔科夫模型)基本原理及其实现 HMM基本原理 Markov链:如果一个过程的“将来”仅依赖“现在”而不依赖“过去”,则此过程具有马尔可夫性,或称此过程为马尔可夫过程.马尔可夫链是时间和状态 ...

  5. 动态令牌-(OTP,HOTP,TOTP)-基本原理

    名词解释和基本介绍 OTP 是 One-Time Password的简写,表示一次性密码. HOTP 是HMAC-based One-Time Password的简写,表示基于HMAC算法加密的一次性 ...

  6. ZooKeeper基本原理

    ZooKeeper简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. ZooKeeper设计目的 1. ...

  7. 如何实现VoIP中大并发应用

    后台服务器实现高并发方式: 说明: 黄色皆为运营商或第三方对接系统的VoIP设备等. 前置服务器A与B为热备容灾模式,当A异常,立即跳转到B. 应用服务器做实时容灾处理. 数据库做实时容灾处理. 媒体 ...

  8. GBDT的基本原理

    这里以二元分类为例子,给出最基本原理的解释 GBDT 是多棵树的输出预测值的累加 GBDT的树都是 回归树 而不是分类树 分类树 分裂的时候选取使得误差下降最多的分裂 计算的技巧 最终分裂收益按照下面 ...

  9. 全文检索引擎 Solr 部署与基本原理

    全文检索引擎 Solr 部署与基本原理 搜索引擎Solr环境搭建实例 关于 solr , schema.xml 的配置说明 全文检索引擎Solr系列-–全文检索基本原理 一.搜索引擎Solr环境搭建实 ...

随机推荐

  1. 设计高性能大并发WEB系统架构注意点

    设计高性能大并发WEB系统架构注意点 第01:大型架构的演进之路第02(上):分布式缓存第02(下):分布式缓存第03:分布式消息队列第04:分布式数据存储第05:分布式服务框架第06:高性能系统架构 ...

  2. Storm里面fieldsGrouping和Field参数和 declareOutputFields

    Fields,个人理解,类似于一张表,你取那些字段以及这些字段所对应的数据给后面的bolt用 这个Field通常和fieldsGrouping分组机制一起使用,这个Field特别难理解,我自己也是在网 ...

  3. Docker从入门到实践(3)

    三.安装 Docker Docker 分为 CE 和 EE 两大版本.CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月. Docker CE 分为  ...

  4. ASP.NET Core的无状态身份认证框架IdentityServer4

    Identity Server 4是IdentityServer的最新版本,它是流行的OpenID Connect和OAuth Framework for .NET,为ASP.NET Core和.NE ...

  5. git new

    Quick setup — if you’ve done this kind of thing before Set up in Desktop or HTTPSSSH Get started by  ...

  6. Java学习:Lambda表达式

    Lambda表达式 函数式编程思想概述---强调做什么,而不是以什么形式做 面向对象的思想: 做一件事情,找一个能解决这个的事情的对象,调用对象的方法,完成事情 函数式编程思想 只要能获取到结果,谁去 ...

  7. Elastic Stack 7.5.0白金版永不过期

    适用版本:7.4.0~7.5.0 警告:本文章仅限于学习,非商业用途. 目录结构 # 先创建相关目录,具体结构如下: /opt |-- bulid # 编译目录 | |- src |-- instal ...

  8. 一款比较强大的jquery表格插件Datatables

    Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 链接:http://www.datatables.club/ 本人无聊时发现的一款用 ...

  9. C# Winform 文本框默认提示信息

    private string Notes = "提示文本"; private void textBox1_Leave(object sender, EventArgs e) { / ...

  10. windows下vmware和Hyper-v共存方法

    问题描述:环境:windows server 2012 r2系统下安装Hyper-v后,再安装Vmware 在Vmware中创建虚拟机,安装虚拟机系统的时候,vmware提示:VMware Works ...