在 Asterisk 中抓取调用文件之前如何做一些操作?

How can I do some actions before grab call files in Astersik?

我使用星号中的呼叫文件进行自动拨号。我怎样才能在通话前做一些动作? asterisk 中有一个 predial 处理程序,但它适用于 dial 或 followMe 应用程序。请注意,我正在使用调用文件。

创建一个新的上下文来在调用之前执行命令,例如:

[precall]

exten => _X.,1,NoOp(Precall processing)
same => n,System(echo ${EXTEN} call >> /tmp/call.log)
same => n,Dial(SIP/${EXTEN})

然后在你的调用文件中:

Channel: Local/1000@precall
Context: from-internal
Extension: 2000

在这种情况下:

  • Asterisk 将在扩展名 1000,1
  • precall 上下文中启动
  • 会执行echo 1000 call >> /tmp/call.log系统命令
  • 致电SIP/1000等待接听
  • SIP/1000 接听电话时,Asterisk 转到 from-internal 上下文,分机 2000,1
  • 如果您有普通配置,它将拨打号码2000