问题标签 [asterisk-ael]

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

asterisk - 当目的地是多个扩展名时,在星号上设置通话录音文件名

我总是得到在 Asterisk 上最令人头疼的配置。

公司有一个星号服务器直接连接到 SIP 中继,一切正常。被要求在试用 automixmon (*3) 命令后自动将通话录音引入入站和出站呼叫。

他们的要求很简单,只有 MD 和销售经理才能接听电话,一切都是内部的,所以只需将其转储到 /var/spool/asterisk/monitor 文件夹中,并且具有身份验证的 Web 服务器允许他们查看该文件夹 - 当他们'很高兴我们会清理这部分。

我已经让出站呼叫按照我们想要的方式进行(我们使用 AEL),因此在从任何分机拨出时会触发以下代码段。

ABSORB 是一个全局变量,它通常只设置为 1,这样 9 就不会传递给 Dial() 应用程序。

呼入电话有点棘手,因为呼入电话通过以下方式:

所以现在我只是这样设置它:

至少获得一个带有“IN”状态和来电显示日期/时间的文件。

MD 想要的是文件被标记为实际接听电话的扩展名。

有没有办法说在文件名中放置一个占位符,例如“XXXX”,然后使用 MONITOR_EXEC 进入 shell 并在呼叫挂断后通过将 XXXX 替换为最后连接的通道来重命名文件?

我意识到它不会考虑转接的电话。

我看不到确定呼叫活动分机的方法,因为我必须在拨号命令之前启用监控。

有什么建议么?

0 投票
1 回答
148 浏览

asterisk - 同时执行应用程序

大家好,

我需要帮助设置我的拨号计划以一次执行多个应用程序。在下面的示例中,我创建了 3 个上下文,其中由 anlz01 上下文进行的调用会调用 anlz02 上下文并为 anlz03 上下文创建一个子例程。

以下示例上下文:

我的目标是,在播放运行时,anlz03 上下文的其他应用程序也已执行。我怎样才能实现这个目标?

0 投票
1 回答
506 浏览

asterisk - 星号:播放最后录制的文件?

如我所见,我可以使用 Asterisk cmd monitor 来录制通话,然后使用 ControlPlayback 播放录制的文件。并且默认的基本名称是在频道名称加上一个数字上构造的,所以我怎样才能播放最后一次通话?例如:我有 3 个通话,通话 1,通话 2,通话 3,频道是 111,那么我如何才能获得最后通话的名称(通话 3)来播放?

0 投票
1 回答
401 浏览

asterisk - 转移呼叫时的星号通道变量持久性

使用 Asterisk 作为客户的 PBX,他们遇到了我似乎无法编程的情况。

他们聘请了一批 DDI 担任多家公司的代理人 - 几乎就像秘书类型的情况。

客户想要的是一种将其转移到预定公司的简单方法(他们知道他们将为通话的出站部分付费)。他们不希望有人在在线目录等中查找号码时出现巨大的停顿。这是点击通话的一个巨大用例,但我找不到将扩展程序绑定到工作站的方法用户很容易(客户将实际实施)(注意,我也不能让他们使用队列和没有 34 名家庭工作人员同时听到电话响铃的响铃策略,所以让我们不要进入那个辩论) .

我对此进行了一些思考,并认为我可以制作一个像 5678 这样的幽灵分机,它可以做到这一点,而接听者只需将呼叫置于保留状态,转移到幽灵分机,并且某些逻辑会将其变为呼出电话

所以我去写一些扩展逻辑来存储

呼叫通过 DDI 1 到达,我可以通过${CALLERID(dnid)}就好了。

我将它存储在一个变量中。

打电话给 DDI,收到它,盲目转移它,然后 bam - 我可以在接收扩展逻辑中看到变量中的值.....

但!!!!

向同一个 DDI 打了一个电话,收到了它,参加了转接,变量已被擦除。

一旦扩展逻辑可以看到调用的行号,我可以通过快速数据库查找轻松地将其转换为实际数字。

谁能告诉我为什么会在有人值守和盲转之间发生这种情况?

谁能建议一种方法在传输过程中为该呼叫保留此信息,以便新创建的频道可以看到原始信息?

我已经尝试过单下划线和双下划线方法,但这似乎不起作用。

我目前正在运行 Asterisk 13.25 - 意识到我在这个特定人的盒子上相当落后,但它的设置很复杂。根据文档 1.6 实现了下划线变量名称。