在C#Winform App中从TAPI获取传入的来电显示

时间:2018-03-29 14:22:45

标签: c# .net winforms tapi

我正在尝试编写一个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来实现这一点?

1 个答案:

答案 0 :(得分:0)

我不是TAPI专家(谁?),但是我刚刚开始使用Jalmar(https://github.com/markjulmar/itapi3)的TAPI 3.0的.Net包装器。我发现添加事件处理程序的最简单方法是将dll(ITapi3.dll)添加到VS工具箱(将其拖到此处),然后通过将其从工具箱中拖到的设计视图选项卡上,将其添加到项目中。您的表格。然后,当您单击窗体视图下部的dll时,您可以在属性窗口中看到可用的事件。双击一个偶数,它将为您的代码添加一个处理程序。