2017-01-16 4 views
0

Ich versuche, eine Verbindung zu einem Tapi herstellen, die es in einem anderen PC verbunden ist, aber IENumAddress gibt null zurück. Wie kann ich die IP des Servers spezifizieren?Verbinden mit TAPI 3

tobj = new TAPIClass(); 
      tobj.Initialize(); 
      IEnumAddress ea=tobj.EnumerateAddresses(); 
      ITAddress ln; 
      uint arg3=0; 
      lines=0; 

      cn=new callnotification(); 
      cn.addtolist=new callnotification.listshow(this.status); 
      tobj.ITTAPIEventNotification_Event_Event+= new TAPI3Lib.ITTAPIEventNotification_EventEventHandler(cn.Event); 
      tobj.EventFilter=(int)(TAPI_EVENT.TE_CALLNOTIFICATION| 
       TAPI_EVENT.TE_DIGITEVENT| 
       TAPI_EVENT.TE_PHONEEVENT| 
       TAPI_EVENT.TE_CALLSTATE| 
       TAPI_EVENT.TE_GENERATEEVENT| 
       TAPI_EVENT.TE_GATHERDIGITS| 
       TAPI_EVENT.TE_REQUEST); 

      for(int i=0;i<10;i++) 
      { 
       ea.Next(1,out ln,ref arg3); 
       ia[i]=ln; 
       if(ln!=null) 
       { 
        comboBox1.Items.Add(ia[i].AddressName); 
        lines++; 
       } 
       else 
        break; 
      } 

In dieser Linie habe ich das Problem

IEnumAddress ea=tobj.EnumerateAddresses(); 
+0

Seien Sie vorsichtig bei der Verwendung der TAPI-Funktionalität direkt von .NET, es spielt nicht gut mit der automatisch generierten COM-Interop-Ebene und der Art, wie bestimmte Objekte freigegeben werden. Manchmal wird es gut funktionieren, manchmal wird es nicht funktionieren, wobei obskure Probleme auftreten, abhängig von dem zugrundeliegenden TAPI-Treiber und Telefonsystem, das verwendet wird. –

+0

Welche Art von PBX hast du? Vor dem Code müssen Sie den Provider installieren. –

Antwort

1

Sie können nicht: die TAPI-Anwendung und TSP (= TAPI Service Provider auch bekannt als die TAPI-Treiber) muß auf dem gleichen Server sein.

Verwandte Themen