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。
我目前正在玩 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。