我目前正在写一个使用Asterisk的AMI时,呼叫进入检测,然后执行基于谁的电话是从,谁是去一个网页请求的窗口服务。有谁知道在星号的事件,我可以监听既包括这些细节?我需要的人的数量是谁打来的,但任何事情,我可以用它来识别被调用就可以了内部电话号码,只要它可以是星号的使用外系统外。

我一直在寻找的事件,他们都对它们产生的外部来电号码但是,没有他们的联系比与其他UNIQUEID的内部主叫方其,除非我建立的这些字典的服务,我不会能够使用。

有帮助吗?

解决方案

所以,最后我设法通过只使用AMI和监听呼叫事件做到这一点。随着我们想要获得我聆听着Newchannel事件,拨号事件和挂机事件,但如果你追求的是你可以逃脱监控谁在呼叫的号码,我敢肯定他们是谁打电话的数量只是拨号事件。

每个时间Newchannel事件被接收到的I建立频道对象,并将其添加到目前正在Asterisk的服务器上的频道的列表。然后,通过听一个的子事件的拨号事件开始我就能够提取独特的渠道ID的参与通话双方的,然后让涉及的人数。当接收到一个挂机事件我删除了受到破坏的频道。这似乎是现在的工作很大,虽然我们还没有有充分的时间来测试它,所以希望它是正确的。

其他提示

我有一个想法,但你恐怕不会喜欢的答案:)

我们试图做到这一点,失败了,所以我们做了一件坏事:)

我们所做的是写AGI脚本,并将其称他们使用的管理界面,然后刮命令行。

东西一样显示核心渠道简洁等,其ikky但它的作品。我们用正则表达式来解析字符串输出,然后一把抓起那里的信息,以做类似的东西,唯一的问题是,你必须看每一次你补丁作为来自命令行的输出趋于变化补丁的补丁。

如果你发现一个这样的方式使用C#API,而不是使用AGI我会很感兴趣,但是我们只是不能做什么,我们想与API没有最终诉诸AGI脚本做的事情。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top