Tapi

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Beitrag von Tom »

Es mußte halt nur mal von mir gesagt werden.
Mußte es. Absolut unbedingt. :headbang:

Du schrubst an anderer Stelle (an welcher, das weißt Du sicher aus dem Kopf), daß Du ewig an irgendeinem Control gebaut hast, das neben einem Datumsfeld erscheint und die Datumseingabe vereinfacht. Dann, ergänzest Du begeistert, hast Du entdeckt, daß das von Dir (später?) eingesetzte eXPress++ derlei - und besser - bereits enthält. Statt Dich zurück in Deinen Code zu begeben, hast Du die Funktionalität aus eXPress++ genutzt. Ganz sicher hättest Du ein paar Minuten, Stunden oder Tage später mit einer selbstgestrickten Alternative aufwarten können. Aber es war auf diese Art einfacher, und das Erfolgserlebnis, etwas bereits Existierendes nachzuahmen, dürfte sich auch in Grenzen halten.

Ich habe die - extrem schlecht dokumentierte und offenbar nicht konsistent arbeitende - TAPI beackert und mit unserer häuslichen Telefonanlage eine halbwegs funktionierende Leitungsüberwachung hinbekommen. Dann durfte ich feststellen, daß die von mir entwickelte Lösung zu propreitär ist und sich nicht bei allen TAPI-tauglichen Anlagen einsetzen läßt. Da es sich um ein Zusatzfunktionalität der Qualität "schaut mal, was wie für Euch tun" handeln sollte, habe ich die Weiterentwicklung an dieser Stelle gestoppt - es gab Wichtigeres zu tun. Und ich bin niemand, der sich daran freut, das Rad zum tausendsten Mal erfunden zu haben. Eine Bibliothek für 500 Euro einzukaufen ist einfach um ein Vielfaches billiger, als zwei Tage in diesen Scheiß zu investieren, und der Einkauf hat auch noch den Vorteil, daß man einen Lieferanten in die Pflicht nehmen kann.

Abschließend möchte ich Dich bitten, mal zu prüfen, ob Deine Art, mit höflich und hilfreich gemeinten Antworten auf Deine etwas unpräzise gestellten Fragen umzugehen, nicht überarbeitet und in einer neuen, benutzerfreundlicheren Version präsentiert werden könnte. Danke. 8)
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Jan,
Jan hat geschrieben:Denn wie gesagt, in unsere Firmen-Applikation ist TAPI eingebaut. Jimmy schien mir aber auf CAPI statt TAPI für ISDN zu bestehen. Und weil das nicht wirklich mein Spezialgebiet ist :-) wollte ich den Artikel einfach mal in den Raum stellen.
Ich meine mich dunkel an die Anfänge meiner ISDN Zeit zu erinnern, dass damals ISDN in den USA nahezu keine Rolle spielte. Damals wurde dann für das ISDN (in Europa oder gar Deutschland ?) CAPI entwickelt und meine erste ISDN Telefonanlage konnte per CAPI und anderer Treiber als PC-Internetzugang dienen.

Windows hatte damals keine eigene ISDN Unterstützung. Ich vermute, dass nach einiger Zeit (Jahren) die USA nachgezogen haben und Intel / Microsoft haben den TAPI Treiber erweitert, damit er mit beiden Zugängen (USA) zurecht kommt.

Das würde die Aussagen von Wickipedia erklären.
Da das aber schon lange her ist, kann ich mich natürlich auch täuschen :wink:
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Tom hat geschrieben:Eine Bibliothek für 500 Euro einzukaufen ist einfach um ein Vielfaches billiger, als zwei Tage in diesen Scheiß zu investieren,
dazu fällt mir zweierlei ein ...

1. 500 Euro in 2 Tagen, soviel möchte ich auch mal verdienen :D
2. Ob 2 Tage für die Bibliothek reichen würden ... :wink:
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Beitrag von AUGE_OHR »

