【问题标题】:Get incoming caller ID from TAPI in C# Winform App在 C# Winform App 中从 TAPI 获取来电显示
【发布时间】:2018-03-29 14:22:44
【问题描述】:

我正在尝试编写一个 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 才能使其工作?

【问题讨论】:

  • 使用phone.exe之类的测试工具检查问题是出在lib还是驱动(helpdesk.estos.de/Knowledgebase/Article/View/82/3/…)(英文:google.be/…
  • 嗨 - 这似乎也不适用于来电,所以这表明 TAPI 驱动程序?
  • 它确实表明您的应用程序不是问题(还)。确保您的 TAPI 在您的 PBX 中启用并获得许可。您的扩展配置为包含 TAPI 监视器(驱动程序或 PBX)。您可能需要为此联系您的供应商,因为它因供应商而异,您如何进行调试。

标签: c# .net winforms tapi


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 2016-03-09
    相关资源
    最近更新 更多