Asterisk 从AGI执行拨号后确定拨号状态

Asterisk 从AGI执行拨号后确定拨号状态,asterisk,Asterisk,我是个星号新手。目前我想使用execDial从我的AGI服务器拨一些号码,。。命令,我希望通过检查DIALSTATUS==noanswer可以知道何时没有人接听电话。 我已尝试将拨号命令传输到拨号计划并从中获取拨号状态,但它始终为空。我尝试过在AGI中获取拨号状态,但没有成功 例如: 第一次尝试: public void service(AgiRequest request, AgiChannel channel) { exec("Dial","SIP/" + "7004" + ",60,G(f

我是个星号新手。目前我想使用execDial从我的AGI服务器拨一些号码,。。命令,我希望通过检查DIALSTATUS==noanswer可以知道何时没有人接听电话。 我已尝试将拨号命令传输到拨号计划并从中获取拨号状态,但它始终为空。我尝试过在AGI中获取拨号状态,但没有成功

例如:

第一次尝试:

public void service(AgiRequest request, AgiChannel channel)
{
exec("Dial","SIP/" + "7004" + ",60,G(from-internal-custom,1301,1)");

String dialStatus = request.getParameter("DIALSTATUS");
exec("NoOp","dial status is = " + dialStatus); //it is always empty (i think its
because the moment the first dialplan goes to the AGI,DIALSTATUS is not
initialized yet since I havent even issued dial command)
}
第二次尝试:

在计划中:

exten => 1301,1,NoOp(dial status is = ${DIALSTATUS})
exten => 1301,2,NoOp(dial status is = ${DIALSTATUS})
exten => 1301,3,NoOp(dial status is = ${DIALSTATUS})
exten => 1301,4,NoOp(dial status is = ${DIALSTATUS})

//all of them is empty
那么,如果我从AGI发出dial命令,如何获得DIALSTATUS的值呢?
非常感谢您使用GetVariable agi命令调用给出的友好回答

没有办法说它在您的框架中是什么样子的,因为您没有了解它