一、Voip小结影响VoIP语音分组网络的因素:
  1. 延迟
  a) 传输延迟
  由传输介质所决定
  b) 处理延迟
  由网络设备转发帧所产生的延迟
  在Cisco IOS IP电话中,使用G.729,会产生5毫秒的延迟,DSP每10毫秒就要产生一个话音采样样本。而每两个就要放到一个同一个分组。所以产生一个分组会产生25毫秒的延迟。
  Cisco通过使用DSP来构造帧,不通过路由器来进行帧的处理,可以降低路由器的负载。
  c) 队列延迟
  由网络中的队列策略所决定的。
  ITU-T G.114建议对于好的话音质量,单向端对端的时延不大于150毫秒。Cisco的语音设备可以在背对背的情况下,端对端的时延是60毫秒。所以留给了网络90毫秒的时延。在无管理的,拥塞的网络中,排队时延可以高达2秒钟。而队列延迟只是端到端延迟的一部分,另一个因素是颤抖。
  
  2. 颤抖
  定义:分组到达目的地间隔时间的变化。严重的颤抖会造成网络的总延迟。
  措施:使用颤抖缓存器,这是一个软件上的概念。是指一个以时间为单位的缓冲区,或是一个动态队列,根据RTP分组到达时间的情况,这个队列可以相应地增长或缩短。根据相邻的数据报进入缓冲区的数据的时间差别,在缓冲区里进入的数据包是一边进入一边进行处理的,处理和进入的速度是相同的,当网络里产生了颤抖,可以动态的缩短或增长缓冲的大小,来补偿颤抖所造成的数据的延迟。
  
  3. 语音压缩
  PCM(脉冲编码调制):使用8个到12比特位对话音的振幅进行编码。
  ADPCM(自适应差分脉冲编码调制):使用4个比特位对话音的振幅差,以及振幅的变化速率进行编码。
  G.711----64Kbps PCM话音编码技术
  G.726----速率为40,32,24和16Kbps的ADPCM编码。
  G.728----描述CELP(编码激励线性预测压缩)语音压缩的一种16Kbps的低延迟变种。
  G.729----描述可以把话音通过编码压缩为8Kbps流的CELP压缩标准。其中G.729和G.729A
  可以提供与32Kbps ADPCM相当的话音质量。
  G.723.1----描述一种压缩技术,作为H.324标准系列的一个组成部分,我们可以用来以很低的比特率压缩多媒体业务的语音或其他音频信号。
  
  4. 回声
  定义:由阻抗失配造成或其他原因,造成用户发出的语音遭到弹回。
  解决措施:回声消除器,把用户发出语音的反向镜像保存一段时间,监听来自对端用户的声音,并减去反向镜像,起到消除可能的回声。
  关键参数:“回声尾巴”,指回声消除器受等待接受反射话音的总时间。如果配置得太小,会造成容易造成回声;如果太大,则消除器会用更长的时间汇聚并消除回声。
  
  5. 分组丢失
  定义:如果系统没有收到所期待的话音分组(期待时间是可变的),则可以认为该分组已经丢失,并把最后收到的分组再次播送一次。由于分组丢失只是20毫秒的语音,一般的收听者不会注意到话音质量的不同。
  措施:“补偿策略”,当有分组丢失并且颤抖缓冲器满的时候,接受方会重新播放最后收到的分组,于是收听者不能听到静默间隙。
  
  6. 话音活动检测(VAD)
  
  7. 数模转换
  
  8. 串行编码
  定义:指在语音传输中,经过多次解压缩后,造成语音质量下降。不同编码器对串行编码的反应不同。G.729可以容忍两次压缩/解压缩的处理,G.723.1对多次压缩处理的健壮性不高。这种现象在集中式管理拨号的情况下出现得比较多。
  解决措施: 使用Gatekeeper或是Call Manager
  
  9. 传输协议
  RTP/RTCP/RUDP
  什么是RTP?
  首先,IP网络不是一个有同步架构的网络,随时会出现重传,丢包,乱序等情况,对于语音和视频等一些对时间敏感的应用,需要一种机制来维护同步。Real-Time Transport Protocol,用来在IP网络上传输视频或语音数据。但是它不保证适时的传输,它主要提供了两种关键特性:在每个分组上打上序列号,防止在传输的过程中产生乱序;在分组上贴上时戳,使数据接受者可以控制颤抖缓存器的大小。RTP不是传输层的协议,它是运行在UDP之上,它建连接时,不是使用保留的UDP端口号,而是每条连接使用各自的端口号,可以使一台设备提供多条并发连接,而不会产生冲突。
  什么是RTCP?
  RTCP是RTP数据中控制部分,RTCP对Internet上任意规模的实时会议提供支持。这种支持包括源发标识和网关支持,例如音频和视频网桥,以及多点广播到单点传输的转换。RTCP还提供接受者对多点广播组的QoS反馈,以及对不同媒体流同步的支持。
  什么是RUDP?
  可靠用户传输协议,它实现了传输的可靠性,但又不用基于面向连接的协议,例如TCP。它可以实现一定的冗余性,它可以同时发送多个相同数据包,以防丢失。
  
  10. 拨号计划设计
  补充:
  在应用中可以简单理解为:
  FXO为普通电话机接口,需要远程馈电;
  FXS接口为PBX的内线分机接口,向远程馈电;
  E&M为专用的一般用在PBX中继线接口。
  如果PBX上配置了E&M接口板当之无愧采用E&M接口,这也同CISCO的说法是一样的;
  FXS接口用于连接电话机,连接PBX的普通中继线也可以,用CISCO设备的FXS接口向PBX中继线提供馈电信号;
  FXO接口用于连接PSTN,用于连接PBX内线分机也可以,由PBX向FXO接口提供馈电信号。以上是对于用户PBX的分析,对于局用机则更加灵活。
  
  H.323协议栈
  一. 软件组成
  功能 协议
  呼叫信令 H.225
  媒体控制 H.245
  音频编码器 G.711,G.722,G.723,G.728,G.729
  视频编码器 H.261,H.263
  数据共享 T.120
  媒体传输 RTCP/RTP