moin,
Jan hat geschrieben:
Olaf hat geschrieben:
Jimmy hat geschrieben:Ich bin mir auch nicht sicher ob mit dem Beitrag vom 5 Dezember mit ISDN und TAPI funktioniert, brauchst man für ISDN doch CAPI
Ähm, ich arbeite auch mit TAPI unter einer Bosch-ISDN-Telefonanlagen (leider hier nicht zu gebrauchen, da unter Access). Aber was bedeutet dies hier http://de.wikipedia.org/wiki/TAPI
also was ich meine ist der direkte zugriff auf eine ISDN Karte/Telefon/
Gerät egal ob jetzt zum wählen oder annehmen von Anrufen.

Eine ISDN Karte läst sich meiner meinung nach nicht über Windows
Terminal Programm wie ein Modem ansprechen. Hierzu wird erst ein
CAPI (Common ISDN Application Programming Interface) Treiber
benötigt wie er z.b. bei der FRITZ oder TELES Karten mitgliefert wird.

ob in TAPI v3.x inzwischen ein CAPI Layer hat weiss ich nicht, aber
in den Beiträgen vorher erwähnt spielt ISDN in den USA keine Rolle
so das ich es bezweifel.

leider sind solche mitgelieferten CAPI Treiber nur für den localen Einsatz.
bei WINFAX oder DAVID werden Netzwerkfähige CAPI Treiber geliefert
so das man eine Server ISDN-Karte-Geräte von den Workstationen
ansprechen kann. ISDN Telefonanlagen haben auch solche Netzwerk
Treiber ... aber nicht umsonst (z.b. ASCOM... )

nun zu meiner Cl*pper ISDN Mailbox und CFOS

am Anfang von ISDN DFÜ gab das Problem das alles auf Modem
ausgelegt war. Irgendwann kam dann CFOS, welches ein "Fossil"
Protokoll emulieren konnte was dann im FIDO-Net mit Frontdoor
zusammen arbeiten konnte und verschiedene(!!!) ISDN Karten die
Kommunikation erlaubten (ging damals nur vom selben Hersteller).

Dort hängt nun auch meine Cl*pper / SilverCom Mailbox dran und
ich bekomme wie vom Modem alle Informationen, also auch die
Rufnummer wer nun anruft ! das funktioniert sogar mit der
"KlickTel" Telefon CD und der "Rückwärtz Suche" (leider seit es
offiziell erlaubt ist gehen die CD nicht mehr mit meiner damaligen
Function)

achso, erwähnen sollte ich auch noch das man ja an mehreren
Punkten am S0 ISDN Bus das Signal abgreifen kann. Local wie
gesagt kein Problem mit CFOS. Telefonanlage NetCAPI ist teuer ...

Lösung :
einen Server an den S0 Bus mit einer ISDN Karte, Treiber
(CAPI) installieren, CFOS auf COM 1-8 configurien und im
Netzwerk das "virtuelle" Modem freigeben.

das ganze funktioniert seit Win3.11 mit Cl*pper
zugegeben hab ich es noch nicht unter Xbase++ ausprobiert,
aber was Cl*pper kann ...

gruss by OHR
Jimmy
olaf870
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 128
Registriert: Mi, 26. Okt 2005 18:41
Wohnort: Berlin
Kontaktdaten:

Beitrag von olaf870 »

Hallo Jimmy,
Dort hängt nun auch meine Cl*pper / SilverCom Mailbox dran
Hört sich ja gut an, "Clipper" habe ich ja schon mal gehört, aber "SilverCom", was ist denn das?
Lösung :
einen Server an den S0 Bus mit einer ISDN Karte, Treiber
(CAPI) installieren, CFOS auf COM 1-8 configurien und im
Netzwerk das "virtuelle" Modem freigeben.
Das habe ich doch gleich mal ausprobiert, doch wie bekomme jetzt die Telefonnummer des Anrufers in mein Xbase-Programm?
Gruß
Olaf870
olaf870
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 128
Registriert: Mi, 26. Okt 2005 18:41
Wohnort: Berlin
Kontaktdaten:

Beitrag von olaf870 »

