个人资料
正文

使用网络电话最难缠的问题:DTMF talk-off

(2010-02-23 12:45:40) 下一个

几件怪事


使用网络电话差不多有四个月时间,这当中出了不少怪事。

在春节前的一天一个朋友打电话进来,通话中间突然听到一个标准的女声:“Start recording。”这让我朋友非常惊奇,我一下觉得很汗颜,赶紧给朋友解释说这是网络电话中间出了点故障。第二天另一个朋友打电话进来,又出现同样的问题,简直有点让我无地自容。当时用的是Google Voice的号码。Google Voice有录音功能,你没有让它录音,可是它偏偏就要给你录音,真让人不知所措。过去也发生过无故自动录音的情况,可那时只是听到“嘟!”这样的声音,并没有直接说开始录音了,所以还不会让人这么没面子。

另一个怪事是打电话中间莫名其妙地响起间隙性的“嘟!嘟!”声,会一直持延续到通话结束。不是经常发生,但是在年三十和大年初一那天各发生了一次。以前有一次我特地看表,发现是每3秒钟“嘟”一次。

还有就是我老婆在公司给我打电话,通话开始常会出现非常响亮“嘟!”的一声,她觉得很奇怪,甚至怀疑是不是公司在暗中对员工通话进行录音。可是我这边听不到,所以也搞不清楚怎么回事。

罪魁祸首

出现这些情况开始很惊奇也不知道是怎么回事,以为只是偶然出现的故障,在春节期间集中出现这些情况后,觉得问题比较严重,甚至后悔当初把固定电话取消了。后来到论坛上询问才知道所有这些问题都是 DTMF talk-off 引起的。DTMF (Dual Tone Multi Frequency 双音多频)就是我们拨号用的 Touch Tone 这个技术,看下表就比较容易明白。当我们按一个电话键的时候,就有包含两个频率的信号(Dual Tone)送出。比如你按1,就有一个697Hz和1209Hz的信号送出,而电话公司的交换机或你的ATA收到这个频率组合,就知道你按的是1。其余类推。这里用了多个频率(Multi Frequency),由四个一组的低频和四个一组的高频交叉组合表示十六个数字和符号。


这是贝尔实验室发明的。但是问题也出在这里。就是当我们通话的时候,不管什么原因,如果你的ATA接收到对应表中所列的两个频率组合的信号,它就认为你按了相应的键。下面的图中显示了人声和乐器的频率范围:



从图中我们知道,有的人声也包含部分DTMF使用的频率,特别是女声。因此说话可能引发按键的效果,这就是DTMF talk-off。这个名词也是贝尔实验室造出来的,因为他们当初发明DTMF的时候就遇到了这样的问题。

用固定电话一般不会遇到这样的问题,因为现在技术已经非常成熟,而用网络电话这种问题就很多。如果用DTMF talk-off 搜索会找到很多信息,你会发现这不仅仅是网络电话的问题。 Google Voice 用电话上的按键4控制录音,我们看到上表中4对应的两个频率770Hz和1209Hz是比较低的,有些人声就覆盖这两个频率,所以容易被声音激发。就是说当我在通话的时候,如果声音中出现了包含770Hz和1209Hz的成分,而且信号的强度和持续时间都达到了ATA中预设的阈值,那么ATA就会认为我按了电话上4这个键。然后ATA就把这个信息变成数字信号送出去。而Google Voice那边收到这个信号,就认为我要求开始录音,于是就说“Start recording!”回应。实际我没有按任何键。就这个问题来看,Google Voice有设计问题,因为只按一个键就开始录音,这很容易被 DTMF talk-off 误激发。你不知道什么时候会引发录音,这就是让人头大的问题。有人建议Google Voice应该设计成两次按键后才开始录音,这样就不容易被误激发。

解决方法

这个问题很难杜绝,但是可以降低发生的几率,如果发生的几率足够小,在实际上就可以认为不会发了。首先需要分清问题发生在那里。如果是自己听到“嘟”的声音,那就是对方的问题;如果是对方听到,那是自己这边的问题。 自己这边的问题可以通过调整ATA的一些参数解决。有的说把DTMF Tx Method设成InBand就好了,但是我感觉帮助不是很大。因为我这样设了之后两头都听到过“嘟”的声音。为了解决talk-off的问题,Linksys 在新的SPA3102和SPA2102的firmware中给了选择DTMF Tx Mode: Strict,并且可以设置DTMF Tx Strict Hold Off Time(在line1上设置,截图如下)。这个时间出厂设置是40ms,

我后来改成90ms,有些效果。虽然我老婆在她那头还是听到了“嘟”的一声,但是比原来弱很多,出现频率也小多了。我再搜索网上,见有人使用180ms,于是我就填上180,用了几天电话的那一头都没有听到“嘟”了。

另一种办法就是在Regional页面降低 FXS Port Input Gain,出厂设置是-3,有人说调成-6就好了。我还没试过。象PAP2T之类的装置没有 DTMF Tx Strict Hold Off Time 这个选项,把输入增益从-3分贝降低到-6分贝是一个选择。 

至于说只是自己这边听到嘟嘟声,有人说解决的办法是把 DTMF Process AVT 设成 NO,还有人说把DTMF Process INFO 和 DTMF Process AVT 都设成 NO。这样作的问题就是你不能远程控制你的电话。这个我还没有试,我想一步一步来,先保证对方听不到任何奇怪的声音这是第一步。

也欢迎遇到同样问题的朋友多试试并分享自己的经验。
 
结束语

这些问题只是偶尔出现,但是如果不知道原因和解决的办法,就总是一块心病,因为你不知道何时问题会出现。你会担心是不是会在打一个重要电话的时候问题突然冒出来。能够把这些问题解决了,才能够安心地享受网络电话所带来的方便和自由。拿起电话就可以直接拨打全球,真的让人觉得很爽。话费很便宜,想讲多久就讲多久,根本不用考虑化了多少钱,这是一种自由。由于是自装的,很多功能都能免费使用,比如说Caller ID,caller waiting, three-way conference call,call back,call forwardding,distictive ring 等。如果要从AT&T购买这些功能,每一项月费都是几块钱,加起来每月可能得化上百美元了。而自装网络电话这些功能就在你的ATA里面,所以不用额外花费一分钱。

解决了DTMF talk-off的问题,可以说网络电话的安装调试结束了。
[ 打印 ]
阅读 ()评论 (0)
评论
目前还没有任何评论
登录后才可评论.