问题标签 [asteriskami]

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 回答
2790 浏览

voip - Asterisk Manager API 事件

我正在使用 Elastix 和 Astmanproxy 服务器来运行我们的呼叫中心桌面应用程序。此应用程序收集诸如来电显示、拨打的号码等信息,以帮助我们的代理获取客户信息等。此应用程序会根据某些事件更改其背景颜色(例如代理接听电话时的绿色)。

我使用 AMI 中的 Dial 事件来获取呼叫的唯一 ID(我使用 DestUniqueID 变量来获取此 ID)。之后,我使用该唯一 ID 跟踪所有事件。当我收到带有该 ID 的 Link 事件时,该应用程序的背景变为绿色,表示呼叫中心代理已接听电话。

问题是,即使代理接听了呼叫,有时我也没有获得具有从 Dial 事件的 DestUniqueID 获得的匹配唯一 ID 的 Link 事件。有谁知道为什么会这样?

基本上,有没有一种万无一失的方法来使用星号管理器 api 事件从头到尾跟踪呼叫?

0 投票
2 回答
1008 浏览

asterisk - QueuePause 中的接口名称是什么

任何人都可以告诉我 QueuePause 操作(Asterisk Manager Interface)的接口名称是什么。 http://astbook.asteriskdocs.org/en/2nd_Edition/asterisk-book-html-chunk/asterisk-APP-F-30.html

我尝试“SIP/2222”(连接的扩展),但它总是抛出“找不到接口”。我不知道如何获得正确的界面,请告诉我如何使这个动作起作用?

谢谢你。

0 投票
1 回答
1000 浏览

hook - 有没有什么办法可以让任何扩展程序的钩子闪现?

我喜欢按照此步骤进行电话会议。

  1. 2222拨打3333(电话)
  2. 3333接听电话(电话)
  3. 模拟按下闪光灯按钮到 2222 认为 AMI/?(软件)
  4. 通过 AMI(软件)发起对 4444 的呼叫
  5. 4444接听电话(电话)
  6. 模拟按下闪光灯按钮到 2222 认为 AMI/?再次(软件)
  7. 222 333 4444 同频道通话(电话)

我知道 AMI 不具备制作钩子闪光的确切功能。(一些技巧?)

是否有任何建议通过软件完成第 3 步和第 6 步,它可能是 AMI 或其他任何东西。

资源:

0 投票
3 回答
2497 浏览

asterisk - Action => 'ping' 在 Asterisk Manager Interface 脚本中使用 send_action 是什么意思?

我已经开始阅读有关 Asterisk::AMI 模块的信息。在该模块中,如果我们想将操作发送到 AMI 服务器,我们需要使用带有操作名称的操作,使用 send_action 方法。在那个模块中,他们在 send_action 方法中提到了 Action => 'Ping'。这里 Action => 'Ping' 的用途是什么。谁能解释一下。

提前致谢。

0 投票
2 回答
1202 浏览

asterisk - 使用adhearsion发起呼叫

