| 

.NET C# Java Javascript Exception

2
Ich habe eine Anwendung mit Kontaktverwaltung geschrieben. Nun möchte ich die Möglichkeit geben, dass man aus der Anwendung heraus einen Kontakt anrufen kann.

Es sollte sehr generell gehalten sein, damit auch andere das Programm nutzen können, daher denk ich, das TAPI die richtige Lösung ist (oder?).

Ich habe für mich einen TAPI-Treiber installiert (TAPI4fritz).

Wie kann man nun aus der Anwendung heraus jemanden anrufen bzw. mitbekommen, das jemand anruft (möchte eine Art Rückwärtssuche implementieren)?

Muss man da kostenplichtige Elemente kaufen? Geht so was mit Boardmitteln von VS2010?

Vielen Dank für die Infos zu dem Thema, da dieses noch Neuland für mich ist
10.09.2012
MyKey0815 1,6k 2 9
Hat jemand eine deutschsprachige Erklärung zu den zahllosen Events, die das TAPI_EVENT betreffen?

da gibt es ja TE_CALLNOTIFICATION, TE_CALLSTATE und TE_CALLINFOCHANGE. Diese habe wieder Unterevents. Für welches Szenario brauch ich was?
MyKey0815 10.09.2012
http://msdn.microsoft.com/en-us/library/windows/desktop/ms734238%28v=vs.85%29.aspx
Floyd 11.09.2012
Ein Beispiel:

TE_CALLSTATE = Änderung am Status der Verbindung; mögliche Unterevents z.B. CS_CONNECTED (Verbindung aufgebaut) oder CS_DISCONNECTED (Verbindung getrennt) oder CS_OFFERING (Es klingelt bei dir) ...
Floyd 11.09.2012
1 Antwort
1
Das geht mit den Boardmitteln von .Net und Windows. Es gibt einen so genannten "TAPI Service Provider" den du per COM ansprechen kannst.

Klick hierzu auf "Add Reference" in deinem Visual Studio und füg die tapi3.dll die du im Verzeichnis "windows\system32" oder "windows\system" findest hinzu.

Nun sollte dir ein Namespace TAPI3Lib zur Verfügung stehen.

Wie es weiter geht erfährst du im Netz, in einschlägigen Tutorials und Foren:

TAPI 3.0 Application development using C#.NET

how detect caller id from phone line?

Hab bereits einige praktische Anwendungensfälle damit umgesetzt. Scheu dich als nicht zu Fragen. ;)
10.09.2012
Floyd 14,6k 3 9
Danke - dann hab ich ja die richtige Idee gehabt.

Mein VS2010 ist auf Windows 7 64bit - die anwendung wird (zur zeit noch) als 32bit kompiliert. Welche tapi3.dll ist dann die richtige?
MyKey0815 10.09.2012
Wenn du die Wahl hast, die aus system32.
Floyd 10.09.2012
Mit der TAPI für x64 gibt es ein paar Probleme die Microsoft teilweise per Hotfix gelößt hat. (Ins besondere mit der TAPI3)

Alternativ kannst du auch die TAPI2 benutzen die meiner Erfahrung nach weniger Probleme macht.
Floyd 10.09.2012
Danke - ich werde mich mal mit der tapi3 versuchen.

Hab schon soweit, das alle Provider ausgewählt werden können. Nun möchte ich noch die passende Line wählen. OK - AVM hat nur eine Line (Default) aber es gibt auhc Provider, die mehrer Lines anzeigen.

Nur die Eigenschaft "DialableAddress" ist aber nur ein String - kein Collection. Wo bekomme ich also die Lines des angegebenen Providers her?
MyKey0815 10.09.2012
"Addresses" ist eine Collection
Floyd 10.09.2012
Habs mal kurz aus meinem Quellcode rausgesucht:

For Each entry As TAPI3Lib.ITAddress In TAPI.Addresses
Floyd 10.09.2012
Und etwas später:

if entry.State = TAPI3Lib.ADDRESS_STATE.AS_INSERVICE then
'...
Floyd 10.09.2012
Ja - das mit den ITAddress in oTAPI.Addresses hab ich gefunden. Da steht z.B. "TAPI4fritz" oder "TAPI Alcatel".

die Telefonalange (Alcatel) hat aber mehrere Nebenstellen - wo finde ich die Auflistung dieser Nebenstellen?
MyKey0815 10.09.2012
Wenn man also in Windows 7 dern "Dialer.exe" startet und dann auf "Verbinden über", dann gibt es dort "Leitung" (das ist mein TAPI-Provider "Alcatel") und die "Adresse" (da stehen die Nebenstellen drin)

Ich bräuchte also diese Auflistung für mich zum Auswählen
MyKey0815 10.09.2012
Das ist eine gute Frage. Das Problem hatte ich noch nicht.
Floyd 10.09.2012
Ich hab das (Grund)Programm mal auf einem der Rechner mit der TK-Anlage installiert. Es zeigt alle Leitungen in einer Liste an - trennt also nicht die Provider von der Line Angabe. Sorry, das ich das vorher nicht geprüft habe
MyKey0815 14.09.2012

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH