![]() |
Telefonnummer auslesen funktioniert nur sporadisch
hey,
Tapi Komponenten: Delphiclub Tapi Komponenten. ![]() Telefonanlage: Agfeo 200IT Tapi Treiber: TapiCall ![]() Ziel: Telefonnummer des Anrufers auslesen. Problem: Es funktioniert, aber nur manchmal. Meistens: Das erste mal gehts, dann gehts nicht mehr. Nach Software neustart gehts wieder. Weiter Informationen: Es gibt Telefone zu denen ein eingehender Anruf nicht durchgeleitet wird. Um den Anruf doch abzuheben, wird ein anders Telefon benutz, auf das alle zugreifen können. Ich bin am verzweifeln. Hab schon alles nach Fehlern durchsucht. Hoffentlich kann irgendjemand hier helfen. Zur Vorgehensweise: Login im Tapisystem: Telname : Name des Telefons des Users; REDName: Name eines Telefon in dem alle Anrufe eingehen
Delphi-Quellcode:
Relevante Methode:
procedure TForm3.TAPILogon(TelName: string;REDName : string);
begin TAPILineService1.Active := true; if TAPIDeviceLogon(Telname,TAPILineDevice1) then begin TAPILine1.Active := true; TAPIenabled := true; end else TAPIenabled := false; if not (REDname = '') then //If not DAT[pre]ABASE entry is empty begin if TAPIDeviceLogon(Redname,TAPILineDevice2) then begin TAPILine2.Active := true; REDTAPIenabled := true; end else REDTAPIenabled := false; end; end;
Delphi-Quellcode:
Auslesen der Telfonnummer:
function TForm3.TAPIDevicelogon(TelName: String; Device: TTAPILineDevice):Boolean;
var i,si : integer; begin si := -1; for I := 0 to TAPILineService1.NumDevice - 1 do begin Device.ID := I; if Device.Caps.Name = TelName then begin si := i; end; end; if si = -1 then begin showmessage('Telefon "'+TelName+'" nicht gefunden!'); result := false; end else begin Device.ID := si; showmessage('Erfolgreich mit Telefon " ' + TelName + ' " verbunden!'); result := true; end; end;
Delphi-Quellcode:
bzw.
procedure TForm3.TAPICall1InfoCallerId(Sender: TObject);
begin if not Call1 then begin if length(TAPICALL1.Info.CallerID)>3 then begin icallerid := TAPICALL1.Info.CallerID; end; end; end;
Delphi-Quellcode:
Relevante Methoden:
procedure TForm3.TAPICall2InfoCallerId(Sender: TObject);
begin if not Call1 then begin icallerid := TAPICALL2.Info.CallerID; end; end;
Delphi-Quellcode:
procedure TForm3.TAPICall1StateConnected(Sender: TObject;
ConnectedMode: TLineConnectedModes; Rights: TLineCallPrivilege); begin call1 := true; button7.Visible := false; end; procedure TForm3.TAPICall1StateDisconnected(Sender: TObject; DisconnectedMode: TLineDisconnectMode; Rights: TLineCallPrivilege); begin call1 := false; button7.Visible := true; end; fishbrain |
Re: Telefonnummer auslesen funktioniert nur sporadisch
hat keiner irgendeine Idee??
Könnte es an den veralteten Komponenten oder am TAPI Treiber liegen? |
Re: Telefonnummer auslesen funktioniert nur sporadisch
Es muss doch jemanden geben, der ein ähnliches Projekt schon erfolgreich geschrieben hat, oder ein ähnlichen Problem hat/hatte.
Bitte helft mir. Ich hab keinen blassen Schimmer was der Auslöser des Fehlers sein könnte. Vielen Dank schonmal für die, die sich die Mühe gemacht haben das ding durchzulesen. MFG fishbrain |
Re: Telefonnummer auslesen funktioniert nur sporadisch
Ich habs jetzt mit einem sehr unsauberen Lösungsweg versucht:
Jedesmal wenn bei ondisconnect werden alle Tapikomponenten neu verbunden. Das Feedback vom Kunden: Es läuft besser aber immer noch nicht 100% Kann sich irgendjemand ausmalen wieso? |
Re: Telefonnummer auslesen funktioniert nur sporadisch
Hi,
wenn Du Zugriff auf die Telefonanlage hast, prüfe ob Deine ISDN-Karte (ich gehe einfach davon aus, dass Du bei Verwendung von TAPI Komponenten die Schnittstelle zur Anlage damit herstellst) in der Anlage richtig konfiguriert ist. Agfeo bietet mit der TK Suite zumindest für die Konfiguration ein schönes Frontend. Zumindest bei AVM Karten gibt es in Verbindung mit TAPI immer mal wieder Probleme. Ist die ISDN Karte in die Rufgruppe für das "Telefon für Alle" eingetragen? Wenn nicht könnte es sein, dass die Karte von der Anlage nicht über den eingehenden Ruf informiert wird. Auch gerne die Rufzuordnungen für eingehende Rufe prüfen, wenn die Karte (der entsprechende Port der Anlage) nicht auf die Anrufe reagiert steht man selbst bei einem eingehenden Fax im Dunkeln. Das waren so die Probleme, die ich mit meiner AS100IT hatte wobei ich nicht selbst darauf programmiere. Viele Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz