TAPI Informationen auslesen

  • Hallo

    Wir haben in der Firma eine neue Telefonanlage bekommen.
    Leider ist bei unserem Paket kein komfortables Software Phone dabei gewesen.
    Nur eine TAPI Anbindung zwischen Telefon und PC ist installiert.
    Ich würde jetzt gerne Informationen auslesen und damit einen Art Dialer machen,
    der natürlich wesentlich mehr und besseres Informationen Intern anzeigt als der Windows eigene.
    Ich konnte im Forum einen Anfang finden...

    der ausgehende Anruft im folgendem Script klappt auch ....

    Spoiler anzeigen
    [autoit]

    ; Setup TAPI
    $sNumber = '0123369874'

    [/autoit] [autoit][/autoit] [autoit]

    Global $bLineFound = False
    Const $LINEADDRESSTYPE_PHONENUMBER = 0x1;
    Const $LINEMEDIAMODE_INTERACTIVEVOICE = 0x4;
    Global $oTAPI = ObjCreate("TAPI.TAPI")

    [/autoit] [autoit][/autoit] [autoit]

    If IsObj($oTAPI) Then
    $oTAPI.Initialize
    Global $oAddresses = $oTAPI.Addresses

    [/autoit] [autoit][/autoit] [autoit]

    Global $bLineFound = False
    For $oAddress In $oAddresses
    ConsoleWrite($oAddress.AddressName&@CRLF)
    If $oAddress.AddressName = "CAP TAPI" Then
    $bLineFound = True
    ExitLoop
    EndIf
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Make a call
    $oMyCall = $oAddress.CreateCall($sNumber, $LINEADDRESSTYPE_PHONENUMBER, $LINEMEDIAMODE_INTERACTIVEVOICE)
    $oMyCall.Connect (false)

    [/autoit]

    Ich habe leider noch nicht so wirklich mit Objekten gearbeitet...
    Habe auch schon bei MSDN gesucht. Leider verstehe / erkenne ich den Zusammenhang nicht so das ich die Informationen,
    die ich benötige rausfiltern kann...
    Folgendes brauche ich... ( Wichtig wären die Informationen in der Gruppe Calls )

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Vielen Dank schon einmal..

    MFG chris :D

  • Viel Ahnung habe ich auch nicht davon. Ich habe nur mal die VB Umsetzung in ein Skript übernommen. Und die sieht so aus:

    [autoit]

    ; TAPI initialisieren
    Global $bLineFound = False
    Const $LINEADDRESSTYPE_PHONENUMBER = 0x1;
    Const $LINEMEDIAMODE_INTERACTIVEVOICE = 0x4;
    Global $oTAPI = ObjCreate("TAPI.TAPI")
    If IsObj($oTAPI) Then
    $oTAPI.Initialize
    Global $oAddresses = $oTAPI.Addresses
    For $oAddress In $oAddresses
    If $oAddress.AddressName = "CAP TAPI" Then
    $bLineFound = True
    ExitLoop
    EndIf
    Next
    EndIf
    ; Call ausführen
    $oMyCall = $oAddress.CreateCall($sNumber, $LINEADDRESSTYPE_PHONENUMBER, $LINEMEDIAMODE_INTERACTIVEVOICE)
    $oMyCall.Connect(False)

    [/autoit]


    Wenn $bLineFound = False dann wird im GUI der Wählen Button ausgegraut.

  • Hier noch ein paar Links:
    Was ist TAPI?
    TAPI DLL
    TAPI Service Reference