Hallo Tom,
da hast Du doch was falsch verstanden.
Dann, ergänzest Du begeistert, hast Du entdeckt, daß das von Dir (später?) eingesetzte eXPress++ derlei - und besser - bereits enthält. Statt Dich zurück in Deinen Code zu begeben, hast Du die Funktionalität aus eXPress++ genutzt.
Express enthält nicht im Ansatz das, was ich geschrieben hatte. Was mich begeisterte war, daß ich das Express-READ-System zusammen mit meinen Input-Controls nutzen kann (da kann man wieder sehen, was dabei rauskommt, wenn man nicht richtig zuhört...) Und selbst wenn Express vergleichbare Inputcontrols schon gehabt hätte, mein Erfolgserlebnis wäre trotzdem da: Ich verstehe das Xbase- und Windows-Eventsystem nun schon besser als vorher. Und ich bin wohl nicht der einzige den - außer schnell und viel Geld verdienen - das auch im Detail interessiert, womit er tagtäglich doch zu tun hat.
Daß Express (oder andere mir bekannte Libs) nun nichts zu meinen tricky Input-Controls Vergleichbares bieten, macht aber mein Erfolgserlebnis in der Tat nicht geringer.

Gruß
Olaf870
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Beitrag von Tom »

Lieber Olaf,

wenn Du Dich nicht ein bißchen zurücknimmst und den Beleidigungslevel um mindestens zwei herunterschraubst, schmeiße ich Dich aus dem Forum.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Huhu,
easy going! Kommt mal langsam beide wieder zur Ruhe, atmet dreimal tief durch und gut ist :!:
Ansonsen klärt das doch bitte bilateral per Mail, ok :?:

Vielen Dank für Euer Verständnis und viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Wolfgang.
500 Euro in 2 Tagen, soviel möchte ich auch mal verdienen
Es ging um Kosten, nicht um Einkommen. :wink:
Herzlich,
Tom
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Hallo Tom,
auch wenn ich dazu nichts gesagt habe (der Hubert wars), Kosten von 500 € kann ich auch an einem Tag produzieren :wink:

Außerdem, auch wenn ich mich aus der Diskussion rausgehalten habe, möchte ich hier auch Olafs Nebensatz-Äußerungen rügen. Ich finde, die haben hier nichts zu suchen und möchte ich persönlich auch nicht mehr lesen. Insofern gebe ich Tom Recht, der Ton macht die Musik und wer die nicht beherscht, hat m.E. hier nichts zu suchen !
Viele Grüße
Wolfgang
thomas
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Fr, 23. Sep 2005 16:07
Wohnort: Bad Oldesloe
Kontaktdaten:

Beitrag von thomas »

Hallo erst mal.

Nochmals zurück zum Thema.
Wenn es jemand schaffen würde, das die Callback-Funktion mit der Tap32.dll funktioniert,
dann wäre natürlich ein Kauf der TopTapi überflüssig und man könnte halt Geld sparen.
Aber Vorsicht, selbst wenn das Problem mit der Callback-Funktion gelöst wäre, hätte man
erst ca. 1% der noch anstehenden Aufgaben und Probleme erledigt.
Der große Berg (99%) an Herausforderungen und Entwicklungsaufwand beginnt nun erst.
Tom bezeichnete die Tapi32.dll als extrem schlecht dokumentierte und offenbar nicht
konsistent arbeitend. Ich bin zwar anderer Meinung, aber das spielt hier keine Rolle,
denn das Thema Tapi ist an sich schon schwer genug. Wer also wirklich Zeit und Geld
sparen möchte, der kommt zur Zeit nicht ohne ein externes Tool herum.

Gruß

Thomas
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Beitrag von Markus Walter »

Hui,

wenn ich gewusst hätte, was mein Posting in diesen Thread bewirkt, hätte ich es gelassen und den Thread "schlafen lassen"... :oops:

Aber nun zum Thema:
Ich möchte eigentlich nur 2 Dinge tun:
- wählen
- einen Anruf mitkriegen (Nummer des Anrufers)

Ich möchte keine Telefoniesoftware schreiben, sondern die beiden Funktionen wären "nice to have", haben auch keine besondere Priorität.

