Asterisk AMI PlayDTMF 在 features.conf 中实例化断开组合键

Asterisk AMI PlayDTMF to instantiate disconnect key combination in features.conf

我目前正在玩 AMI。我似乎遇到了一个问题,即利用 'PlayDTMF' 操作将在频道上发出而不是被视为传入 DTMF。

这有点问题,我在下面提供了我的 features.conf 文件配置:

Builtin Feature           Default Current
---------------           ------- -------
Pickup                    *8      *8
Blind Transfer            #       #
Attended Transfer                 *2
One Touch Monitor
Disconnect Call           *       *99
Park Call                         #72
One Touch MixMonitor

我想通过 AMI 执行 *99 组合键以断开呼叫。我的 AMI Action 看起来像这样(在 nodejs 中开发):

ami.action({
    'action': 'playdtmf',
    'channel': e.channel, //this is the callers channel
    'digit': '*99'
}, function (err, res) {
    console.log(err);
    console.log(res);
});

我收到一个 JSON 响应,告诉我一切都已成功排队。

{ response: 'Success',
  actionid: 'xxx',
  message: 'PlayDTMF successfully queued' }

有一个答案 here 让我试图填补空白。它参考了在第一条腿上插入本地通道。当我正在进行通话时,我将如何插入本地频道?

你做的事情很奇怪。

如果您需要断开连接,只需使用转接挂断分机即可。无需发送 dtmf 事件。

但是,如果您有带内 dtmf,您可以通过 originate 创建另一个频道,对任何呼叫的任何一段进行 chanSpy 并发送 dtmf。