我正在尝试编写一个Winform / C#应用程序,该应用程序将获取来电的CLID,然后允许我在我的数据库中进行查找(对于CRM系统而言)。
我一直在使用JulMar Atapi库,它适用于拨出电话,但似乎根本不会识别来电。
在启动尝试获取要监视/侦听的行时,我有以下代码,但是当进行传入呼叫时,它永远不会触发CallInfo或CallState更改的事件:
if (_atapiMgr.Initialize())
{
foreach (TapiLine line in _atapiMgr.Lines)
{
line.NewCall += this.OnNewCall;
line.CallInfoChanged += this.OnCallInfoChange;
line.CallStateChanged += this.OnCallStateChange;
line.Changed += this.OnLineStateChanged;
line.Ringing += this.OnRinging;
line.Monitor();
}
}
我们使用Avaya Phonemanager,它在使用时会显示CLID。有没有其他替代TAPI .Net包装器,或者我是否需要直接使用TAPI来实现这一点?
答案 0 :(得分:0)
我不是TAPI专家(谁?),但是我刚刚开始使用Jalmar(https://github.com/markjulmar/itapi3)的TAPI 3.0的.Net包装器。我发现添加事件处理程序的最简单方法是将dll(ITapi3.dll)添加到VS工具箱(将其拖到此处),然后通过将其从工具箱中拖到的设计视图选项卡上,将其添加到项目中。您的表格。然后,当您单击窗体视图下部的dll时,您可以在属性窗口中看到可用的事件。双击一个偶数,它将为您的代码添加一个处理程序。