Folgendes habe ich herausgefunden / glaube ich zu wissen:
- Tapi und Capi haben wenig bis nichts miteinander zu tun. CAPI ist eine Schnittstelle zu ISDN-Hardware und somit in USA praktisch nicht bekannt (ISDN gibt es dort kaum/nicht)
- Tapi ist eine API um Telefonie-Funktionen zu verwenden. Diese besteht aus mehreren Layern, uns sollte nur der oberste interessieren. (Irgendwo weiter unten könnte es einen Tapi-Capi-Layer geben, aber lassen wir das jetzt...)
- Bis Tapi 2.x war die TAPI "nur" als normales DLL-System realisiert (und da fangen schon unsere CallBack-Probleme beim eingehenden Anruf an...)
- Seit Tapi 3.x (ab Win2000/XP) gibt es auch eine COM-Schnittstelle (Tapi3.dll). Über diese (und Xbase 1.9) sollten sich doch wenigstens meine beiden "Wünsche" erfüllen lassen. Leider finde ich keinerlei Beispiele dazu (angeblich sind welche im SDK, aber das habe ich gerade nicht zur Hand).


@Tom: Grundsätzlich hast Du recht, dass es sich in der Regel lohnt auf "fertige" Tools zurückzugreifen. Ich bin aber immer etwas vorsichtig, wenn man keine Source bekommt (oder diese eh nicht versteht). Ich musste auch schon erleben, dass Tools, die ich verwendet hatte, nicht mehr gepflegt wurden. In meinem Fall (für die 2 "Kleinigkeiten") möchte ich das eigentlich nicht (auch weil man bei der TopTapi eine VB-Runtime mitgeben muss).

@Olaf: Auch ich bin der Meinung, dass Du Deine Äußerungen ohne die kleinen Seitenhiebe verfassen solltest.


So long, jetzt verhaut Euch mal nicht :D :D :D

Vielleicht hat ja jemand ein Beispiel für den COM-Zugriff auf die tapi3.dll...

Wenn nicht, werde ich es überleben.
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Markus,
Markus Walter hat geschrieben:wenn ich gewusst hätte, was mein Posting in diesen Thread bewirkt, hätte ich es gelassen und den Thread "schlafen lassen"... :oops:
gut, dass Du das nicht vorher wusstest :!:
Mach' Dir keinen Kopf deswegen - hätte es nicht hier geknallt, wäre es früher oder später in einem anderen Thread dazu gekommen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
thomas
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Fr, 23. Sep 2005 16:07
Wohnort: Bad Oldesloe
Kontaktdaten:

Beitrag von thomas »

Hallo Walter.

Also, die VB-Runtime braucht man nun wirklich nicht um das TopTapi mit Xbase zu benutzten.
Es reicht einfach aus, die TopTapi2.dll in den Runtime-Ordner von Xbase zu schmeißen.

Gruß

Thomas
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Beitrag von Markus Walter »

thomas hat geschrieben:Hallo Walter.
Markus, nicht Walter (aber Du bist nicht der einzige...) :wink:
thomas hat geschrieben:Also, die VB-Runtime braucht man nun wirklich nicht um das TopTapi mit Xbase zu benutzten.
Es reicht einfach aus, die TopTapi2.dll in den Runtime-Ordner von Xbase zu schmeißen.
Das liest sich auf deren Webseite aber anders:
toptapi hat geschrieben: Systemvoraussetzungen

topTapi benötigt Tapi 2.x oder 3.x sowie die VB6 Laufzeitdateien!

Voraussetzung ist eines der folgenden Betriebssysteme:
Windows 95 (incl. Tapi Update), Windows 98, Windows 98SE, Windows ME, Windows NT 4, Windows 2000, Windows XP oder Windows 2003.

Um topTapi nutzen zu können, wird kein installiertes Visual Basic benötigt. Die notwendigen VB Laufzeitdateien werden bei der Installation von topTapi installiert.
Alle Events, Methods und Properties sind nur dann nutzbar, wenn sie vom verwendeten TSP unterstützt werden!
Hast Du das mal auf einem Rechner probiert, auf dem Du nicht toptapi installiert hattest?
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Beitrag von Markus Walter »

Hallo Thomas,

noch eine Frage:
Könntest Du ein Quelltext-Beispiel für einen Anruf mit der TopTapi zeigen?

