我确实有一个 Asterisk 11 PBX,我正在使用 github AsterNET.AMI 库开发一个 Windows 服务应用程序来连接我的 PBX。到这里一切正常,我可以发送命令并读取传入的事件消息。
但是现在我需要在我的软件上开发一项基于我认为很容易检索的信息的功能。我要查找的信息是——谁挂断了电话?
我搜索了很多,我可以找到一些答案,其中大多数都在谈论在 CDR 上设置 G 选项,但也有一些关于这种方法的考虑。仍然像这样,我无法为我的场景获取任何有价值的信息。
也许如果我告诉你我的工作场景,你可以帮助我。让我们走吧,我要把这个分开:
我确实有一个来电者从手机打来电话,这个电话打到我的内部 PBX 分机
我的 PSTN 中继是直接连接到我的 PBX 的 E1/R2
无论呼叫者或被呼叫者是否总是挂断,我确实有 hangup_cause 的“正常清除”消息
我知道我从我的服务提供商那里收到了有关释放设备的信息,因为如果我通过 CSTA 使用 Siemens 3800 Hipath,我可以检索此信息。
所以黄金问题是:在这种情况下,我如何检索谁是释放设备?