使用背景:
1.为了提升接通率,使用的一种简单的做法
2.识别O口网关先接通再呼叫的难点
目前的难点:
对于真实环境的录音,和彩铃音无法识别出来。
处理方法:
故目前可以对大部分使用简单应答,或无声的通话进行提前结束通话。
突破口:
1、目前我们标准的3大运营商的180 真铃音都是通用的嘟嘟声,比较有规律,时长间隔基本一致
2、通过分析声音的能量值发现,只有电脑应答或者通话出现异常的时候声音能量是最低的,接起来的通话,很少几率会持续出现这么低能量的声音
asterisk 试探法解决,可以通过main/dsp.c 中的
static int __ast_dsp_silence_noise(struct ast_dsp *dsp, short *s, int len, int *totalsilence, int *totalnoise, int *frames_energy)
和
参考static int tone_detect(struct ast_dsp *dsp, tone_detect_state_t *s, int16_t *amp, int samples)
算法,根据实际的声音的采样,来定义自己的处理业务逻辑。