使用 Asterisk 作为客户的 PBX,他们遇到了我似乎无法编程的情况。
他们聘请了一批 DDI 担任多家公司的代理人 - 几乎就像秘书类型的情况。
客户想要的是一种将其转移到预定公司的简单方法(他们知道他们将为通话的出站部分付费)。他们不希望有人在在线目录等中查找号码时出现巨大的停顿。这是点击通话的一个巨大用例,但我找不到将扩展程序绑定到工作站的方法用户很容易(客户将实际实施)(注意,我也不能让他们使用队列和没有 34 名家庭工作人员同时听到电话响铃的响铃策略,所以让我们不要进入那个辩论) .
我对此进行了一些思考,并认为我可以制作一个像 5678 这样的幽灵分机,它可以做到这一点,而接听者只需将呼叫置于保留状态,转移到幽灵分机,并且某些逻辑会将其变为呼出电话
所以我去写一些扩展逻辑来存储
呼叫通过 DDI 1 到达,我可以通过${CALLERID(dnid)}
就好了。
我将它存储在一个变量中。
打电话给 DDI,收到它,盲目转移它,然后 bam - 我可以在接收扩展逻辑中看到变量中的值.....
但!!!!
向同一个 DDI 打了一个电话,收到了它,参加了转接,变量已被擦除。
一旦扩展逻辑可以看到调用的行号,我可以通过快速数据库查找轻松地将其转换为实际数字。
谁能告诉我为什么会在有人值守和盲转之间发生这种情况?
谁能建议一种方法在传输过程中为该呼叫保留此信息,以便新创建的频道可以看到原始信息?
我已经尝试过单下划线和双下划线方法,但这似乎不起作用。
我目前正在运行 Asterisk 13.25 - 意识到我在这个特定人的盒子上相当落后,但它的设置很复杂。根据文档 1.6 实现了下划线变量名称。