2

我的目标是:在通话中运行由动态功能激活的后台任务,该任务将执行拨号到另一个 EXT 并发送 DTMF。这意味着,当用户正在与某人通话时,当用户按下 5555 时,门将被打开。为了今天开门,我必须手动拨打 EXT 6(门)并发送 DTMF 数字:00* 所有这一切都必须在用户按下 5555 时自动发生,而不会干扰正在进行的通话。我之前尝试使用拨号来完成所有这些操作,但拨号会阻止呼叫或与另一个分机桥接,然后我失去了原来的呼叫。我发现我需要使用 ASYNC 来执行此操作,这意味着我不能使用拨号方案,我需要使用 CLI,然后发起一些方法。

Asterisk 将需要创建一个本地会话/本地通道并建立/连接到门分机,然后发送 DTMF 并挂断所有这些 - 在后台。

到目前为止,这是我设法做的事情:

features_applicationmap_custom.conf

openthedoor=> 5555,caller,macro,OpenIntercomCall

然后在->

extensions_custom.conf

[macro-OpenIntercomCall] exten => s,1,System(asterisk -rx "channel origin SIP/6 extension@yoyo")

我不明白如何从星号(使用本地或随机通道)呼叫 SIP/6,然后在应答时发送 DTMF。

门分机是 SIP/6,00* 是打开它的 dtmf。

我想要做的是,当用户 5555 在通话时,门会被打开。表示我希望星号呼叫对讲机并发送 dtmf

4

1 回答 1

1

从星号内部执行星号没有任何意义。您可以执行 Originate 命令。

起源(tech_data,type,arg1[,arg2[,arg3[,timeout]]])

例如你可以做这样的事情

 exten => s,1,Originate(SIP/6,app,SendDTMF,ww00*)

应该足以满足您的需要。

于 2016-04-21T15:37:06.837 回答