2016-10-28 82 views
0

我嘗試學習和理解TAPI,並且我嘗試了很多例子,他們都獲得我的TAPI線路,我可以撥出,但是當我有一個來電時沒有事件被解僱,所以我開始思考TAPI驅動程序無法正常/防火牆阻止/完全不同的內容。TAPI沒有傳入的「信號」?如何檢查TAPI驅動程序?

我試過的最後一段代碼是http://pastebin.com/T3ZHkLi0,我到了MsgBox("We are here") end,然後退出。在此之前,它引發了我擁有的唯一TAPI產品線。

有什麼辦法來檢查爲什麼沒有傳入的事件被觸發?

規格

  • Auerswald TAPI司機:Specs
  • 也許我有一個estos TAPI驅動程序的運行,我怎麼能檢查?
  • ProCall客戶端計算機上(可能干擾?)
  • Win10 64位

任何暗示的高度讚賞

+0

您已經標記了C#和VB6,但在VB.Net代碼提供完整的解決方案,哪些是什麼呢?提問時請多加小心。另外請不要粘貼鏈接代碼,嵌入代碼在這裏,而pastebin鏈接可能會很快死亡。 – DavidG

+0

pastebin被設置爲「無限制」,我認爲如果有一層代碼很可能不是我的問題的原因,這將會適得其反。 – PrimuS

+0

從[常見問題](http://pastebin.com/faq#18):*此刻我們不刪除沒有過期日期的粘貼。但是在將來,我們可能會自動刪除超過6個月內沒有被任何人查看過的貼圖。* – DavidG

回答

0

我建議你不要使用TAPI COM解決方案,並使用Julmar的.Net 32 bit和64位兼容解決方案http://atapi.codeplex.com/。它是TAPI.dll的包裝器,易於實現。 你可以簡單地轉換此C#代碼到VB

TapiManager tapiManager = new TapiManager("TapiCallMonitor.net"); 
if (tapiManager.Initialize() == false) 
     { 
      MessageBox.Show("No Tapi devices found."); 
      this.Close(); 
      return; 
     } 
foreach (TapiLine line in tapiManager.Lines) 
     { 
      try 
      { 
       line.NewCall += OnNewCall; 
       line.CallStateChanged += OnCallStateChanged; 
       line.CallInfoChanged += OnCallInfoChanged; 
       line.Monitor(); 
      } 
      catch (TapiException ex) 
      { 
       LogError(ex.Message); 
      } 
     } 

您可以在這裏找到http://atapi.codeplex.com/SourceControl/latest#Atapi/trunk/source/test/TcMon/TapiMonitorForm.cs