我有一个完全标准的 Trixbox 安装,上面设置了 2 个 SIP 扩展。
两个分机都是 Snom 370 SIP 电话。
我可以使用以下 CLI 命令从一个分机向另一个分机发起呼叫:
originate sip/101 extension 102
这会导致 101 上的电话响铃,然后当该电话被拿起时,它会拨打 102。
我想要的是 101 上的电话自动拨打 102,而不需要 101 等待接听。
这是可以做到的,还是 SIP 电话在拨打电话之前总是需要响铃?
我有一个完全标准的 Trixbox 安装,上面设置了 2 个 SIP 扩展。
两个分机都是 Snom 370 SIP 电话。
我可以使用以下 CLI 命令从一个分机向另一个分机发起呼叫:
originate sip/101 extension 102
这会导致 101 上的电话响铃,然后当该电话被拿起时,它会拨打 102。
我想要的是 101 上的电话自动拨打 102,而不需要 101 等待接听。
这是可以做到的,还是 SIP 电话在拨打电话之前总是需要响铃?
我最终在 extensions.conf 中创建了几个新的上下文
[clickoutcontext]
exten => _X.,1,NoOp("Click In Context")
exten => _X.,n,SIPAddHeader(Call-Info: <sip:pbx.your-company.de>\;answer-after=0)
exten => _X.,n,Dial(Sip/${EXTEN})
[clickincontext]
exten => _X.,1,NoOp("Click Out Context")
exten => _X.,n,SIPRemoveHeader(Call-Info)
exten => _X.,n,Dial(Sip/${EXTEN})
然后使用 AMI 操作进行调用:
ACTION: Originate
Channel: Local/101@clickoutcontext
Exten: 102
Priority: 1
Timeout: 60000
Context: clickincontext
这会向拨打电话的 Snom 电话发送一个标头,告诉它自动接听,然后在呼叫第二部电话之前将其删除。
您可以使用 AMI(Asterisk Manager 接口)来发起呼叫。动作“Originate”可以与标题“Async:yes”一起使用,允许同时在两个方向上进行调用。
你也可以使用 CLI,在执行拨号命令到 SIP/101 设备之前使用本地通道呼叫 SIP/101 和接听电话。