Asterisk 13,agi' DIALSTATUS'不起作用

时间:2018-06-10 13:14:49

标签: php asterisk agi

我通过apt-get等设置了一个新的Rasperry Pi 3 Plus和Stretch,php7和Asterisk 13 ......

所以我有一个问题

 $agi->get_variable('DIALSTATUS');

我收到了无用的数据

有些人喜欢print_r

Array([code] => 200,[result] => 1,[data] =>)

或者我得到

 Array([code] => 510,[result] => -1,[data] =>)

是否有修复或某些Funktions的Asterisk 13 obsolet的phpagi?

在我与Jessy和Asterisk 11.13.1的旧工作Pi上,这对我有用。

<SIP/2000-0000006c>AGI Tx >> 200 result=-1
<SIP/2000-0000006c>AGI Rx << GET VARIABLE DIALSTATUS
<SIP/2000-0000006c>AGI Tx >> 200 result=1 (ANSWER)
<SIP/2000-0000006c>AGI Rx << DialStatus : Invalid or unknown command 
<SIP/2000-0000006c>AGI Rx << print_r : Array
<SIP/2000-0000006c>AGI Rx << (
<SIP/2000-0000006c>AGI Rx <<     [code] => 510
<SIP/2000-0000006c>AGI Rx <<     [result] =>
<SIP/2000-0000006c>AGI Rx <<     [data] => Invalid or unknown command
<SIP/2000-0000006c>AGI Rx << )
<SIP/2000-0000006c>AGI Rx <<
<SIP/2000-0000006c>AGI Rx <<

我的临时解决方案对我来说就在那一刻......

[Macro-Dial-Trunk]
exten => s,1,Verbose(--->>>Debug:DoCall agi );
exten => s,n,AGI(_Extention_Dial_000.agi,${ARG1},${ARG2},${ARG3},${ARG4})
exten => s,n,Verbose(0,DIALSTATUS:${DIALSTATUS})
exten => s,n,Set(ARG5=${DIALSTATUS})    
exten =>     s,n,AGI(_Extention_Dial_000.agi,${ARG1},${ARG2},${ARG3},${ARG4},${ARG5})
exten => s,n,hangup()

Somone任何想法???

很高兴获得帮助......

2 个答案:

答案 0 :(得分:0)

只有在执行拨号命令后才会设置DIALSTATUS。

你可以使用

检查agi做了什么
asterisk -r
agi set debug on

答案 1 :(得分:0)

也许,您可以使用channel_status功能。

COMSPEC

https://www.voip-info.org/channel-status