我正在使用 Python 中的 AMI。我想 Asterisk CLI 也可以实现同样的功能。我希望能够获取有关 PBX 中每个分机的详细信息。更具体地说,对于每个分机,我想知道:
- 如果分机正在通话中,该通话的唯一 ID 是什么,呼叫者 ID 是什么,所呼叫的电话号码是什么(来电线路)
- 如果分机正在响铃,则当前正在响铃的来电线路是哪条。
系统目前有许多自定义上下文,它们将首先搜索然后振铃所有可用的分机,我想知道是谁在振铃和通话,以及在哪里。我查看了几乎所有我能找到的 AMI 呼叫,但不知道从哪里获取这些信息。
答案1
Digium 拥有所有内容的完整文档AMI 操作和AMI 活动在他们的 wiki 上。我说“有点”是因为它列出了所有可用的操作和事件,以及如何使用它们,但当涉及到您应该看到的输出时,其中一些有点稀疏。
您可能会发现有用的操作:
- 命令- 允许您从 AMI 运行任意 CLI 命令,如果没有专门的 AMI 操作来获取 CLI 上可用的信息,则此功能非常有用
- 核心节目频道- 相当于 CLI
core show channels
,显示频道名称和相关来电显示信息 - 扩展状态- 获取扩展的当前状态,如果您定义了扩展提示,则可能最有用
- 格特瓦尔- 获取通道变量的值
- 地位- 显示频道的当前状态信息,包括频道变量(然后您可以使用格特瓦尔)
您可能会发现有用的活动:
在这些行动中,我认为地位将是最有用的,并且新频道和新州事件会告诉您频道何时响铃或得到应答。