TAPI Beispiel

02/04/2016 - 09:24 von Martin KoWi | Report spam
Hallo,

meine Erfahrungen mit TAPI sind bislang gleich Null.
Jetzt sollte ich aber eine Anrufererkennung in eine SW integrieren.
Ich hab zwar schon ein wenig gegoogelt, aber da ich weiß dass dieses Wissen hier vorhanden ist, dachte ich ich frag
lieber mal nach ob mir jemand die richtigen Links zeigen kann oder vielleicht sogar Beispiel-code hat.
Lösungen ohne (kommerzielle) OCXe sind natürlich bevorzugt.

danke schon mal im voraus,
martin
 

Lesen sie die antworten

#1 Wilfried Dietrich
02/04/2016 - 11:47 | Warnen spam
Hallo Martin,

TAPI ist sehr komplex, ich habe mir aus folgendem etwas (eine DLL) gebaut:
http://www.planet-source-code.com/v...p;lngWId=1


Es hat sich aber herausgestellt, das die meisten meiner Kunden
eine Fritz!Box Fon im Einsatz haben und damit ist das viel einfacher.

Ein Winsock mit Namen WskFB und Protokoll 0 - sckTCPProtocol auf eine Form ziehen
und dann prinzipiell so:

Private Sub FritzBox_verbinden()
WskFB.RemoteHost = "fritz.box"
WskFB.RemotePort = 1012
WskFB.Connect
End Sub


Private Sub WskFB_DataArrival(ByVal bytesTotal As Long)
Static sFritzBoxZeit As String
Dim sValue() As String, sData As String

' Wenn die Verbindung steht. Sobald Anrufe getàtigt werden, entstehen Meldungen folgender Art:
' <Datum> <Zeit>;CALL;<?>;<Anschluss>;<Quellrufnummer>;<Zielrufnummer>;<SIP + Nummer>;
' <Datum> <Zeit>:59;CONNECT;0;<Anschluss>;<Zielrufnummer>;
' <Datum> <Zeit>:29;DISCONNECT;0;<Anschluss>;

' Eingehende Anrufe verlaufen nach folgendem Schema:
' <Datum> <Zeit>;RING;<Anschluss>;<Quellrufnummer>;<Zielrufnummer>;<SIP + Nummer>;
' <Datum> <Zeit>;CONNECT;<?>;<Anschluss>;<Quellrufnummer>;
' <Datum> <Zeit>;DISCONNECT;<Anschluss>;<Gespràchslànge in Sek.>;

On Error GoTo Fehler

WskFB.GetData sData
If Len(sData) > 0 Then
sValue = Split(sData, ";")
If UBound(sValue) > 3 Then
If sValue(1) = "RING" Then
If sFritzBoxZeit <> sValue(0) Then
sFritzBoxZeit = sValue(0)
' tu was mit sValue(3), sValue(4)
End If
End If
End If
End If

Fehler:
On Error GoTo 0
End Sub


Bei einer Fritz!Box Fon den Anrufmonitor (Port) freigeben:
An FON1 oder 2 ein Telefon anschließen und #96*5* eingeben.


Gruß Wilfried

Ähnliche fragen