Wie aufwendig ist es, bei einem eingehenden Anruf die Nummer zu bekommen?
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
thomas
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Fr, 23. Sep 2005 16:07
Wohnort: Bad Oldesloe
Kontaktdaten:

Beitrag von thomas »

Hallo Markus und nicht Walter. (sorry)

So, die VB-Runtime braucht man wirklich nicht. Die Toptapi2.dll hat überhaupt nichts mit VB zu tun.
Ich denke, das die VB-Runtime für die ganzen Spielkinder gedacht ist, die mit Excel, Word oder
Access telefonieren wollen.

Den Quelltext krame ich mal heraus und poste ihn später hier im Thread.

Gruß

Thomas
thomas
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Fr, 23. Sep 2005 16:07
Wohnort: Bad Oldesloe
Kontaktdaten:

Beitrag von thomas »

Hallo Markus.

Zum Quelltext

Die Funktionen LP_MYCALLBACK, _MYLOOP, _MYLOOP_QUIT, _PTR_TO_STR sind in C++
geschrieben und im Projekt als Objectdatei hinzugelinkt.

Zunächst wird ein Thread gestartet, der die Tapi-Events entgegennimmt und an die Procedure „MyCall11P“ weiterleitet.
Es weden 11 Parameter benötigt, die aber in der TopTapi gut Dokumentiert sind.
Mit „TapiLineInit(NIL,NIL,nCb,@nTSP,2)“ wird die Tapi initialisiert und in der Referenzvariable nTSP
erhält man die Anzahl der installierten Tapi-Service-Provider.
In der For Next Schleife wähle ich den entsprechenden Provider aus (z.B. Alcatel) und öffne anschließend
eine Line mit TapiLineOpen(nId).
So, nun heißt es warten bis ein Anruf eingeht. Sobald dies geschieht, leitet der Tapi-Service-Provider eine
Menge „Events“ an die Tapi32.dll weiter, und diese leitet sie weiter an die TopTapi2.dll, wo sie von dort
letztendlich in meiner Callback-Funktion landen. Um die Telefonnummer des Anrufers zu ermitteln,
wird auf das Ereignis „CALLERID“ gewartet und im Parameter nP1 steht der Pointer, der auf Speichervariable
mit der Telefonnummer zeigt. Mit _PTR_TO_STR wird die Nummer für Xbase lesbar.

Code: Alles auswählen

REQUEST _LP_MYCALLBACK
REQUEST _MYLOOP
REQUEST _MYLOOP_QUIT
REQUEST _PTR_TO_STR

FUNCTION main
LOCAL nTSP := 0
LOCAL nCb  := _LP_MYCALLBACK()
LOCAL nId  := -1
LOCAL nIx
LOCAL cProv
LOCAL nEvent, mp1:= NIL, mp2 := NIL , oXbp := NIL
Thread():New():Start("_MYLOOP")
TapiLineInit(NIL,NIL,nCb,@nTSP,2)
FOR nIx = 0 TO nTSP-1
    getDeviceName(nIx)
    cProv := getProviderInfo(nIx)
    IF UPPER(cProv) == "ALCATEL TAPI SERVICE PROVIDER"
        nId := nIx
    ENDIF
NEXT nIx
IF nId == -1
    MsgBox("Service Provider nicht gefunden !")
    QUIT
ENDIF
TapiLineOpen(nId)
DO WHILE .T.
    nEvent := AppEvent( @mp1, @mp2, @oXbp )
    oXbp:handleEvent( nEvent, mp1, mp2 )
    DO CASE
    CASE nEvent == xbeK_ESC
        EXIT
    ENDCASE
ENDDO
*--------------------------------------------------------------------------------------------
TapiLineClose(nId)
TapiLineShutDown()
_MYLOOP_QUIT()
RETURN(.T.)

PROCEDURE MyCall11p(nId,nMsg,nC1,nC2,nC3,nC4,nC5,nC6,nP1,nP2,nP3)
LOCAL cTelNr := ""
IF nMsg == 2  &&_CALLERID
    cTelNr := _PTR_TO_STR(nP1)
    MsgBox(cTelNr)
ENDIF
RETURN

Gruß

Thomas
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Beitrag von Markus Walter »

Hallo Thomas,

