VoIP学习备忘

 

学习笔记 — 作者 tiger55cn @ 23:32

参考书目:《Carrier Grade Voice over IP》

一些基本的VoIP元素
媒体网关(Media Gateway):主要扮演将语音讯号转换成为IP封包的角色。
媒体网关控制器(Media Gateway Controller):又称为Gate Keeper或Call Server。主要负责管理讯号传输与转换的工作。
语音服务器:主要提供电话不通、占线或忙线时的语音响应服务。
信号网关器(Signaling Gateway):主要工作是在交换过程中进行相关控制,以决定通话建立与否,以及提供相关应用的增值服务。

媒体网关(MG)的分类
中继媒体网关(TG):用于完成与PSTN/PLMN电话交换机的中继连接,将电话交换机PCM中继中的64kbit/s的语音信号转换为IP包。
信令网关(SG):用于完成与PSTN/PLMN电话交换机的信令连接,将电话交换机采用的基于TDM电路的七号信令信息转换为IP包。
接入网关(AG):提供模拟用户线接口,用于直接将普通电话用户接入到软交换网中,可为用户提供PSTN提供的所有业务,如电话业务、拨号上网业务等,它直接将用户数据及用户线信令封装在IP包中。

IAD(Integrated Access Device)综合接入设备
一类IAD同时提供模拟用户线和以太网接口,分别用于普通电话机的接入和计算机设备的接入,适用于分别利用电话机使用电话业务、利用计算机使用数据业务的用户.
另一类IAD仅提供以太网接口,用于计算机设备的接入,适用于利用计算机同时使用电话业务和数据业务的用户,此时需在用户计算机设备中安装专用的“软电话软件”。

PBX,即程控交换机。PBX是现代办公常用的电话通讯管理手段的一种,使电话管理者可集团性管理外线来电与内线呼出。
PBX设备一般由外线口与内线口构成,外线指接入集团电话中的外线总数,内线是为员工所安排的的电话数量。PBX的外线口是FXO,内线口是FXS。
FXO,外部交换局,英文全称是Foreign Exchange Office。是中继接口,一般与局用机或上一级交换机的分机端口对接,给上一级交换机提供一个出局路由,能实现环路远程汇接功能。
FXS,外部交换站,英文全称为Foreign Exchange Station。是话机终端接口,一般接下一级交换机的中继端口或电话机,为下一级交换机的分机提供一个出局路由来拨打IP电话。


会话质量包括哪些因素呢?
a.延迟:round-trip delay不能超过300ms.
b.抖动:关键在于保证延迟的一致性,解决方法是使用jitter buffers.
c.包丢失:包丢失率不能超过5%;
重传策略:1.退后n帧;2.选择性重传。
d.语音编码技术:很多,较常用的如G.711,比特率64kbps。

管理与优先级:例如,当有一个大文件传输占用网络带宽时不会出现队列中的语音包拥塞就是一项关键的工作。

VoIP有哪些应用呢?
a.基于IP的PBX:将企业的电话系统和计算机网络合二为一;
b.IP Voice Mail;
c.Hosted PBX solutions;
d.IP call centers:即客服中心;

IP协议相关
Indentification用来标识属于同一个datagram的fragments;
Flags域表示一个数据报是否能够再分,如果此数据报已分段则表示是否为最后一个fregment;
Fragment Offset用于在目的端段的按序合成;
Time to Live(TTL)实际上不是时间,而是允许经过的最大段数(hops);
Protocol中TCP的值为6,UDP的值为17;

TCP协议相关
将数据流分成segments,每个segment加上一个TCP头;
如果一个segment的sequence number为100且包含150 octets(=byte),则下一个segment的序列号为250;
URG:是否包含紧急数据;
ACK:acknowledgement;
PSH:Push function,说明数据应该被立即发送到接收方;
RST:出现错误并中止一个会话;
SYN:建立数据传输时用在初始信息中;(即此flag设为1)
FIN:正常的结束会话。
window field:当TCP收到数据并发送一个ACK时,使用此域说明可用的空缓存空间。

