Asterisk AMI - 获取详细的扩展状态

Asterisk AMI - 获取详细的扩展状态

我正在使用 Python 中的 AMI。我想 Asterisk CLI 也可以实现同样的功能。我希望能够获取有关 PBX 中每个分机的详细信息。更具体地说,对于每个分机,我想知道:

  • 如果分机正在通话中,该通话的唯一 ID 是什么,呼叫者 ID 是什么,所呼叫的电话号码是什么(来电线路)
  • 如果分机正在响铃,则当前正在响铃的来电线路是哪条。

系统目前有许多自定义上下文,它们将首先搜索然后振铃所有可用的分机,我想知道是谁在振铃和通话,以及在哪里。我查看了几乎所有我能找到的 AMI 呼叫,但不知道从哪里获取这些信息。

答案1

Digium 拥有所有内容的完整文档AMI 操作AMI 活动在他们的 wiki 上。我说“有点”是因为它列出了所有可用的操作和事件,以及如何使用它们,但当涉及到您应该看到的输出时,其中一些有点稀疏。

您可能会发现有用的操作:

  • 命令- 允许您从 AMI 运行任意 CLI 命令,如果没有专门的 AMI 操作来获取 CLI 上可用的信息,则此功能非常有用
  • 核心节目频道- 相当于 CLI core show channels,显示频道名称和相关来电显示信息
  • 扩展状态- 获取扩展的当前状态,如果您定义了扩展提示,则可能最有用
  • 格特瓦尔- 获取通道变量的值
  • 地位- 显示频道的当前状态信息,包括频道变量(然后您可以使用格特瓦尔

您可能会发现有用的活动:

  • 扩展状态- 当扩展状态改变时引发
  • 新频道- 当创建新频道时引发(例如新的来电)
  • 新州- 当频道状态改变时引发(例如,现有呼叫已转移并且正在响铃)

在这些行动中,我认为地位将是最有用的,并且新频道新州事件会告诉您频道何时响铃或得到应答。

相关内容