客户自行开发new feature的时候,会用到DTMF检测,另外,我们内部的Auto Answer Machine也会用到,出现检测错误
的时候,可以参考此方法进行debug.
[SOLUTION]来自半导体社群
首先,需要确定是否有正确调用start DTMF检测的函数.
其次,看log,网络那边是否有IND发下来,我们这边是否有检测到.
抓log的时候,filter请打开:MOD_MED,MOD_MMI_APP,MOD_L1SP,MOD_L1SPHISR all classes on.
如果没有IND下来,请FT帮忙查看当前网络部分是否有问题.
如果有检测到,但是检测到的值是错误的话,可以参考如下debug方法:
把kt_detect.c里面的
//#define KT_DETECT_DEBUG
打开
开启debug 功能吼,每一次开启ktDetect会产生一个只有十秒的录音档案C:\KTDDdebug.pcm ,C:\ 可能要从META才可
以读取?如果需要换到SD card,需要变更code里面指定的磁碟。
因为只能录十秒,所以要在通話的一开始十秒就复制出來,如果不行的話,可以加大
static uint16 ktDDPcmDebugBuf[80000]; // for debug
以及
if( pcmDebugCnt < 80000 )
以上请在ktDetect.c中搜寻80000,然后统一修改成想要的值就可以加大录制的時间。
将复制出來的log 与PCM档、以及客戶所按的按键是哪些、错误检测而出现的又是哪一个数字等资讯拿到,我们再来进
行分析.
另外,需要注意的是,我们的DTMF检测本身存在误检测率,大致为5%.