danke für das Posting...

Stammen die c-Routinen von Dir oder wo hast Du die her...

Das Ganze müsste sich doch auch über COM lösen lassen, toptapi stellt doch auch ein ActiveX-Control zur Verfügung?! Vielleicht braucht man auch dann die VB-Runtime?!

Aber im Prinzip wäre das was Du gepostet hast ja das was ich brauche...
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Markus Walter hat geschrieben:... (auch weil man bei der TopTapi eine VB-Runtime mitgeben muss).
Was mit VB bekommt man das hin :?
Aber die VB Runtime wäre schon ein unschönes Mitbringsel. :wink:
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Beitrag von AUGE_OHR »

hi,
olaf870 hat geschrieben:Hört sich ja gut an, "Clipper" habe ich ja schon mal gehört, aber "SilverCom", was ist denn das?
Cl*pper COM Tools -> SilverCom -> Telepathy

Die BBS ist unter S87 enstanden und hat so einiges an Evolution
durchgemacht. Vor allem die Performance der COM Ports musste
immer wieder erhöht werden weil schneller Hardware verfügbar war.

Ich habe seit Jahren nicht mehr in den Source gesehen und hab
gesehen das ich zum Schluss wohl die Telepathy LIB benutzt habe
wegen INT14 und CFOS / ISDN X75 Protokoll
Lösung :
einen Server an den S0 Bus mit einer ISDN Karte, Treiber
(CAPI) installieren, CFOS auf COM 1-8 configurien und im
Netzwerk das "virtuelle" Modem freigeben.
Das habe ich doch gleich mal ausprobiert, doch wie bekomme jetzt die Telefonnummer des Anrufers in mein Xbase-Programm?
wenn du CFOS (erfogreich) installiert hast, sollte sich das ISDN Gerät
wie ein Modem ansprechen lassen. Modems verwenden den HAYES
Befehlssatz und beginnt mit AT.

Bei CFOS gibt es die Option ATI1 welches eine Statuszeile ausgibt
die man mit AT&D2 sowie ATS11=xx (Bildschirmzeile, in der die Status-
Zeile dargestellt wird, faengt bei 0 an zu zaehlen).

Code: Alles auswählen

                          Anzahl der Frames, die noch ausstehen.
                          |
                          |      Anzahl Frames die gerade gesendet werden
                          |      |
{+}                       |      |    verbleibende Sec. der aktuellen Einheit
                          |      |                                          |

        cFos> C-B3  ACOD  0R:64  0T:1024  C:12     V110 19200  9111041     39

              | |   ||||     |      |     |        |    |      |
       connect/ |   ||||     |      |     Charge   |    |      Caller ID/
     disconnect |   ||||     |      |  (Gebuehren- |    |      dialed number
      indicator |   ||||     |      |   Einheiten) |    |
      (*)       |   ||||     |      |              |    bps rate bei V110
            Ebene   ||||     |      |              B2-Protocol (z.b. X75)
                    ||||     |      last transmitted block length, mit TX-"LED"
                    ||||     last received block length, mit RX-"LED"
             Auto-Ans|||
                     ||DTR-"LED" (bei DTR low werden alle Calls rejected)
        Carrier Detect|
                      Offhook-"LED", an = reject calls (anders als beim modem)

nun hat man also auch die Caller ID auf dem Bildschirm,
blieb nur noch das Problem wie komme ich an die "Anzeige" ?

nun CFOS hat auch eine "Debugging Trace" Option wo man CAPI-
Messages aufgelistet hat ... aber das Logfile wird schnell sehr gross ...

dann hab ich von einem Bekannte ein ASM Tool bekommen welches
mir die "Anzeige" vom Bildschirm "abphotografiert" ...

später bekam ich irgendwann raus das man mit cMSG :=
SAVESCREEN(.....) es leicht mit CL*pper selbst machen konnte :)

zu beachten ist noch der "Service Indicator (SI)" welcher angibt
welches ISDN Protokoll verwendet wird. Für die BBS habe ich
"CONNECT VOICE" explizit ausgeschlossen was zum "telefonieren"
aber notwendig ist so das man SI = 1 und als B2-Protokoll
"bittransparent" wählen muss. Auf diese Weise kann man
"Telefonie" betreiben.