二. 系统组成
  1. 终端:
  提供点到点和多点会议的音频,以及可选的视频和数据。H.323终端必须有系统控制单元,媒体传输,音频×××和基于分组的网络接口。
  2. 网关:
  负责转换音频,视频和数据之间的传输格式,以及进行通信系统之间和通信协议之间的转换,包括IP网络和SCN的呼叫建立和撤销。
  3. 网守
  向H.323末端点提供每个呼叫以及呼叫级别的控制服务。它需要完成以下功能:
  地址转换―提供H.323别名和E.164地址转换成IP地址服务。
  授权控制―使用ARQ/ACF/ARJ消息,提供对H.323的认证访问。
  带宽控制―由使用BRQ/BCF/BRJ消息,管理末端点带宽请求。
  时区管理―用于注册了的终端,网关和MCU。
  4. MCU
  MCU是一个支持多点会议的末端点,并且至少包含一个MC和一个或多个MP。MC:多点控制器,支持多点会议中的三个或更多端点之间的会谈。它可以控制各个末端点的多点会议能力。
  MP:多点处理器,接受视频/音频/数据流,并将这些传输数据分发给参加多点会议的末端点。
  5. H.323代理服务器
  主要起到一个弥补的作用,可以针对一些功能不全的H.323终端提供完善的功能。比如:RSVP,地址转换,路由分离,防火墙功能提供H.323数据的安全性。
  三.H.323协议
  1. 注册,许可和状态信令(RAS):
  在H.323基于Gatekeeper的网络中,提供呼叫接通前的控制。是在IP网络上的末端点和网守之间建立的,它在任何其它通道建立前打开,并独立于呼叫控制信令和媒体传输通道。依靠UDP非可靠传输协议来传输执行注册,许可,带宽改变,状态以及解除过程的RAS消息。
  网守发现:分为两种方式,手动和自动;手动通过设置网守的IP地址,来达到在网守上注册的目的;自动通过末端点发送组播(224.0.1.41)来发现网守,网守的UDP发现端口是1718,注册和状态端口号是1719。
  2. 呼叫控制信令:
  用于末端点之间的连接,维护和断链。基于H.225信令,该建议规定了Q.931信令协议的使用和支持。在TCP1720端口上跨IP网络创建可靠的控制通道。这个端口在两个末端点之间发起Q.931呼叫控制信息,以进行连接,维护和撤销呼叫。但是实际的呼叫控制和保持活动消息在初始呼叫建立完成之后,会转移到临时端口。
  信令过程
  3. 媒体控制和传播:
  提供传输媒体控制消息的可靠H.245通道。通过UDP流进行传输。H.245处理H.323实体之间的端到端控制信息。使用动态端口创建链接在IP上,并且有多少和末端点进行建链过程,就会创建多少条H.245通道。
  控制的内容:
  能力交换:协商各个末端点的语音参数,如G.729,采样率等
  主从端接:用于消除末端点之间的冲突,尤其是当两个末端点进行相同的操作时,可以决定那个优先。
  往返延迟:用于确定源和目的末端点之间的延迟。
  逻辑通道信令:打开和关闭传输音频,视频和数据消息的通道;建立双向单向通道;网守可以根据信令来确定如何进行路由。
  快速连接过程:可以使得基本的点到点呼叫的媒体连接建立可以通过一个往返消息交换完成。这是一个参数,它包含在H.225信令协议的消息中,如果H.225消息里包含了这样的参数,那么在H.225协商完之后,就可以通过两个简单的消息,开始媒体传输了。
  洞穿H.245:指可以在H.225呼叫信令通道内封装H.245消息,而不是建立单独的H.245控制通道。
  系统架构
  系统呼叫过程
