问题标签 [agi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
869 浏览

java - 如何在对方挂断时停止 AGI 脚本

我有一个 Java 程序,它发起对客户端的调用,并在应答后将其连接到拨号方案中的分机。该扩展反过来运行 AGI 脚本来与客户端进行一些交互。如果客户坚持到最后,一切都是完美的。但如果他在中间挂断,AGI 脚本会继续运行。我希望它在客户端挂断时停止。

以下是原始 java 程序的摘录:

拨号方案的摘录

以及 agi 脚本的摘录

如您所见,我试图保留一个跟踪脚本内演变的变量,并且我想保留该变量以将其存储在调用日志中。如您所见,我添加了一些用于调试的详细命令,而我在控制台上看到的是,无论客户端是否挂断,“missedSteps”变量都会从 4 变为 0。

0 投票
2 回答
2490 浏览

php - 在 php agi 中获取 DNID

如何获取 DNID(最终用户拨打我的星号服务器的号码)到我的 php agi 脚本?我试过

但我没有得到价值。任何人都可以给出正确的语法/方法来从 php agi 读取星号变量吗?

0 投票
1 回答
893 浏览

asterisk - 如何通过 agi 通道发送文本数据

我正在尝试在星号中的两个 Java 应用程序之间进行通信。现在我需要在通话中的两个通信通道之间共享一些文本数据。我已尝试遵循 Manager API 命令请帮助我在通话中的两个通道之间共享一些字符串/消息。

我试过以下

并且

如果要添加任何行或可以使用任何新类,请建议我

0 投票
3 回答
326 浏览

asterisk - 让 AgiCahnnel 长期存活

以下问题与 asterisk-java API 有关。

在我们的应用程序中,我们希望能够在很长一段时间内向特定的星号通道发送命令。

这是一个我们想要操纵的长期电话(可能持续几个小时)。

接近它的一种方法是AGI从星号发出调用,这将创建一个AgiScript保存AgiChannel我们将用来发送命令的实例的实例。

我知道一旦AgiScript#serve()方法完成,通道就会关闭。

作为一种解决方法,我们暂停serve()线程以在需要时保持AgiChannel打开状态。

问题

我们是否应该注意最终会自动关闭通道的任何超时?

我们是否需要至少NoOp定期发送以保持打开状态?

总的来说,这看起来不是一个好的解决方案,所以我想问一下我们是否还有其他选择来实现我们的目标?

0 投票
1 回答
2231 浏览

python - AGI-BIN:ImportError: 没有名为星号的模块

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

编辑 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

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

0 投票
1 回答
71 浏览

media - 星号要求媒体服务器播放文件

我接到一个星号的电话,我想要一个媒体服务器为呼叫者播放一个文件,该文件存在于媒体服务器中,我该怎么做?你能给我一个我使用的 Agi 代码吗?谢谢

0 投票
1 回答
498 浏览

linux - 挂载上的 Asterisk AGI/传出目录权限

我在从星号框中自动设置外部呼叫时遇到了一点问题。

我想要实现的目标:

我有 2 个 linux 机器,我想 sshfs 在 10.100.100.1 上挂载一个目录到 10.100.100.208/var/spool/asterisk/outgoing (作为挂载点)

原因是 10.100.100.1 地址是一个称为 Webbrick Gateway 的设备,这是一种家庭自动化设备,可以在必要时发送 AGI 命令。但我想要做的是将.call文件移动到Asterisk服务器(var/spool/asterisk/outgoing)或10.100.100.1(Webbrick网关)/mnt/call/上的传出目录。

我试过的:

我尝试将 sshfs 挂载到 /var/spool/asterisk/outgoing。这看起来不错,但实际上它取消了用户 asterisk 的权限,然后 asterisk 不会查看此文件夹中的拨出呼叫文件。所有者和组更改为 root,因为我假设所有挂载点都相同。

我能想到的解决方案:

1.:告诉星号在别处寻找通话文件。

2.:告诉星号不要担心权限,

3.:挂载保持权限不变

我确实知道 Webbrick Gateway 不是一个众所周知的项目,但也许对 Asterisk 有更好理解的人可能会提供帮助。

0 投票
1 回答
574 浏览

asterisk - A2billing 读数天平

我正在尝试使用 A2billing 来读取客户的余额。为此,我创建了第二个 agi-conf 并设置:

Say Balance After Auth to Yes,所以我想系统应该在输入 PIN 后说余额,但是这不会发生。系统只是重复询问 PIN。我的扩展是:

任何帮助,将不胜感激。

0 投票
1 回答
194 浏览

java - Asterisk 在通话中的两个通道之间共享数据

我想在通话中的两个通信通道之间传递一些消息,我的要求是两个java应用程序在通话中充当两个不同的用户,应该有一些消息只能在特定通话中的两个通道之间共享,这样如果一个应用程序将播放一些它可以发送消息说你现在录制的东西,反之亦然。如果有人可以帮助我,我将不胜感激。

0 投票
1 回答
159 浏览

asterisk - AGI 的集成及其在 Asterisk 中的工作

我是星号电话单词的新手,并试图了解如何以专业的方式使用星号将其交付给客户。在谷歌上搜索时,我知道这Asterisk Gateway Interface是我们可以遵循并继续编写拨号方案和做必要的改变。我还知道这Astive Toolkit(ATK)是一个基于 java 的工具,我可以通过它向前迈进。我已经下载了 ATK 工具包,但我不知道如何安装它并将它与星号服务器一起使用。

所以我的问题是如何安装 ATK 并将其与 Asterisk 一起使用?

另外我还能用AGI.

请帮我。提前致谢。