首页>>>技术>>>VoIP

Spirent辛小秋:VOIP方面的测试方法和经验

姚易顺 2008/09/19

  大家好,我是思博伦亚太区负责语音的项目,我希望利用半个小时跟大家分享一下我们在VOIP方面的测试方法和经验。

  今天我讲的主要议程有四个方面:

  第一,VOIP测试方法学。
  第二,VOIP测试结果分析。
  第三,VOIP测试中常见的错误。
  第四,IP-PBX和IP呼叫中心的测试应用。

  思博伦在IP测试方面积累了多年的经验,总结来说在测试方法这方面有三部分,这三部分是环环相扣的,不能从第一步直接跳到第三步,这都是不可以的。在VOIP方面我们首先要进行孤立节点的测试。我们知道我们VOIP在网络当中节点很多从终端到网络节点到核心网的软交换等等都有很多,这些节点怎么样首先要孤立起来,孤立这些节点来测试它的语音质量性能。只有这样我们才能把网络里面每个节点的性能都很清晰地测试出来,看一看它真实的能力是不是负荷它设计的要求。我们做完第一步之后要进行第二步,第二步要解决兼容性的问题,我们在网络里面有多VOIP的节点,这些节点可能来自于不同的生产商,比如说华为的软交换和中兴的媒体网之间组织一个小的群体,在这个群体里面可能有一个、两个或者多个节点组成一个内测网络,我们再访问这个内测网络,解决兼容性的问题。也就是说,即使我们测试了华为的软交换它的性能非常好,但两个节点放在一起组成的网络性能可能集成的并不负荷要求。我们会进行端到端的测试方法,这个测试方法主要是考虑到用户的真实感受,也就是说用户拿起电话来进行呼叫到另一方的时候,对方是否能够听到清晰的语音,是不是我们能够感受到一些回声或者有的时候听不清。这种现象在真实用户感觉里面是非常敏感,也是造成用户投诉的重要来源。

  在VOIP里面我们知道功能测试,包括语音电话功能测试、电话业务功能测试、传真功能测试,比如说T30/T38/V34的测试。

  第二部分在VOIP性能测试包括压力测试和稳定性测试。大家往往重视第一方面而忽略第二方面的测试,通过压力测试看一下被测系统是否达到设置要求。第二个方面是稳定性测试,我们在大的话务量背景下我们要进行一些常保持的呼叫测试,在呼叫过程当中我们要检测一些呼叫参数比如说语音质量,看一下这些指标随时间变化的曲线是怎么样,比如说我们的语音质量,我们的语音质量往往在呼叫开始的时候非常好,但是过了一段时间尤其是IP网络,可能会突然产生恶化。大家都用过Skype和MSN进行通话,可能一开始都可以听到清晰的声音但是过了没有多久就会听到杂音或者回声或者语音断断续续的现象。在这种现象中我们称之为漏斗,这种漏斗上语音质量变化上可以很清晰的看到,比如说一开始是4.5或者4.2非常好,但是过了1分钟、2分钟可能会变成2.8,然后再加上可能会产生一个漏斗的情况。这个漏斗的多少或者漏斗出现的频率就可以反映我们被测系统的稳定性。在测试过程当中可以知道被测系统处于不稳定的状态,尤其是高话务量的背景下产生的影响,这些也是用户投诉的重要原因。

  VOIP性能测试方面,我们VOIP存在两个层面,第一个层面是控制层面也就是系列层面,在NGN网络里面是VOIP与PSTN网络融合,存在大量的信令协议来控制各种业务呼叫。第二方面是数据层面,数据层面是在NGN网络中的媒体流以RTP和传统TDM两种形式存在。

  所以我们VOIP网络性能的测试要点有两个方面:第一方面是控制层面的处理能力测试包括BHCA测试,我们要检测被测设备一个小时里面能够处理多少话务,以及CPS,还有信令有没有延迟、呼叫过程音有没有延迟,比如说用户拨完号以后多长时间可以听到回音,这种延迟会反映出用户的忍耐程度和网络性能之间的平衡问题。比如说用户只能忍耐2秒或者1秒,但是你在高话务量的情况下你达到10秒或者更高,虽然你测试以后很好但是这种情况放在真实网络里面用户投诉肯定是非常之多的。

  第二方面数据层面我们还要测试语音质量,语音质量测试也要考虑到用户的感受,我们规定入网的条件是4.0以上,4.0是我们的及格线。当然移动网络里面可以到3.5或者3.8。在这里面我们可以测试PSQM/PESQ/MOS,如果大于400毫秒的话我们认为是不合格的。

  对于VOIP测试方法举例,比如说测试软交换,这都是周围一些节点,我们使用测试工具来仿真周围的节点把软交换孤立起来。这就是我刚才说的第一种测试方法孤立结点的测试方法。这样的好处我可以清晰地得到这个节点的具体性能是不是达到我设置的要求。

  第二个例子是网关测试。我们在一个网络里面要测试很多个网关,这些网关可能来自于不同的产品和提供商,可能是来自华为、阿尔卡特或者中兴等其他厂家,我们用测试来仿真揭露网关的揭露终端来测试网关的性能。这样做的好处就是要检验出在我们单独对每一个媒体网关进行孤立节点测试之后我们还要进行融合的测试或者说兼容性的测试,是不是能够达到我们预期的效果。

  这是SBC的测试。测试工具通过仿真对于SBC进行测试,这类似于端到端的测试。

  这种测试是G-PON VOIP测试,我们用测试工具仿真接入和VOIP网络或者PSP网络部分进行性能测试,这也属于端到端的测试。端到端的测试我们要测试网络的性能和稳定性。

  这部分是我们专门在VOIP网络里来测试语音质量的,来体现我们真实用户如果使用你的VOIP网络来打这种电话的话他能够感受到什么,他能够感受到我摘机以后多长时间听到,我的语音情况怎么样,有没有断断续续,这些指标都是我们测试的重点。

  第二部分我给大家稍微讲一下VOIP性能的结果分析。所谓VOIP网络性能测试,刚才我说过了包括几个方面,有负荷压力测试有稳定性测试,我们采用不同的测试方法,不管怎样的测试网络性能测试都有很大的呼叫量对于被测对象或者被测的网络产生一定的压力,或者产生一个长时间的呼叫来测试它的性能和它的稳定性。

  首先我们讲一下负荷压力测试,分为同步呼叫和异步测试,比如说我的一万个终端可以同时启动我看软交换能不能同时处理。我们再假设一种情况软交换的设计是可以处理的,当然90%的测试结果是达不到满意的,也就是设计能力是能够同时受理1万个呼叫,但是真实模拟1万个呼叫的时候系统就达不到要求。即使产生了零亏损的状态我们还要验证一下限定时点还有其他的指标能不能达标。

  长保持测试方式,主要测试系统稳定性,比如说我们用了一万个终端保持一个小时或者八个小时呼叫,在保持过程中我们首先看一下这个呼叫有没有调换的现象,如果有调换的现象说明系统处于不稳定的状态。同时还要检验有没有漏斗的存在,也就是说我们要检测语音质量和其他指标随时间变化的曲线,这个曲线可以反映出系统稳定性的好与坏。一般来说漏斗是都存在,但是漏斗幅度大小不一样,比如说用语音质量来举例子,我们语音质量一般在4.5到4.0之间波动,但有时候我们的漏斗会到3.0以下或者2.0以下,这样的幅度是很深的,往往被用户听出来是很不好的感觉,比如说对方突然听不到或者存在杂音。

  下面说一下网络性能的指标的参数之一语音质量。大家知道我们普通的模拟终端要接入到IP网络必须要经过网关进行编码,各个厂家采用的方式不一样,有的要采取快速的算法,保留大部分人的中频声音。还有一些厂家可以采用比较全面的编解码把所有的声音都保留下来但是速度很慢,声音从主叫方传到被叫方时间会很长,如果你采用好的编解码方式时间会长,你采用很快的编解码方式可能对你的语音质量又有影响,这就是一个平衡点的问题。

  第二个影响语音质量的因素就是传输线路造成的。在传输线路上存在一些丢失,这些因素也会影响到我们的语音质量。另外还有一些回声,是与我们模拟系统进入到IP混合造成的回声,IP的网络还不能完全消除回声,只不过人是能听见还是不能听见的。另外还存在失真的问题,我们网络被动层的语音质量。

  我们用户关心的还有一些参数比如说呼叫过程音,用户一般摘机起来有一个拨号音,用户什么时候能够听到这是很重要的。另外还有忙音、拥塞音、回铃音,用户都非常熟悉。如果我们很长才能听到用户有会产生反感甚至会投诉。

  我们检验呼叫过程音的方法往往是采用时延的方法,用户摘机以后到听到拨号音的时间是多长,再一个用户拨完号以后到听到声音之前,我说的话到传到用户耳朵里面用了多长时间,可能就存在不是实时的表现形式。

  这些是呼叫的整个过程,都是用户关心的一些重要性能指标。

  像信令延迟,就是我们在不同信令里面发送和接受的时间差,这个时间差是有两方面造成的,大家可以看一下这个时间差,信令时延,比如说我发了一条消息到我收到一条消息可能是100或者200,这个时间差我们叫做网络给你的信令时间。不同的信令它的Post dial delay是不一样的。

  SIP是统一通信里面用的最多的信令,这个大家是非常熟悉的,比如说Response Time就是发出去100Trying的时间。

  另外思博伦想强调一点我们的性能测试真实性,其实这一点非常重要。有许多朋友就说你们为什么采用这种测试方法,我们自己有软件的测试完全可以替代,这里我们要强调一个真实性,所谓真实性来说我们仿真的设备和真实的设备要尽可能地接近,举一个例子比如说我们仿真一个模拟电话,要仿真它的物理特性和我们真实的电话完全一样,这样的仿真才叫真实性的仿真。如果我们用一个反应来仿真这些是做不到的。另外软件的功能也要和真实的硬件尽可能的接近。

  仿真测试环境的真实性,你搭建的测试性要尽可能接近你的设备部署到真实网络当中去,这样你测出的结果放到真实网络里面你的风险才最少,否则的话你测出来值非常高甚至根本没有测,这样完全是自欺欺人,有些IP呼叫中心到用户交互的时候做一下功能测试有可以了。将来话务量上去了很多用户打不通了,就是我们在实验室里面根本就没有做这些测试,根本就没有仿真我们将来可能遇到的高的话务量要求或者各种不同的呼叫模型,我们没有事先测试到,所以没有事先发现这些问题。

  仿真真实环境还有网络损伤的条件,我们访问一个IP网络,会有一些网络损伤指标,我们要用真实的设备运用真实的环境,要测试的时候特别要注意用户将来真实的感受。我们测试的目的并不是说我测试100万没有问题了,如果客户拿起电话要20秒才能听到声音,如果放在真实网络里面肯定不行。有些测出来之后加载了100万BHCA上去摘机可能需要好几秒才能听到声音,用户可能就认为电话机坏了,这样都是我们将来部署到网络可能遇到的风险,我们尽可能在实验室里面把它降到最低,这也是我们强调真实性测试的原因。

  下面我们讲一下VOIP测试结果的分析,比如说语音质量不能低于4.0,我测出来结果是4.1,我符合指标。但是有一些分析结果和我们的想像是相反的,比如说举一个例子就是语音质量分析的时候PESQ和E-model是相反的,E- model只反映网络传输的一些损伤情况,和编解码造成的语音损伤并没有很大的关系。这是我们分析的时候你在不同的指标里差距出现的时候我们要分析是由什么来造成的。

  还有语音质量和话务量如果成反比的话就说明你所承载的话务量已经超过了性能要求,比如说你设计要求是100万BHCA,我打到100万,但是语音质量已经很差到3.0了,这个时候你要把你的性能降下来,降到50万的时候可能语音质量就很好了,你得到这个值才是你真实的值,并不是前面虚假的值。

  对于网络性能我们还可以做进一步的分析,刚才我们都讲过了,这里就不多讲了。

  下面举两个例子看一下我们在VOIP性能测试里面常见的错误。第一例子我们测试是接入网关设计能力是15000BHCA,测试结果也是15000个,24小时测试结果呼损是0,以前我们的测试是达标了符合标准了,但实际上我们看一下其他的比如说用户拨完号听到忙音达到1500ms,PESQ达到3.0,你虽然性能非常好但是你的语音质量下降了,时延很长而且语音质量也很长。这个时候如果你把你的BHCA降下来,降到10000的时候看Dial是450ms,PESQ也增长到4.1,这样的情况才是你真实的网络性能指标,也就是AG真实的最大能力是1万,放在将来的网络里才不会出现风险。

  第二种场景也是我们常见的错误,比如说用户投诉我们语音质量不好,我们用意标来仿真两个终端做端到端的测试,比如说从北京测上海的用户,我们进行8个小时的连续呼叫语音质量很好,PESQ是4.2,但实际上我们看一下这个语音质量随时间变化的曲线,可以看到这个漏斗非常深,最低值到了1.4,最高值4.5,这样的漏斗出现说明这个网络稳定性很差,也就是有时候用户听不到你的声音或者听到很严重的杂音、回声等等现象都会出现,这就是用户投诉的原因。

  今天有很多IP-PBX和IP呼叫中心的厂家,我们来说一下Abacus的产品可能一些中小企业不是很熟悉,里面主要有Abacus5000和Abacus100,100主要是提供模拟的用户。Abacus50是小型的Abacus5000系统,功能完全一样,它把不同的接口分别做到不同的小盒子,适合分布式测试,也适合小公司做桌面的测试系统,里面提供模拟结构。

  Abacus是VOIP测试最佳业绩方案,它支持以下设备测试包括IP PBX、MGCF、SSW等,支持VOIP/PSTN的协议,可以支持的媒体有voice、video、FAx。

  IP呼叫中心逻辑结构,我们知道接入方式有多种由IP网络接入有电话的接入,现在我们呼叫中心都是采用了分布式的,并不是一个座席都在一个厅里,这是集中式的。现在分布式的接你的话务员,你在北京做投诉并不在北京,可能在成都或者在上海,这是一个分布式的呼叫中心。比如我们公司的很多话务员可能在印度或者北京。

  对于IP呼叫中心来说,第一部分要做它的性能测试,我们大家知道IP呼叫中心里面重要的一部分是IVR系统,IVR系统里面会有自动语音,比如说欢迎进入中国移动。这些语音在用户拨入的时候多长时间可以听到,另外用户是不是能够正确的听到,比如说我一个正常的用户接进去听到了欢迎进入中国移动系统这几个字是正常的,但是在高话务量的情况下有很多人同时打电话进来很有可能它的IVR系统延迟,可能10秒后才能听到或者听到错的,把其他菜单里面的语音调换给你听的,这些都需要我们解决的一方面。我们看它的欢迎词是不是正常发出来,我们多长时间可以接到。另外还可以进入到它每一级菜单里面,每一级菜单里面的语音是不是可以正确的回来,这都需要性能测试。还要测试一下回来的声音语音质量怎么样,是不是有很多的杂音,它的语音质量客观的评价指标是什么,是不是符合4.0以上的标准,它的延时是多长,这都是我们做性能测试重要的指标。

  第二部分我要强调IP呼叫中心的功能测试,IP呼叫中心之所以到现在发展很快,但是某些时候会出一些问题,因为大多数的生产厂家没有到现场去测试,给用户交互的时候没有做性能测试只是做了几个场景的功能测试就可以了,给客户演示的时候座席功能多少强大、呼叫转移非常强等等,实际任何功能测试都是在背景浏览下进行,也就是我们的功能测试和性能测试是密不可分的。我们要用性能测试意标来仿真出各种可能出现的呼叫模型,办法一定量的真实情况,在这种情况下再演示给客户,我们做的功能测试才是有意义的。我不知道这么说大家能不能清楚,这时候会验证出高话务量情况下对于呼叫中心处理业务量会有什么样的影响。

  另外一个例子就是IP-PBX,它会接入IP语音终端、PC,背后的终端可能进入IP网络也可以是PSTN网络,因此在它的性能测试里面我们都使用测试工具来方针不同的接口,进行融合的测试,来测试一下它的性能指标以及资源占用情况。

  我们还要做一些IP-PBX端到端的测试,我们要仿真真实的用户,模拟用户或者是IP用户进行两个两个IP-PBX之间的测试,比如你两个办公室一个在上海一个在北京,这两个办公室要进行IP通话或者模拟通话中间走的是IP网络,我们要测一下两点之间真实的语音质量怎么样,它的稳定性怎么样,是不是存在性能问题。

  今天和大家交流了思博伦的VOIP测试经验和方法,如果大家有兴趣的话我们还有展台,也提供了一些文字的资料。

  谢谢大家!

ChinaByte(e.chinabyte.com)



相关链接:
大唐高鸿张新中:构建安全高效融合通信系统 2008-09-19
高清 会议 网络增值成IP电话突破口 2008-09-18
Broadsoft张耀:托管式UC 2008-09-18
VoIP成功部署8步走 2008-09-16
VoIP部署过程中各种要素 2008-09-12

分类信息:     技术_测试系统_文摘