问题标签 [asterisk-ari]
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.
javascript - 节点 ARI 客户端 | 连接方法不触发回调?
所以,我开始使用 Asterisk Restful Interface (ARI)。
我创建了一个单独的快速应用程序来执行此操作。
我有一个正确配置的 Asterisk 13 实例正在运行。我知道这一点是因为当我进入https://192.168.46.122:8088/ari/sounds
浏览器时,系统会提示我输入用户名和密码,输入时会返回一个有效的 JSON 对象以及预期的数据......
在我的app.js
文件中,我包含了以下代码...
问题是匿名回调永远不会被触发。我从来没有看到'HELLLLLLOOOOO!!'
谁能解释为什么/在什么情况下会发生这种情况?模块是否有任何已知的错误可能导致此问题?
如果您需要有关配置、环境等的更多信息,请告诉我。
多谢你们
更新
以下评论......我尝试了以下内容:
和
没有错误,也没有'HELLLLLOOOOOOO!!' 在任何时候:-(
更新 2
刚刚访问/ari/api-docs/resources.json
并得到以下回复......所以它看起来像是存在的。
我现在认为这可能是 SSL 问题?!
asterisk - 使用 WebSockets 监控 Asterisk 13 上的调用
我最近将我们的 PBX 升级到了 Asterisk 13,希望新的 REST API 和 WebSockets 支持能够解决我们在通过 AMI 跟踪呼叫时遇到的一些问题。
我们正在构建一个 C# 应用程序,该应用程序将位于 Windows 工具托盘中,并在用户拨打或接听电话时通过查询我们的 CRM 来显示基于呼叫者 ID 的信息。
有人可以澄清是否可以通过 WS 订阅一个 WS 频道,该频道报告 PBX 上发生的所有(甚至只是扩展特定的)事件?
就目前取得的进展而言,我使用 Swagger 来探索 ARI,通过通道端点(例如http://10.0.0.1:8088/ari/channels?api_key=admin:secret
)返回的通道信息看起来很完美:
该通道信息以简洁、易于理解的格式为我们提供了我们所需的一切——PJSIP 通道(即分机)、状态、外线中继 CID 和正在拨打的外线号码。
但是,/events
据我所知,端点取决于您在 Asterisk 中创建一个“应用程序”(从我可以收集的会议之类的东西中收集?) - 尽管使用 wscat 和阅读文档尝试了两天我可以'看不到任何可以订阅 WS 频道的方式,该频道将为您返回类似于上述 JSON 的所有事件。
我是否误解了 Asterisk 13 支持 WS 背后的意图?不是为了这个目的吗?有没有更好的方法来实现我的目标而无需投票/channels
?任何帮助/指针表示赞赏。
asterisk - 使用外部到外部的 Asterisk ARI 时如何处理来电显示
现在,我正在使用 Asterisk ARI 从我的手机号码拨出电话到另一个手机号码,使用以下请求:
在这种情况下,我想在拨打其他号码时显示自定义来电显示号码。我怎样才能做到这一点?
asterisk - 星号。我正在使用 ARI 来收集事件,如何将事件从开始到结束分为单个客户交互?
我订阅了使用 ARI 的事件下列出的事件https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+REST+Data+Models#Asterisk13RESTDataModels-Event
我同时有多个电话,因为这会得到很多不同的事件,我如何将这些事件分组为交互 - 每个客户一次交互?就像一个客户呼叫一个分机,然后被转移到另一个分机,在那里交谈并挂断这是一次交互,同时另一个客户正在呼叫和交谈而不转移 - 这是第二次交互等,所以我需要生成许多交互,因为有用户调用。
我在哪里可以阅读一些关于每次通话生成的事件顺序的文档或任何关于此事的内容?我无权访问生产星号,因此我不能只查看生成了哪些事件并从那里开始。现在我什至不知道当客户打电话和谈话时会产生什么事件。
asterisk - Asterisk WebSocket ARI 事件
我可以连接到ws://localhost:8088/ari/events?api_key=user:user&app=hello-world
,但我无法连接到ws://localhost:8088/ws
。为什么?以及如何通过 ws 控制事件?
asterisk - 你能用 Asterisk ARI 登录代理吗
我正在尝试构建一个可以具有代理控件(登录、注销、暂停...等)的代理应用程序。我现在看到 Asterisk 13 有一个 ARI。我想知道的是如何使用 ARI 发送代理命令,这可能吗?
asterisk - 星号:播放最后录制的文件?
如我所见,我可以使用 Asterisk cmd monitor 来录制通话,然后使用 ControlPlayback 播放录制的文件。并且默认的基本名称是在频道名称加上一个数字上构造的,所以我怎样才能播放最后一次通话?例如:我有 3 个通话,通话 1,通话 2,通话 3,频道是 111,那么我如何才能获得最后通话的名称(通话 3)来播放?
asterisk - 星号如何动态分配 sip 帐户到 ip 电话
我是 Asterisk 领域的新手。我正面临一种情况。我有 10 个 sip 帐户和 20 个客户(软电话),那么如何将这些 sip 帐户动态分配给这些客户?在这个案例中是否有任何最佳实践?
谢谢
php - 如何检查和限制星号 php agi 中某个号码的并发呼叫?
我们有一个门户,客户可以在其中设置一个号码的最大并发呼叫转移。首先呼叫到达我们的 IP,然后我们将呼叫转发到一些号码(由客户端为其设置)。我们必须确保,转发的呼叫小于或等于一个号码上设置的最大并发呼叫限制。我们使用星号作为电话软件,使用 phpagi 作为 agi 库。
在通过我的 agi 脚本转发新呼叫之前,如何在某个号码上找到已经存在的并发呼叫计数。
请提出一个正确的方法来做到这一点。
是否有任何内置方式,当已经达到特定数量的并发呼叫(已经为其设置)时,它会自动限制进一步转发?
node.js - 使用 ARI 和 Node.js 在 Asterisk 上创建会议
我的任务是使用 ARI 和 Node.js 在 Asterisk 中创建会议。目标是创建一个会议室并发送电子邮件邀请,以便人们可以单击并进入会议室。我还需要一个管理网络界面来显示谁在说话、静音和其他一些事情。我在 Asterisk 方面没有任何经验。所以我需要一些起点。最初我必须创建一个通道,然后向它添加一些 SIP。
所以以这个页面为基础:https ://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Channels+REST+API
我有一个配置的测试服务器和一个 sip 号码 (852001)。所以我打开了 Insomnia 并创建了一个这样的 POST 请求:
但是分配失败。所以我想,在我继续这个之前,我必须明确一些概念:
- 创建会议室需要什么?它只是创建一个频道还是我必须先创建一个桥?端点、扩展或应用程序字段中的正确值应该是什么?
- ARI URL 是最好的方法还是使用 node.js 的 ari-client 模块更好?我正在使用 url,因为我无法获得任何有关使用 ari-client 创建会议的工作示例。
任何关于我如何做到这一点的代码示例将不胜感激。谢谢。