UDP协议相关
Source Port是可选的,除非发送方期望得到一个回应;

为什么Voice over UDP,not TCP呢?
UDP的包丢失完全在可以忍受的范围内;
由于对延迟极度敏感,而TCP的重传机制会带来不可忍受的延迟,这在通信中是致命的;
包丢失率只要小于5%就不会对通话质量产生太大影响;
事实上,使用UDP时大多数包都经过相同的路由;
QOS技术也会不断成熟以不断改进通话质量。

网关:例如在北京拨打一个到旧金山的长途电话,在北京,一个普通的公共电话通过 PSTN接入本地网关,本地网关对数据进行特定的压缩算法处理,组织成包含主、被叫号码、时间、通话信息等数据的IP分组,并分析被叫号码,根据路由表,把它映 射成为一个IP地址,通过路由选择,发往该IP地址(如旧金山)对应的远端网关。 而在被叫方旧金山,远端网关接收北京本地网关传输过来的IP数据分组,进行相反过程的解压缩,再发往其本地端的PSTN网。这样,就实现了两地的实时通信。而其 所包含的通信费用仅为北京本地普通电话费+Internet通信费+旧金山本地电话费。

 

RTP相关
--------------------------
| IP | UDP | RTP | Data |
--------------------------
包含time-stamp
RTCP包用于质量反馈的传输;
RTP会话和RTCP会话总是同时开始;
RTP的默认端口号是5004,RTCP是5005;
RTP中的payload type用来表示各种不同的编码标准,7bit,35-71及77-95待定,96-127动态,72-76保留;
RTP header:
Version(V)当前版本为2;
Padding(P)当P=1时表示包含一个或多个填充字节以进行32bit对齐;
EXtension(X)是否包括头部扩展;
CSRC Count(CC)CSRC的个数;
Marker(M)用于支持silence suppression,在一个talkspurt的第一个包中设成1;
Payload Type(PT)一般来说每个单独的RTP包只包含一种载荷的编码格式,但是也有意外,比如RED profile就包含多种编码格式,此时每种编码的载荷由额外的头部管理,PT值仅仅表示这是一个RED载荷,具体可参考RFC 2198;
Sequence Number 一个会话开始时设置为一个随机值,之后每个RTP包中此值依次加1,用于检测包丢失及接收方排序;
Timestamp 记录了负载中第一个字节的采样时间,用于计算延迟和抖动;初始值为随机值,根据连续两次RTP包之间进行的采样数递增;
Synchronization Soruce(SSRC)表示负责设置序列号和时间戳的实体,通常是RTP包的发送者。标识是随机选择的所以与网络地址无关。另外,如果RTP流来自一个混合器,则SSRC表示此混合器而不是媒体源;
Contributing Source(CSRC)用于当RTP流来自一个mixer时表示此mixer后的媒体源。
RTP Header Extensions:X域值为1时有效,此时payload的前几个字节做为具有特殊含义的扩展头部,紧跟在CSRC域之后。

Mixers
合成多路媒体流:鉴于带宽问题mixer将4路64kbps的RTP流合成为一条单独的64kbps的流。
调整数据格式:如在一个高速连接的会话中出现一个低速的连接接入者,mixer可能会对其使用低带宽的编码机制;
设置时间戳的值。

Traslators
仅做媒体格式转换之用,不是一个SS(Synchronization Source)。

RTCP相关
能够在会话参与者之间进行周期性的控制信息交换,主要目的是提供质量相关的反馈。通过使用RTCP和IP多播机制,可以进行第三方的监视和检测。
RTCP定义了5种不同类型的RTCP包:
1.Sender Report(SR)用来中继发送和接收统计;
2.Receiver Report(RR)只接收而不发送媒体流的参与者发送的接收统计;
3.Source Description(SDES)包含某一特定会话参与者的一个或多个描述。必须包含一个唯一的canonical name(CNAME)用于标识会话的参与者,它不同于SSRC,因为当主机reset后SSRC的值可能会发生改变。再者,如果在一个给定的会话中,发送者同时发送音频和视频的两路RTP流,则这两种媒体流有不同的SSRC值但是却有相同的CNAME;
4.BYE 表示一个会话中的参与中止;
5.APP 用于调查特定的媒体类型和应用信息,不过RTCP没有明确APP包的详细内容。

