下一页 上一页 目录

4. VoIP 技术信息

这里我们看到一些关于 VoIP 的重要信息,理解 VoIP 需要这些信息。

4.1 VoIP 连接概述

要建立 VoIP 通信,我们需要

  1. 首先是 ADC(模数转换器)将模拟语音转换为数字信号(比特)
  2. 现在必须以良好的传输格式压缩比特:我们将在后面看到一些协议。
  3. 在这里,我们必须使用实时协议(通常是基于 IP 的 UDP 上的 RTP)将我们的语音数据包插入到数据包中
  4. 我们需要一个信令协议来呼叫用户:ITU-T H.323 协议可以做到这一点。
  5. 在接收端,我们必须拆解数据包,提取数据,然后将它们转换为模拟语音信号并发送到声卡(或电话)
  6. 所有这些都必须实时完成,因为我们不能等待太久才能得到语音应答!(参见 QoS 部分)

                         
                        Base architecture

Voice )) ADC - Compression Algorithm -  Assembling RTP in TCP/IP -----
                                                         ---->      |
                                                         <----      |
Voice (( DAC - Decompress. Algorithm -  Disass. RTP from TCP/IP  -----

4.2 模拟到数字转换

这由硬件完成,通常由集成 ADC 的声卡完成。

如今,每张声卡都允许您以 16 位和 22050 Hz 的频带进行转换(为了采样,根据奈奎斯特原理,您需要 44100 Hz 的频率),从而获得 2 字节 * 44100(每秒采样数)= 88200 字节/秒,立体声流为 176.4 千字节/秒的吞吐量。

对于 VoIP,我们不需要如此高的吞吐量(176 千字节/秒)来发送语音数据包:接下来我们将看到用于它的其他编码。

4.3 压缩算法

现在我们有了数字数据,我们可以将其转换为可以快速传输的标准格式。

PCM, Pulse Code Modulation, Standard ITU-T G.711

ADPCM, Adaptive differential PCM, Standard ITU-T G.726

它仅转换实际语音数据包和前一个语音数据包之间的差异,需要 32 kbps(参见 ITU-T G.726 标准)。

LD-CELP, Standard ITU-T G.728
CS-ACELP, Standard ITU-T G.729 and G.729a
MP-MLQ, Standard ITU-T G.723.1, 6.3kbps, Truespeech
ACELP, Standard ITU-T G.723.1, 5.3kbps, Truespeech
LPC-10, able to reach 2.5 kbps!!

最后这些协议是最重要的,因为它们可以使用源编码保证非常低的最小带宽;此外,G.723.1 编解码器具有非常高的 MOS(平均意见得分,用于衡量语音保真度),但要注意它们所需的处理性能,高达 26 MIPS!

4.4 RTP 实时传输协议

现在我们有了原始数据,我们想将其封装到 TCP/IP 协议栈中。我们遵循以下结构

VoIP data packets
       RTP
       UDP
       IP
    I,II layers

VoIP 数据包存在于 RTP(实时传输协议)数据包中,而 RTP 数据包又位于 UDP-IP 数据包内部。

首先,VoIP 不使用 TCP,因为它对于实时应用程序来说太重了,因此改用 UDP(数据报)。

其次,UDP 无法控制数据包到达目的地的顺序或到达时间(数据报概念)。这两者对于整体语音质量(您能多好地理解对方在说什么)和对话质量(进行对话的容易程度)都非常重要。RTP 解决了这个问题,使接收方能够将数据包放回正确的顺序,并且不会等待太久那些丢失或花费太长时间到达的数据包(我们不需要每个语音数据包,但我们需要连续的、有序的许多数据包流)。

                    Real Time Transport Protocol
 
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

其中

有关 RTP 协议及其所有应用的完整描述,请参见相关的 RFC 18891890

4.5 RSVP

VoIP 中还使用了其他协议,例如 RSVP,它可以管理服务质量 (QoS)。

RSVP 是一种信令协议,它在每个支持它的网络跳跃点中请求一定的带宽和延迟。

有关 RSVP 的详细信息,请参见 RFC 2205

4.6 服务质量 (QoS)

我们多次说过,VoIP 应用程序需要实时数据流,因为我们期望交互式的数据语音交换。

不幸的是,TCP/IP 不能保证这种目的,它只是尽力而为。因此,我们需要引入一些技巧和策略来管理我们经过的每个路由器中的数据包流。

所以这里有:

  1. IP 协议中的 TOS 字段用于描述服务类型:高值表示低优先级,而越来越低的值会给我们带来越来越高的实时优先级
  2. 数据包排队方法
    1. FIFO(先进先出),最愚蠢的方法,它允许按到达顺序传递数据包。
    2. WFQ(加权公平队列),包括公平地传递数据包(例如,FTP 不能消耗所有可用带宽),具体取决于数据流的类型,通常在一个公平的方式中,UDP 一个数据包,TCP 一个数据包。
    3. CQ(自定义队列),用户可以决定优先级。
    4. PQ(优先级队列),有多个(通常为 4 个)队列,每个队列都有优先级:首先,发送第一个队列中的数据包,然后(当第一个队列为空时)开始从第二个队列发送,依此类推。
    5. CB-WFQ(基于类的加权公平队列),类似于 WFQ,但此外,我们还有类别的概念(最多 64 个)以及与每个类别关联的带宽值。
  3. 整形能力,允许将源限制为固定的带宽,用于
    1. 下载
    2. 上传
  4. 拥塞避免,例如 RED(随机早期检测)。

有关 QoS 的详尽信息,请参见 IETF 的 区分服务

4.7 H.323 信令协议

H.323 协议被使用,例如,Microsoft Netmeeting 用于进行 VoIP 呼叫。

该协议允许各种元素相互通信

  1. 终端,初始化 VoIP 连接的客户端。尽管终端可以相互交谈而无需其他人,但我们需要一些额外的元素来实现可扩展的愿景。
  2. 网守,主要操作
    1. 地址转换服务,使用名称代替 IP 地址
    2. 准入控制,允许或拒绝某些主机或某些用户
    3. 带宽管理
  3. 网关,TCP/IP - PSTN 转换的参考点。
  4. 多点控制单元 (MCU) 提供会议。
  5. 代理服务器也被使用。

h323 不仅允许 VoIP,还允许视频和数据通信。

关于 VoIP,h323 可以承载音频编解码器 G.711、G.722、G.723、G.728 和 G.729,而对于视频,它支持 h261 和 h263。

有关 h323 的更多信息,请访问 Openh323 标准此 h323 网站 和其标准描述:ITU H 系列建议

您可以在各种应用程序软件中找到它的实现,例如 Microsoft NetmeetingNet2PhoneDialPad、... 以及您可以在 Openh323 网站 找到的免费软件产品。


下一页 上一页 目录