首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asterisk 13,agi 'DIALSTATUS‘不工作

Asterisk 13,agi 'DIALSTATUS‘不工作
EN

Stack Overflow用户
提问于 2018-06-10 21:14:49
回答 2查看 1K关注 0票数 1

我正在设置一个新的Rasperry Pi 3 Plus与Stretch,php7和Asterisk 13通过apt-get等。

所以我对此有个问题

代码语言:javascript
复制
 $agi->get_variable('DIALSTATUS');

我得到了一个无用的数据

一些类似于print_r的例子

代码语言:javascript
复制
Array([code] => 200,[result] => 1,[data] =>)

否则我会得到

代码语言:javascript
复制
 Array([code] => 510,[result] => -1,[data] =>)

有没有解决这个问题的办法,或者在某些功能中星号13的phpagi已经过时了?

在我以前与Jessy和Asterisk11.13.1一起工作的Pi上,这对我来说是有效的。

代码语言:javascript
复制
<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 <<

我暂时的解决办法就是现在……

代码语言:javascript
复制
[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()

有人知道吗?

会很高兴能得到帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-06-11 06:26:01

仅在执行Dial命令后才会设置DIALSTATUS。

您可以使用以下命令检查agi到底做了什么

代码语言:javascript
复制
asterisk -r
agi set debug on
票数 0
EN

Stack Overflow用户

发布于 2018-06-12 14:39:20

也许,你可以使用channel_status函数。

代码语言:javascript
复制
$agi->channel_status()

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50784068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档