Asterisk如何在拨号前检查号码是否忙

Asterisk how check if a number is busy before dialing it

作为一个刚刚安装了他的第一个 asterix 服务器的初学者,我遇到了一个小问题。我想在实际拨打之前检查我拨打的号码是否占线。

例如,我会拨打 0904 => 号码占线 => 重定向到 0905

但是我不希望它在忙时先拨 0904,而是立即将其重定向到 0905。

我有一个非常基本的设置,只有 3 个用户。其中 2 个在队列中 "support" 其中一个在队列中 "admin"

我已经看到并阅读了一些关于检查频道是否可用的内容,但我并不完全理解,我不确定是否可以更容易地完成。

这是我的简单拨号方案,如果我调用 *12,我的简单 python 脚本将只执行到 0904 的拨号命令。

exten => *12,1,Answer()
same => n,set(PHONE_EXTEN=0904)
same => n,AGI(test-agi.py,${PHONE_EXTEN})
same => n,Hangup()

无法知道外线是否占线。

如果号码是您的分机,您可以使用 GROUP/GROUP_COUNT 计算呼叫次数,或者您可以检查分机状态和提示,如文档中所述

https://wiki.asterisk.org/wiki/display/AST/Extension+State+and+Hints

https://wiki.asterisk.org/wiki/display/AST/Device+State