TAPI ankommende Rufnummer anzeigen
-
so. hab es jetzt noch mal mit vs6.0 versucht.
#include "stdafx.h" #include <iostream> #include "Tapi.h" #pragma comment(lib, "Tapi32.lib") int main(int argc, char* argv[]) { long lResult = 0; HLINEAPP hLineApp = NULL; HLINE hLine = NULL; HCALL hCall = NULL; DWORD dwNumDevs = 0; DWORD dwApiVersion = 0x00020002; LINEINITIALIZEEXPARAMS lineInit; memset (&lineInit, 0 , sizeof(lineInit)); lineInit.dwTotalSize = sizeof(lineInit); lineInit.dwOptions = LINEINITIALIZEEXOPTION_USEEVENT; lResult = ::lineInitializeEx(&hLineApp, NULL, NULL, NULL, &dwNumDevs, &dwApiVersion, &lineInit); if(lResult != 0) std::cout << "Fehler!! " << std::endl; else std::cout << "Tapi initialize! " << "Line Devices On System: " << dwNumDevs << std::endl; lResult = ::lineOpen(hLineApp, 8, &hLine, dwApiVersion, 0, 0, LINECALLPRIVILEGE_NONE, LINEMEDIAMODE_INTERACTIVEVOICE, 0); if(lResult != 0) std::cout << "Fehler!! " << std::endl; else std::cout << "Line Open! " << std::endl; lResult = ::lineMakeCall(hLine, &hCall, "0123456789", 0, NULL); if(lResult < 0) std::cout << "Fehler!! " << std::endl; else std::cout << "Call! " << std::endl; }klappt soweit auch. nur das halt bei telefon nur 0123 ankommt. komme nicht weiter.
keiner eine idee??gruß
mlc
-
Ich arbeite extrem viel mit der Tapi. Ich kan Dir hierzu nichts sagen.
Versuch es dochmal mit einem anderen TSP.Was ist denn das für ein TSP?
Prüfe den TSP mal mit dem TB20.EXE (Tapi-Browser), evtl. verhält der sich ja falsch.
-
also wenn ich es mit dem tapi-browser (tb20.exe) mache klapp alles.

TSP = CorNet-TS TAPI Service Provider 1
mfg
-
ich hab es rausbekommen

es lag an der tapi version. hab es jetzt auf 2.0 geändert (vorher 2.2) jetzt geht es
mfg
-
Ist das auch im TB20 nachvollziehbar? Das ist ja schon eigentümlich...
-
da hab ich mich wohl zu früh gefreut. hat doch nix damit zu tun.
es geht scheinbar nur wenn ich mit dem tapi20.exe browser auch die line geöffnet habe.
so ein mist!
-
habs hinbekommen

-
mlc schrieb:
habs hinbekommen

Problem war?
-
scheinbar ging es dem telefon/programm zu schnell

wenn ich nach lineMakeCall z.B. ein cin >> i; einbaue kommt die ganze nummer an.so jetzt da hin zurück weshalb ich ja eigentlich hier war. gibt es noch eine andere methode als die beschriebene die nummer des anrufers herauszubekommen (Tapi v2.2)??
mfg
-
hi,
wie komme ich denn von
dwTotalSize=x1000
dwNeededSize=x49
dwUsedSize=x49
dwStringFormat=x1, ASCII
dwStringSize=x31
dwStringOffset=x18zu
dwTotalSize=x1000
dwNeededSize=x49
dwUsedSize=x49
dwStringFormat=x1, ASCII
dwStringSize=x31
dwStringOffset=x18
65687552 20202020 20202020 20202020 Ruhe
20202020 20202020 20202020 20202020
20202020 20202020 20202020 3e202020 >
xxxxxx00 xxxxxxxx xxxxxxxx xxxxxxxx???
mfg
-
MSDN lesen:
dwStringOffset ist das Byte Offset zum Start der Struktur an der diese Daten stehen.
-
hi,
du hattest geschrieben das wenn ich die leitung öffne mir die callbackfunc den entsprechenden call per line_newcall liefert.
nun bei mir geht das programm erst gar nicht in die callbackfunc. muss ich da was bestimmtes beachten? hab schon viel rumprobiert.und danke für
MSDN lesen:
dwStringOffset ist das Byte Offset zum Start der Struktur an der diese Daten stehen.wer lesen kann ist klar im vorteil

mfg
-
Wie hast Du lineInitialize(ex) aufgerufen?
Hast Du den entsprechenden lineOpen mit dem entsprechenden owner Flag gemacht?
-
hi,
habe es so gemachtlineInit.dwOptions = LINEINITIALIZEEXOPTION_USEHIDDENWINDOW; lResult = ::lineInitializeEx(&hLineApp, NULL, lineCallbackFunc, "Tapi", &dwNumDevs, &dwApiVersion, &lineInit);und
lResult = ::lineOpen(hLineApp, 8, &hLine, dwApiVersion, NULL, NULL, LINECALLPRIVILEGE_OWNER, LINEMEDIAMODE_INTERACTIVEVOICE, NULL);mfg
-
Das ist so weit ich es sehen kann korrekt so.
Und was kommt bei Dir in der Callback Routine an?
-
na scheinbar nix. hab ne ausgabe drin. diese wird aber nie ausgegeben. also denke ich mal das sie nie aufgerufen wird.
hab das problem jetzt so gelöst das ich mit lineGetMessage über LINE_APPNEWCALL mir den call hole und dann die nummer. ist auch ok so.mfg
-
Ich arbeite mit einem eigenen Thread und einem Event, der steuert wann ich lineGetMessage aufrufe. Die Callback Methode habe ich seit Win95 Zeiten nicht mehr verwendet müsste aber denoch gehen.
-
ich glaube ich bleibe auch bei lineGetMessage

danke für deine tipps!mfg