首页 > 解决方案 > 星号 13,agi 'DIALSTATUS' 不起作用

问题描述

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

所以我有一个问题

 $agi->get_variable('DIALSTATUS');

我没有有用的数据

一些像这样的 print_r

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

或者我得到

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

是否有解决方案或某些功能中的 Asterisk 13 的 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()

任何想法?

会很高兴得到帮助...

标签: phpasteriskagi

解决方案


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

$agi->channel_status()

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


推荐阅读