如何在python3中使用Asterisk AGI?

问题描述 投票:0回答:1

使用星号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:

知道如何为python3配置asterisk或如何找到根本原因吗?有机会获得有关脚本实际失败位置的更详细的日志信息_
#!/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)

即使此简约版本也不适合“ 3”

#!/usr/bin/env python3

import rpyc

from asterisk.agi import AGI

agi = AGI()
agi.verbose("python agi started")

最终解决:

  1. 未安装的pyst3
  2. 像pip3 install --upgrade --force-reinstall pyst2一样,强制重新安装pyst2。首先不知道出了什么问题。

使用Asterisk 16.2.1,我的AGI脚本(在底部)适用于python2#!/ usr / bin / env python2,但不适用于python3#!/ usr / bin / env python3。我什至不了解agi.verbose(“ python agi ...

python-3.x asterisk agi
1个回答
1
投票

您的简约版本适用于我(通过pip安装pyst2)

© www.soinside.com 2019 - 2024. All rights reserved.