channel origined,如何从本地频道调用? (呼叫对讲机并发送 dtmf)
channel originate, how to do call from a local channel? (call intercom and send dtmf)
我的目标是:
运行 一个在通话中由动态功能激活的后台任务,将执行拨号到另一个 EXT 并发送 DTMF。
这意味着,当用户正在与某人通话时,当用户按下 5555 时,门将被打开。
为了今天开门,我必须手动拨打 EXT 6(门)并发送 DTMF 数字:00*
当用户按下 5555 时,所有这一切都必须自动发生,而不会干扰正在进行的通话。
我之前尝试通过拨号完成所有这些操作,但拨号会阻止呼叫或与另一个分机桥接,然后我就失去了原来的呼叫。
我发现我需要用 ASYNC 来做这件事,这意味着我不能使用拨号方案,我需要使用 CLI,然后想出一些办法。
Asterisk 需要创建一个本地会话/本地频道和 establish/connect 到门分机,然后发送 DTMF 和挂断
所有这一切 – 在后台。
这是我到目前为止设法做到的事情:
features_applicationmap_custom.conf
openthedoor=> 5555,caller,macro,OpenIntercomCall
然后在 ->
extensions_custom.conf
[宏-OpenIntercomCall]
扩展 => s,1,System(asterisk -rx "channel originate SIP/6 extension@yoyo")
我不明白如何从 asterisk(使用本地或随机频道)呼叫 SIP/6,然后在应答时发送 DTMF。
门分机是SIP/6,00*是开门的dtmf。
我想做的是当用户5555打电话时,门会被打开。
意味着我想要星号呼叫对讲机并发送 dtmf
没有任何从 asterisk 内部执行 asterisk 的指令。您可以执行 Originate 命令。
Originate(tech_data,type,arg1[,arg2[,arg3[,timeout]]])
例如你可以这样做
exten => s,1,Originate(SIP/6,app,SendDTMF,ww00*)
应该能满足你的需要。
我的目标是: 运行 一个在通话中由动态功能激活的后台任务,将执行拨号到另一个 EXT 并发送 DTMF。 这意味着,当用户正在与某人通话时,当用户按下 5555 时,门将被打开。 为了今天开门,我必须手动拨打 EXT 6(门)并发送 DTMF 数字:00* 当用户按下 5555 时,所有这一切都必须自动发生,而不会干扰正在进行的通话。 我之前尝试通过拨号完成所有这些操作,但拨号会阻止呼叫或与另一个分机桥接,然后我就失去了原来的呼叫。 我发现我需要用 ASYNC 来做这件事,这意味着我不能使用拨号方案,我需要使用 CLI,然后想出一些办法。
Asterisk 需要创建一个本地会话/本地频道和 establish/connect 到门分机,然后发送 DTMF 和挂断 所有这一切 – 在后台。
这是我到目前为止设法做到的事情:
features_applicationmap_custom.conf
openthedoor=> 5555,caller,macro,OpenIntercomCall
然后在 ->
extensions_custom.conf
[宏-OpenIntercomCall] 扩展 => s,1,System(asterisk -rx "channel originate SIP/6 extension@yoyo")
我不明白如何从 asterisk(使用本地或随机频道)呼叫 SIP/6,然后在应答时发送 DTMF。
门分机是SIP/6,00*是开门的dtmf。
我想做的是当用户5555打电话时,门会被打开。 意味着我想要星号呼叫对讲机并发送 dtmf
没有任何从 asterisk 内部执行 asterisk 的指令。您可以执行 Originate 命令。
Originate(tech_data,type,arg1[,arg2[,arg3[,timeout]]])
例如你可以这样做
exten => s,1,Originate(SIP/6,app,SendDTMF,ww00*)
应该能满足你的需要。