Asterisk не выполняет файл Python с использованием AGI

Лог астериска после звонка такой:

<SIP/AC_221-00000007>AGI Tx >> agi_channel: SIP/AC_221-00000007
<SIP/AC_221-00000007>AGI Tx >> agi_language: en
<SIP/AC_221-00000007>AGI Tx >> agi_type: SIP
<SIP/AC_221-00000007>AGI Tx >> agi_uniqueid: 1607606631.7
<SIP/AC_221-00000007>AGI Tx >> agi_version: 11.25.1
<SIP/AC_221-00000007>AGI Tx >> agi_callerid: 8097119191
<SIP/AC_221-00000007>AGI Tx >> agi_calleridname: unknown
<SIP/AC_221-00000007>AGI Tx >> agi_callingpres: 0
<SIP/AC_221-00000007>AGI Tx >> agi_callingani2: 0
<SIP/AC_221-00000007>AGI Tx >> agi_callington: 0
<SIP/AC_221-00000007>AGI Tx >> agi_callingtns: 0
<SIP/AC_221-00000007>AGI Tx >> agi_dnid: 2804
<SIP/AC_221-00000007>AGI Tx >> agi_rdnis: unknown
<SIP/AC_221-00000007>AGI Tx >> agi_context: OUTBOUND
<SIP/AC_221-00000007>AGI Tx >> agi_extension: 2804
<SIP/AC_221-00000007>AGI Tx >> agi_priority: 2
<SIP/AC_221-00000007>AGI Tx >> agi_enhanced: 1.0
<SIP/AC_221-00000007>AGI Tx >> agi_accountcode: 
<SIP/AC_221-00000007>AGI Tx >> agi_threadid: 140019575056128
<SIP/AC_221-00000007>AGI Tx >>  

Я также могу поделиться планом набора и файлом, который мы выполняем

exten => 2804,1,Answer()
exten => 2804,2,EAGI(/var/lib/asterisk/agi-bin/test.py)

Также я делюсь кодом в моем файле python

#!/usr/bin/env python3
from asterisk.agi import *

agi = AGI()
agi.say_number("12345")
agi.verbose("python agi started ahead")

print("Hey")

Установлена ​​библиотека Pyst2 для звездочки


person Sachin Anbhule    schedule 10.12.2020    source источник


Ответы (1)


Во-первых, вы делаете EAGI, а это НЕ AGI.

Тогда вам, вероятно, нужно проверить по тегу другие проблемы с AGI/python, например, это может быть полезно. Как использовать Asterisk AGI с python3? (подробнее на https://stackoverflow.com/questions/tagged/agi+python)

Сценарий AGI в большинстве случаев запускается в очень специальной среде под пользователем звездочки, поэтому вам нужно дважды проверить, есть ли у вас путь к библиотеке.

Для проверки на ошибки остановите asterisk, после чего запустите его в консоли через

asterisk -vvvgc
agi set debug on

Теперь, если вы позвоните, он покажет STDERROR из вашего скрипта в консоли. По умолчанию он отображается на /dev/tty9

person arheops    schedule 10.12.2020
comment
установил все, как ты сказал, но все равно не повезло, братан. - person Sachin Anbhule; 11.12.2020
comment
Он должен показывать ошибку на консоли. Если это слишком сложно - наймите кого-нибудь. - person arheops; 11.12.2020
comment
на консоли нет ошибки братан - person Sachin Anbhule; 11.12.2020