事实上,总是两个或多个RTCP包被捆绑成一个混合包发送出去的。所有的RTCP包都必须以一个SR或RR开始,都必须包含至少一个SDES,即使在SDES之间加上一个空的SR或RR。
Compound Packet举例:(发送者离开此次会话)
H:Header D:Data
-------------------------------------------------------------
| SR H | SR D | SDES H | SDES D | BYE H | BYE D |
-------------------------------------------------------------

RTCP Sender Report(SR)
由三部分组成:header,sender information和多个Report Block
1.header:
RC域,表示含有多少个receiption report blocks,5bit,一个SR之后最多可以跟31个RR blocks。当RR多于31个时只需在最后一个RR后再跟一个SR即可;
Payload Type(TP)的值为200;

2.Sender info:
SSRC of sender 发送者的SSRC;
NTP Timestamp 两个字,第一个表示整数部分,第二个表示小数部分,以1900年1月1日00:00时为参照时间,单位是秒,小数部分精确到200皮秒,此版本的网络时间协议2036年到期,在此之间应该会有新的版本,此时间戳信息来自于一个时间服务器,这个服务器通过NTP协议在网络上传播计时信息;
RTP Timestamp 同时包含RTP和NTP时间戳是为了使接收方更好的于发送方保持同步;
Sender's packet count 记录从会话开始到此RTCP包发出这之间所传输的RTP包的总数,只有当发送者的SSRC值改变时此项才重置;
Sender's octet count 记录从会话开始到此RTCP包发出这之间所传输的载荷字节的总数,只有当发送者的SSRC值改变时此项才重置;

3.RR Blocks:(RR用于反馈RTP包的接收情况)
SSRC_n 表示与此RR块相关的会话参与者的源标识;
Fractioin lost (8bit)表示包的丢失率是多少,即丢失的包的数量除以期望的包的数量,丢失的包的数量可以通过每次检查RTP包头中的Sequence Nmuber统计出来;
Cumulative number of packets lost (24bit)从会话开始至今丢失的包的总数;
Extended highest sequence number receirved (32bit)低16位表示最近收到的RTP包的序列号,一般情况下高16位全为0,但如果收到的某一个发送源的序列号出现循环,则在它的相应RR段中此高16位值表示已循环的次数;
Interarrival jitter 对RTP包到达不一致性的估计;
Last SR Timestamp(LSR) 表示所接收到的此RR块对应的SSRC发送的最后一个SR中64-bit NTP时间戳的中间32位,以告知它所发送的SR是否已经被收到;
Delay Since Last SR (DLSR)从收到最后一个SR到此RR块被发出经历的时间,精确到1/65536秒。

RR包包括header,发送者SSRC以及Report Blocks,基本与SR相同,只是header中的PT值为201。

RTCP Source Description Packet (SDES)相关
必须存在于每一个RTCP混合包中,由一个header和0个或多个chunk组成,header中的PT值为202,SC的值表示chunk的个数;
每个chunk包括一个SSRC或CSRC值,之后是一些SDES项,比如email地址、电话号码、姓名等等,但是有一个项是必需的,即CNAME,它的形式为user@host

RTCP BYE Packet
PT值为203,SC表示SSRC或CSRC的数量,在这之后有个length域表示文本字符串的字节数,length域之后是以文本字符储存的离开会话的原因。

