Звездочка 13, agi ‘DIALSTATUS’ не работает

я установил новый Rasperry Pi 3 Plus со Stretch, php7 и Asterisk 13 через apt-get и т. д.

так что у меня проблема с этим

 $agi->get_variable('DIALSTATUS');

я получил бесполезные данные

некоторым нравится это с print_r

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

или я получаю

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

есть ли решение для этого или phpagi для Asterisk 13 устарела в некоторых функциях?

На моем старом Рабочем Пи с Jessy и Asterisk 11.13.1 это работает на меня.

<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()

Сомоне какая-нибудь идея ???

Будет приятно получить помощь …

1

Решение

DIALSTATUS будет установлен только после выполнения команды Dial.

Вы можете проверить, что именно Agi делать с помощью

asterisk -r
agi set debug on
0

Другие решения

возможно, вы можете использовать функцию channel_status.

$agi->channel_status()

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

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector