2

我已经安装了 asterisk 版本 1.4.44 并使用 Python 编写 agi 脚本。我有上下文“9999”,而不是在执行此操作时尝试调用我遇到错误。是否需要安装任何依赖项才能使其正常工作?

-- Launched AGI Script /var/lib/asterisk/agi-bin/incident/SetCommonVariables.py
Traceback (most recent call last):
File "/var/lib/asterisk/agi-bin/incident/SetCommonVariables.py", line 5, in <module>
from asterisk import agitb
ImportError: No module named asterisk
-- AGI Script incident/SetCommonVariables.py completed, returning 0
-- Executing [s@IncidentInitiation:4] Goto("SIP/9999-00000000", "CheckAuthorization|1") in new stack
-- Goto (IncidentInitiation,CheckAuthorization,1)
-- Executing [CheckAuthorization@IncidentInitiation:1] AGI("SIP/9999-00000000", "incident/CheckAuthorization.py") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/incident/CheckAuthorization.py
Traceback (most recent call last):
File "/var/lib/asterisk/agi-bin/incident/CheckAuthorization.py", line 7, in <module>
from asterisk import agitb

编辑 1:
Asterisk 1.4.44
CentOS 6.5(Final)
Python 版本 (2.4,2.6.6,2.7)

编辑 2:

我已经在上面的问题文件中有“从星号导入 agitb”,这里是文件文件的代码片段“/var/lib/asterisk/agi-bin/incident/SetCommonVariables.py

#!/usr/bin/python
from IncidentConstants import *
import sys            # system stuff

from asterisk import agitb
agitb.enable(display = False, logdir = '/var/log/asterisk')

# Global variables
from asterisk.agi import *  # our agi stuff
agi = AGI()
agitb.enable(agi, False, '/var/log/asterisk')

在我有上述内容的每个文件中

4

1 回答 1

2

我的猜测是 CGI 使用系统 python。不是具有 Asterisk 模块的 python。

检查失败的 CGI 脚本是否没有

#!/usr/bin/python

如果是这样,请将其更改为使用正确的 Python。

对于您尝试执行的每个 python:

from asterisk import agitb

然后你会发现哪个有星号

于 2014-02-12T09:58:46.520 回答