Application-Defined RTCP Packet略

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前 言 Cisco的网络产品已经使世界发生了革命性的变化。准确地讲,Cisco网关、路由器和交换机构筑了Internet的主干网。每天都会有数亿美元的商业利润通过它们滚滚涌来。而近几年来发生的这些惊人变化还只是这场革命的开端。在网络短暂的历史进程中,最具活力的事件也许即将发生:把语音和数据技术结合成一种统一的传输模式。随着Cisco新的语音解决方案系列的发布,从传统的PBX语音解决方案到基于IP的语音解决方案的转移将会以指数级加速进行。 Rt.1 Solutions提供给客户的是一整套支持其关键应用的网络咨询服务。专门构造的方法可以让我们把自己的专长交付给服务提供商,也可以交付给企业客户。对于我们的大多数客户而言,不管处于什么行业,也不管处于什么时期,网络具备承载语音、视频和综合数据的能力将是他们赢得竞争所必须具备的前提条件。 在这一点上,本书是很好的指导书,而且,对于任何一位要安装、配置以及维护Cisco语音产品的人而言,本书都是一本核心参考书。它使得你对复杂但又非常重要的技术和产品都有一个基本的了解,并且还提供了现实生活中的例子以便能够更好地说明实际配置情况。Ralph Troupe Rt.1 Solutions 总裁 目 录 译者序 前言 作者介绍 第1章 Cisco语音解决方案和商业可行性 1 1.1 简介VoIP概念 1 1.2 语音技术概略 1 1.3 基本的长途旁路设计 5 1.3.1 通信线路替代 5 1.3.2 投资回报问题 11 1.4 网络PBX 14 1.5 先进性和集成性 19 1.5.1 TAPI集成 20 1.5.2 网上通话 20 1.5.3 传递、转发和协商能力 21 1.5.4 传真 21 1.5.5 呼叫详细记录和数据发掘 22 1.6 基于帧中继的语音(VoFR) 23 1.6.1 帧中继用于什么地方 23 1.6.2 什么时候VoFR比VoIP更有意义 23 1.6.3 长途旁路的机会 24 1.7 基于ATM的语音(VoATM) 26 1.7.1 VoATM用在什么地方 26 1.7.2 服务质量(QoS)与可用性 28 本章总结 29 常见问题解答 31 第2章 电话概论 34 2.1 简介 34 2.2 模拟信号与系统 34 2.2.1 基本系统操作 35 2.2.2 拨号脉冲信号发送 36 2.2.3 双音多频传输法 37 2.3 模拟网络部件 37 2.3.1 环路点和接地点 39 2.3.2 语音编码的标准和技术 40 2.3.3 波形编码 40 2.3.4 源编码 41 2.3.5 模拟信号构成 43 2.3.6 布线 45 2.4 模拟信号发送 48 2.5 模拟—数字转换 50 本章总结 52 常见问题解答 53 第3章 IOS 语音协议 54 3.1 IP 网络概述 54 3.2 VoIP信令、寻址和路由 56 3.3 H.323标准系列 58 3.3.1 H.323 简介 58 3.3.2 H.323组件 59 3.3.3 H.323协议栈 61 3.3.4 H.323 呼叫过程 63 3.3.5 H.323终端之间的信号发送 70 3.4 会话初始协议 71 3.4.1 会话初始协议的主要优越性 71 3.4.2 会话初始协议组件 71 3.4.3 会话初始协议的消息 72 3.5 媒体网关控制点 73 本章总结 74 常见问题解答 75 第4章 VoIP的基本配置 76 4.1 语音端口的各种类型 76 4.1.1 局外交换站接口 76 4.1.2 局外交换局接口 76 4.1.3 听说接口 77 4.1.4 T1语音连接 78 4.2 语音网络模块和语音端口模块 79 4.2.1 语音网络模块 79 4.2.2 不同类型的声卡 80 4.2.3 把VNM和VIC连接到路由器 82 4.3 语音端口电缆和配置 83 4.3.1 2600和3600系列的语音编号 83 4.3.2 连接命令 90 4.3.3 直接语音中继与拨号翻译 90 4.3.4 监督拆线 91 4.3.5 闪烁开始信令与立即开始信令 91 4.4 拨号方案和拨号对等体 91 4.4.1 拨号对等体 91 4.4.2 呼叫支路 92 4.4.3 创建并实现拨号方案 93 4.4.4 号码扩展 94 4.5 租用线路上的VoIP QoS 96 4.5.1

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值