我确实有一个星号11 PBX,我正在使用github AsterNET.AMI库开发一个Windows应用程序来连接我的PBX。在此之前,一切正常,我可以发送命令并读取传入的事件消息。
但是现在我需要在我的软件上开发一个基于我认为可以很容易检索的信息的特性。我要找的信息是-谁挂的?
我在谷歌上搜索了很多,我可以找到一些答案,其中大多数是关于在CDR上设置G选项,但也有一些关于这种方法的考虑。就像这样,我无法为我的场景获取任何有价值的信息。
也许如果我告诉你我的工作方案你可以帮我。我们走,我要用子弹把它劈开:
因此,最重要的问题是:在这种情况下,我如何才能找回谁是释放装置?
发布于 2019-09-28 20:34:54
您可以在拨号应用程序中尝试g和F选项的组合。G选项允许在被叫方挂断时执行拨号计划,而F选项允许您在调用方挂断时继续执行上下文、扩展和优先级。因此,您可以理解呼叫结束后正在执行的拨号计划所挂的是哪一方。在这里可以找到关于这些选项的更多信息:https://www.voip-info.org/asterisk-cmd-dial/
发布于 2019-09-30 19:07:00
读完星号文档之后,我能找到的唯一方法几乎是读取HangupRequest事件消息。
由于我使用AsterNet.AMI库连接和管理星号,所以我稍微修改了源代码,让事件处理程序读取HangupRequest事件。
HangupRequest事件写入消息,如下所示:
Event: HangupRequest
Privilege: call,all
Channel: SIP/8103-000001be
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 8103
CallerIDName: Agent 8103
ConnectedLineNum: 51999887766
ConnectedLineName: 51999887766
Language: en
AccountCode:
Context: from-internal
Exten: 8100
Priority: 1
Uniqueid: 1569618521.446
Linkedid: 1569618519.445因此,根据HangupRequest事件星号文档,我可以注意到消息中的通道是与释放设备相关的通道,CallerIDNum和CallerIDName也是相关的。
这个特性目前还没有在github库上实现,但是我将把它推到那里,并要求它们在下一个版本中包含。
然而,我不知道在哪里可以阅读FreePBX管理方面的这些信息。
https://stackoverflow.com/questions/58139059
复制相似问题