问题描述:
在使用Dialogic Dialogic模拟线产品的时候, 对方挂机后, Dialogic检测不到挂机. 为什么? 环境: 这篇文档适用于Windows
NT/2000/XP和Linux上的系统软件. 方案概述: 今天大多数的PBX和交换机不使用环流下降来通知主叫或被叫方挂机.
而是, 他们使用了"挂机音", 它们通常和忙音相同. 一般来说, 当对话的主叫方挂机后, 挂机音会马上被发送被叫方. 相反的情况, 如果被叫方挂机,
主叫方会有30秒的延迟然后才会收到挂机音. 缺省来说, Dialogic板卡会检测环流下降作为挂机的原因. 这个文档提供了如何修改这个缺省方法来检测挂机音的步骤.
技术讨论: 有两种方法来实现挂机音检测: (1) 通过高级音频特性, 使用TSF文件来实现 (2)
使用通用音频检测(Global Tone Detection)编程实现 本文主要介绍第二种实现方法. ■
通用音频检测 (GTD) 这种方法可以用在任何平台上. 在这里, 你可以使用GTD函数调用来创建你自己的音频模板, 然后把这些模板加入到希望识别挂机音的通道.
为了让你的应用程序可以在多种PBX间通用, 音频的定义可以从一个参数文件中读取. 一旦你创建了一个定制的音频模板, 你可以使用dx_initcallp()
来把它在某一个通道上激活. 在每一个你希望进行挂机检测的通道上都调用一次dx_initcallp()函数. 语音软件参考手册提供了详细的步骤关于使用GTD函数.
这里仅仅是一个例子: ■ 使用一个TPT结构, 在收到挂机音后, 终止放音动作
■
使用CST消息处理函数来处理一个挂机音
|