问题标签 [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 投票
1 回答
2580 浏览

asterisk - 如何使用 WireShark 以文本格式捕获 Asterisk 的 AMI 和 AGI 流量?

我正在开发一个基于 Asterisk(最流行的开源 PBX 解决方案)的电话解决方案,我使用 AMI 协议将我的逻辑注入到它的拨号计划中,并使用 AGI 监听 Asterisk 的事件。

现在我需要在我的应用程序中管理参与转移(而不是盲转移),为此,我确实需要在某处以文本格式记录 AMI 和 AGI 的流量,以便我可以看到后面发生了什么场景。

我想到了 WireShark,因为它是目前最强大的流量捕获工具,但我无法让它发挥作用。我不知道要捕获哪个端口(AMI 在星号端的端口 5038 上工作,但我需要在我的 C# 应用程序服务器中使用 WireShark,而且我不知道这端哪个端口忙)。我无法创建过滤器来捕获仅与 Asterisk 相关的事件。

我也不知道如何使 WireShark 以文本格式记录流量,而不是显示那些根本不可读的二进制数据(可能是十六进制数据)。

我知道 AMI 协议非常简单,就像 HTTP 一样,它是一个基于文本的消息传递协议。因此,我想我应该能够看到它的文本日志。

有人对此有任何想法吗?

0 投票
1 回答
3061 浏览

asterisk - phpagi 脚本随机停止

由于某种原因,phpagi 脚本随机停止在中间。这只会每 20-50 次调用发生一次。我能够在星号 CLI 中实时注意到几个这样的“失败”。没有显示错误。脚本发送了几条详细消息,直到刚刚停止。

脚本用于计费,它有几个while和sql查询。最大执行时间设置为 30 秒。

我在 /var/log/messages 或 /var/log/asterisk/messages 中没有发现任何错误

  • 星号 1.6.2.24
  • PHP 5.1.6 (cli)(构建:2012 年 6 月 27 日 12:21:13)

    /li>

任何想法为什么它可以停止随机调用?

谢谢。

更新:我刚刚注意到,当问题发生时,AGI 返回 4:

怎么了?

0 投票
1 回答
862 浏览

java - 星号 AGI 流文件问题

我正在使用 asterisk-java 将 Asterisk 与我的 AGI 集成。

我想知道在使用streamFile(filename)命令时文件是否必须位于星号声音系统中。不能在我的 java 源文件夹中吗?/​​src/resource/filename

我正在创建音乐 IVR,我想将音乐保存在我的数据库中(即在 java 服务器端)而不是星号服务器端。

如何播放音乐?请帮忙。

0 投票
1 回答
2734 浏览

asterisk - Asterisk - 如果没有接听电话,则执行 agi 脚本?

这是我想从 .call 文件调用的上下文 CH1

我的 .call 文件看起来像这样

所以我的问题是,如果一个人不接听电话,我的 AGI 脚本将不会被执行,那么如果在 3 次重试后没有接听电话,有没有办法执行我的 AGI 脚本?

0 投票
2 回答
894 浏览

loops - 星号 agi 循环不起作用

我试图在调用时让我的 php 脚本循环 10 次,但由于某种原因,它只执行一次,然后挂断/死亡/退出。非常感谢我能得到的任何见解。

0 投票
1 回答
560 浏览

perl - Asterisk Perl AGI 不会继续

extensions.conf我可以获得运行 AGI 的呼叫,但是当我的 Perl 脚本运行其循环时,我无法继续运行拨号计划。

所以我需要在拨打电话时在后台运行这个 AGI。

我的 AGI 中搞砸的部分:

我的extensions.conf拨号方案:

0 投票
1 回答
556 浏览

java - 调用星号服务器时无法请求通道 Iax2/3002

我正在尝试从我的 AGI 调用星号服务器。我的 AGI 基本上是一个 java 代码,它使用 Asterisk-java.jar 库与星号服务器通信。我打开了与星号服务器的连接并在其上运行了一些命令,我​​得到了服务器的正确响应。现在,当我尝试使用以下代码调用星号服务器时

我在我的 serverCLI 上得到了关注:

为什么显示“无法请求通道 IAX2/3002”?我已经配置了我的 manager.conf,我的 extensions.conf 中有一个拨号计划,并且我在 iax.conf 上创建了一个用户。请帮忙!

我的 manager.conf 文件:

我的 extension.conf 文件:

还有我的 Iax.conf 文件:

0 投票
2 回答
15962 浏览

java - Asterisk Java AGI: utils.c write() returned error: Broken pipe

I have written a hello world Asterisk AGI script using Java. The script runs as expected and plays the hello world sound file, but the asterisk console is giving an error though:

ERROR[31058]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe

Any idea what I'm doing wrong?

I'm using asterisk-java-0.3.1.jar and Asterisk 1.8.10.1~dfsg-1ubuntu1

Java class as below:

0 投票
1 回答
1011 浏览

asterisk - 星号 AGI 转义数字

我们如何以编程方式将转义数字发送到播放文件。

比如说,我播放了一个长度为 10 秒的文件,但在 5 秒内我想退出或中止播放文件。

注意:我为 AGI 使用了 Asterisk.Net 库。

0 投票
1 回答
125 浏览

agi - 星号中两个通道之间的通信

我是星号的新手,我的任务是在两个应用程序之间建立通信。我在 PRI 线上成功地完成了这两个应用程序在不同的通道上相互通信。现在我需要控制两个应用程序(即两个通道之间的通信),AGI 方法对于在通道中设置变量很有用。因为我的要求是在两个通道之间进行通信,所以每个通道变量没有任何帮助,请向我建议 AGI 中任何有助于设置每次调用变量的方法。

在调用中,数据应由两个变量共享