gpt4 book ai didi

asterisk agi 调用失败然后下一步

转载 作者:行者123 更新时间:2023-12-01 19:20:46 30 4
gpt4 key购买 nike

我试图让我的 php-agi 脚本在第一个命令忙碌或失败时调用下一个命令。我现在设置它的方式不仅会起作用,它只会返回忙碌然后死掉,或者如果它起作用,它会发送两个拨号命令。这是我得到的:

$agi->exec('DIAL',"SIP/".$target."@".$ip.",30,g");
$agi->exec('DIAL',"SIP/".$target."@".$ip2.",30,g");

非常感谢任何形式的帮助,提前致谢!

最佳答案

当您调用 Dial() 时,asterisk 会设置一个名为 DIALSTATUS 的 channel 变量。您可以从 AGI 中读取它。

CLI 中“core show application Dial”的输出:

${DIALSTATUS}: This is the status of the call
CHANUNAVAIL
CONGESTION
NOANSWER
BUSY
ANSWER
CANCEL
DONTCALL: For the Privacy and Screening Modes. Will be set if the
called party chooses to send the calling party to the 'Go Away' script.
TORTURE: For the Privacy and Screening Modes. Will be set if the
called party chooses to send the calling party to the 'torture' script.
INVALIDARGS

例如

    $agi->exec('DIAL',"SIP/".$target."@".$ip.",30,g");
$dialstatus = $agi->get_variable('DIALSTATUS');
if ( $dialstatus != 'ANSWERED' ) {
$agi->exec('DIAL',"SIP/".$target."@".$ip2.",30,g");
}

所以逻辑很简单,只有在第一个电话无人接听时才进行调用。

关于asterisk agi 调用失败然后下一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12298227/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com