При использовании Asterisk 16.2.1 мой AGI
скрипт (внизу) работает с python2 #!/usr/bin/env python2
, но не с python3 #!/usr/bin/env python3
.
Я даже не захожу так далеко как agi.verbose("python agi started")
(с python3), поэтому я предполагаю, что это как-то связано с импортом или инициализацией AGI agi = AGI()
Использование agi set debug on
не очень помогает, единственная информация, которую я вижу, это
Launched AGI Script /home/.../asteriskAgi.py
-- <SIP/..-00000002>AGI Script /home/.../asteriskAgi.py completed, returning 0
Как это работает с python2, но не 3 Я также установил pyst3
с https://pypi.org/project/pyst3/, но это не помогло (не работает с или без pyst3
установлено).
Q: Есть идеи, как настроить asterisk
для python3 или как найти причину root? Любой шанс получить более подробную информацию в журнале о том, где на самом деле происходит сбой скрипта_
#!/usr/bin/env python3
import sys
import rpyc
from asterisk.agi import AGI
agi = AGI()
agi.verbose("python agi started")
aCallerId = agi.env['agi_callerid']
aType = agi.env["agi_type"]
agi.verbose("XXXXXXXXXXXXXX call from %s" % aCallerId)
agi.verbose(sys.executable)
l = [aCallerId, aType]
agi.verbose("XXXXXXXXXXXXXX l")
c = rpyc.connect("localhost", 18861)
c.root.asteriskCall(l)
Даже эта версия * minimal 10 * * не работает с "3"
#!/usr/bin/env python3
import rpyc
from asterisk.agi import AGI
agi = AGI()
agi.verbose("python agi started")
в конечном итоге решается с помощью:
- удалено
pyst3
и - принудительно переустановили
pyst2
как pip3 install --upgrade --force-reinstall pyst2
. Вообще не знаю, что пошло не так.