1

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

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

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

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

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

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

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

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

但!!!!

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

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

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

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

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

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

4

1 回答 1

0

可能是通过您的手机而不是星号核心完成的盲转。

其他选项是频道重命名或伪装。没有人能说出你身边到底发生了什么。

最兼容的方法是检查链接通道并通过 CHANNEL() 函数检查它的变量。

于 2020-04-07T14:52:00.937 回答