gruss by OHR
Jimmy
p.s. wenn ich mich jetzt richtig errinnere war TAPI v1.0 das
M$-Gegenstück zum HAYES Protokoll. Der "Vorteil" von TAPI v1.0
war das man es über das Netzwerk benutzen konnte. Das ist bei
ISDN aber nicht notwendig da dort mit dem S0 Bus selbst ein
"Netzwerk" Protokoll vorhanden ist.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo,

wenn man bedenkt wie alt CFOS schon ist und dass es immer noch gebraucht wird :thumbright:
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Markus,
Markus Walter hat geschrieben:wenn ich gewusst hätte, was mein Posting in diesen Thread bewirkt, hätte ich es gelassen und den Thread "schlafen lassen"... :oops:
nur nicht die falschen Schlüsse ziehen. Alle höflichen Fragen und Antworten sind hier willkommen.
Gruß
Hubert
thomas
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Fr, 23. Sep 2005 16:07
Wohnort: Bad Oldesloe
Kontaktdaten:

Beitrag von thomas »

Hallo Walter.

Nochmals zur VB-Runtime ! Sie wird weder für ActiveX noch für die DLL-Variante benötigt.
Du kannst dir die TapTapi mal downloaden und installieren, denn anschließend ist sie voll einsatzbereit.
Es werden auch einige Beispiele ausgeliefert, mit der Du dann alles testen kannst und für die VB-Beispiele
brauchst Du natürlich die VB-Runtime (aber nur dann) !
Die OCX-Version habe ich noch nicht getestet, da ActiveX für mich noch ein Buch mit sieben Siegel ist und
von mir bei Gelegenheit noch geöffnet werden muß.
Das C-Source ist nicht von mir, weil ich von C genauso soviel Ahnung habe wie ein Kuh vom Klavier spielen.
Pablo Botella hat es geschrieben und es wurde von mir nur einwenig verändert.
Falls Interesse besteht, kann es hier auch mal posten.
Die Lösung von Jimmy scheint auch ein gangbarer Weg zu sein, allerdings ist man dann sehr Hardwareabhängig.

Gruß

Thomas
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Beitrag von Markus Walter »

thomas hat geschrieben:Hallo Walter.
Schon wieder, aber ich höre ja auf fast alles... :D :D :D
thomas hat geschrieben:Nochmals zur VB-Runtime ! Sie wird weder für ActiveX noch für die DLL-Variante benötigt.
Du kannst dir die TapTapi mal downloaden und installieren, denn anschließend ist sie voll einsatzbereit.
Es werden auch einige Beispiele ausgeliefert, mit der Du dann alles testen kannst und für die VB-Beispiele
brauchst Du natürlich die VB-Runtime (aber nur dann) !
Die OCX-Version habe ich noch nicht getestet, da ActiveX für mich noch ein Buch mit sieben Siegel ist und
von mir bei Gelegenheit noch geöffnet werden muß.
Wenn ich etwas Zeit habe, werde ich mir das mal anschauen, da sind ja sicherlich auch Beispiele für OCX dabei (wobei man dann wieder auf jeder Maschine ein OCX registrieren muss - aus meiner Sicht der größte Nachteil von ActiveX!)
thomas hat geschrieben:Das C-Source ist nicht von mir, weil ich von C genauso soviel Ahnung habe wie ein Kuh vom Klavier spielen.
Pablo Botella hat es geschrieben und es wurde von mir nur einwenig verändert.
Falls Interesse besteht, kann es hier auch mal posten.
Gerne, dann wäre ich ja schon fast durch...
thomas hat geschrieben:Die Lösung von Jimmy scheint auch ein gangbarer Weg zu sein, allerdings ist man dann sehr Hardwareabhängig.
Den Weg werde ich nicht gehen, da meine Software auf ca. 2000 Rechner läuft (quer durch die Republik) und diese Tapi-Geschichte wirklich nur ein Gimmick sein soll, ist der Installationsaufwand viel zu groß...
Aus dieser Sicht wäre Dein Ansatz (auch ohne OCX) am schönsten...
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Antworten