我搜索了谷歌,尝试阅读 adhearsion 文档并理解示例。我了解其中的一部分,但无法将其组合在一起。我可以编辑 extensions.conf 并执行 agi(agi://localhost) 并处理 dialplan.rb 中的来电。我用这种方式编写了一个 ivr,它在现实世界中使用。

我已经编辑了 manager.conf 和 config/setup.rb 当我做 ahn - 我明白了

现在我想知道的非常具体如下:

  1. 我在哪里以及如何编写在 adhearsion 应用程序启动时执行的代码。即没有任何事件或 agi 呼叫。
  2. 我到底要写什么来拨出。

请不要给我部分答复,例如

请不要给我模糊的回答,例如“创建组件并将其分叉到左侧”,或者其他什么......我一直在阅读类似的东西,但我无法得到它。请告诉我具体步骤。

0 投票
1 回答
826 浏览

asterisk - 如何使用 asterisk-dotnet 确定当前 PBX 状态(通话、振铃等)

我正在使用星号-dotnet,并且正在寻找一种获取当前 PBX“状态”的方法。我需要确定:

  • 哪些分机正忙于通话
  • 哪些分机正在响铃
  • 哪个号码正在呼叫分机
  • 分机呼叫哪个号码
  • 和分机号码本身。

我知道我可以通过使用 Status Action、ExtensionState Action 和 NewChannel Action 来获取这些数据的一部分。但是,这些在事件发生时起作用。例如,如果分机正忙于通话,则只有在通话结束时(当信道被丢弃并且对等方再次可用时),我才会有一个新的 ExtensionState。

任何帮助都感激不尽。

提前致谢, 詹卢卡

0 投票
2 回答
789 浏览

php - 从命令行 python 脚本将 Asterisk 交互程序迁移到 Web 应用程序

我正在尝试创建一个小型 Web 应用程序来与 Asterisk 电话平台进行交互。那里有很多类似的东西,但我想要自己制作的学习经验。

这是我现在所拥有的:一个简单的 python 脚本,允许某人通过命令行与管理器界面进行交互。该脚本的工作原理基本上是: 1) 连接到 Asterisk Manager 界面。2) 在 CLI 上从用户那里获取两个电话号码。3) 发起两个呼叫 4) 将发起的呼叫带入一个共同的meetme 会议。5) 'while' 循环等待用户输入。只允许使用字符 az。6) “az”对应于通过使用发起另一个本地扩展名播放或“注入”到会议中的.WAV文件。

对我来说这有点整洁,现在我想从一个网络应用程序做同样的事情,但我不知道从哪里开始。我需要使用哪些语言?我知道基本的 html 并且玩过 javascript。将表单输入变量传递给服务器上的 python 脚本需要哪些技术(Web 服务器和星号服务器是同一台机器)?电脑动画?使用 PHP 怎么样?我可能需要在某个时候学习……如果我使用 PHP,我还能“调用”python 脚本并将值传递给它吗?我希望最终使用 javascript 来允许用户播放与按钮相对应的声音(就像命令行版本中的字符)而无需点击提交,但计划现在让它工作。我想这个问题也变成了“我应该学习 PHP 并放弃 python 吗?”

任何提示或指导将不胜感激。

0 投票
1 回答
2954 浏览

asterisk - Asterisk AMI 事件中“允许演示,未筛选”提示是什么意思?

当我收听来自 Asterisk AMI(端口 5038)的事件时,我收到以下事件:

是什么意思

0 投票
2 回答
1792 浏览

asterisk - 从 Asterisk AMI 检索 PSTN 中继的状态

我正在尝试使用 ExtensionState 操作通过 Asterisk AMI 检索 PSTN 中继的状态:

我得到的回应是:

响应:成功消息:扩展状态扩展:pstn1 上下文:trunks-hintcontext 提示:DAHDI/1 状态:4

根据 AMI 文档,status=4 表示“不可用”,但中继应该是“空闲”,因为它可供用户拨打和接听电话。

无论我如何使用 pstn 中继,拨号或接听。状态值始终为 1(使用中)或 4(不可用)。

我希望状态为“空闲”、“不可用”、“使用中”。

是否有任何其他 AMI 操作允许我检索 PSTN 中继的状态?

0 投票
1 回答
118 浏览

asterisk - 我可以为 app_fax 获得更精细的 ami 事件吗?

当使用 spandsp/asterisk/app_fax 发送传真时,很高兴看到更精细的状态事件被触发。

现在,看起来 AMI 事件是在调用开始和调用结束时触发的。我希望获得更详细的信息,例如“DIALING”、“SENDING PAGE 1”等。

有没有办法(使用 AMI 或其他方法)来获取此信息?

我知道它肯定存在于某个地方,因为我可以在日志中看到带有此信息的 DEBUG 语句。我不能(也不想)解析日志文件,因为 DEBUG 语句并没有真正说明它们与哪个调用相关。

谢谢!