SIP协议
  一. 特性
  1. 确定目的末端点地位置,支持地址解析,名称映射和呼叫重定向。
  2. 通过使用SDP协议来确认各个末端点的能力,以确保在进行多路会话时,各个端点都能支持。
  3. 确定末端点的可用性,以及不可用的原因。
  4. 确立链接,如果一个底层呼叫(call setup)完成,SIP在两个末端点之间建立端到端的连接。
  5. 处理呼叫的转移和中止。
  二. 系统组件
  1. 用户代理:SIP是一个端到端的协议,它的两个端点充当UAC,UAS的角色。
  ? UAC(User Agent Client):用户代理客户端,发出SIP请求的客户端。
  ? UAS(User Agent Server):用户代理服务端,接受SIP请求,并发出回应。
  ? 在SIP中,没有绝对的客户端和服务器端,同一个末端点可以同时作为服务端和客户端,但不能同时作为。
  2. SIP网关:
  ? 提供呼叫控制;
  ? 提供SIP终端和其他类型终端的信令转换;
  ? 提供视频,音频编码的编译;
  ? 呼叫的发起和清除(局域网和交换电路网)
  3. SIP服务器
  代理服务器:接受客户端的SIP请求,在把报文转发出去给其他服务器前,改写报头的标识,重写该代理的标识为该请求的发起者,并确保回应按照相同的路径回到该代理,而不是客户。同时提供了认证,授权的功能。相当于H.323里网守的功能。
  重定向服务器:接受SIP请求,并将包含下一跳服务器地址的重定向应答返回给用户。不接受呼叫,也不处理或转发SIP请求。
 
  三、架构
  1. SIP服务器:除了代理和重定向服务器,还有注册,定位服务器。
  注册服务器:用于移动的SIP用户,可以自动注册到注册服务器,把终端的方位信息给到注册,定位服务器上,可以让其他用户通过查询定位服务器找到终端。对定位服务器的查询是由代理服务完成的。
  2. 命名:以URL形式来进行终端命名,如[email]sss@ebp.com.cn[/email]的这种形式,通过了DNS服务器来转换成IP地址,所以SIP可以最大程度的使用Web方式的应用。