Thema: Delphi ISDN: Anrufer erkennen

Einzelnen Beitrag anzeigen

nypharos

Registriert seit: 14. Jan 2003
5 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 16. Jan 2003, 13:32
Auf Torry habe ich nichts passendes gefunden, aber ich habe das Problem trotzdem gelöst, mit einer Komponente von hier

Gratis und perfekt für meine Zwecke!

Und was die alles kann:
Zitat:
Eigenschaften
DefaultResponse : TRespType
Legt fest, welche Standardbehandlung nach Ablauf der in RESPONSETIMEOUT angegeben Sekundenzahl einsetzen soll. Möglich ist rAccept, rReject und rClear.

DefaultResponseTimeOut : word
Legt fest nach wieviel Sekunden die Standardbehandlung eines eingehenden Anrufs erfolgen soll. Das Programm hat bis zum erreichen dieser Zeit Gelegenheit mit ACCEPTCALL, REJECTCALL oder CLEARCALL auf einen eingehenden Anruf zu reagieren.

DefaultRejectCause : TRejectCause
Falls die DEFAULTRESPONSE auf rREJECT gesetzt ist kann hier der Grund für die Zurückweisung eingetragen werden. Möglich ist rjeNormalCallClear oder rjeIgnoreCall. DTMFToneDuration : word read
Enthält die Dauer eines DTMF-Tons (ich glaub in Millisekunden). Sollte möglichst nicht verändert werden.

DTMFGapDuration : word read
Enthält die Dauer der Pausen zwischen DTMF-Tönen (ich glaub in Millisekunden) Sollte möglichst nicht verändert werden.

DebugLevel : word read
Da sich die Komponente im Entwicklungsstadium befindet kann mit dem Ereignis OnCAPIINFO eine Menge Information geliefert werden. Wieviel das ist bestimmt diese Eigenschaft. Die meisten Infos erhält man mit Fünf. Mit Null gar keine.

DefaultController : dWord (nur lesen)

Error : dword (nur lesen)

ErrorString : string (nur lesen)

--------------------------------------------------------------------------------

Ereignisse
onCapiInfo (Sender: TObject; info: String)
Im String INFO werden Informationen über CAPI-Messages und Komponenteninfos zum debuggen übermittelt.

OnIncomingCall (ConnectionID: Integer; CallingPartyNumber, CalledPartyNumber: String; CipValue: Word; CipValueString: String);
Wenn der Controller mit LISTEN in Empfangsbereitschaft gesetzt wurde wird bei einem eingehenden Anruf dieses Ereignis ausgelöst. Der Verbindung wird die ConnectionID zugewiesen und die Anwendung erhält Daten über den Anrufer (CallingPartyNumber) und den angerufenen Anschluss (CalledPartyNumber), sowie den benutzten ISDN-Dienst (CIP...)

OnConnect (ConnectionID: Integer)
Ein mit OnIncomingCall signalisierter Anruf wird von der Anwendung angenommen oder eine mit CONNECT gewünschte Verbindung wird von der Gegenstelle angenommen.

OnDisconnect (ConnectionID: Integer)
Die Verbindung mit der Nummer CONNECTIONID wird getrennt. Der Wert den CONNECTIONID bisher hatte wird von der Komponente danach für neue Verbindungen wieder verwendet.

OnWavEnded(ConnectionID: Integer)
Ein mit PLAY abgespieltes WAV-File wurde zu Ende abgespielt.

onDTMF(ConnectionID: Integer; DTMFChar: Char)
Wenn mit LISTENDTMF die Tonerkennung eingeschaltet wurde wird bei einem erkannten DTMF Ton dieses Ereignis ausgelöst. In DTMFChar steht dann entweder '0'..'9','#',oder '*'. Achtung: Dies funktioniert nicht bei allen ISDN-Karten gleich zuverlässig. Mit der FritzCard ist es aber O.k.
--------------------------------------------------------------------------------

Methoden
function Listen (aController : dWord ): boolean;
Setzt die Karte in Empfangsbereitschaft, damit sie auf eingehende Anrufe reagieren kann

function StopListen(aController : dWord) : boolean;
Hebt die Empfangsbereitschaft wieder auf

procedure RejectCall (aConnectionID:integer; aRejectCause:TRejectCause);
Weist einen signalisierten Anruf ab. Andere ISDN-Geräte haben weiterhin die Möglichkeit den Anruf entgegen zu nehmen

procedure ClearCall (aConnectionID:integer);
Nimmt den Anruf an und trennt danach sofort die Verbindung. DIES KOSTET DEN ANRUFER EINE EINHEIT. Andere Geräte können den Anruf nicht mehr annehmen.

procedure AcceptCall (aConnectionID:integer);
Nimmt den eingehenden Anruf an

function connect (aController:dword;aNumber:string):integer;
Baut eine Verbindung zur Gegenstelle mit der Telefonnummer aNumber auf.

procedure disconnect (aConnectionID:integer);
Trennt eine bestehende Verbindung

procedure Play (aConnectionID:integer; Filename:string);
Spielt das mit "Filename" angegegebene WAV-File über eine bestehende Verbindung ab. Wird bereits ein File abgespielt, so wird dieses geschlossen und stattdessen das neue abgespielt.

procedure StopPlay (aConnectionID:integer);
Beendet das Abspielen eins WAV-Files

procedure RecordWav (aConnectionID:integer; Filename:string);
Nimmt das Telefongespräch in das WAV-File mit dem Dateinamen "Filename" auf. Dies kann auch passieren während mit Play() eine Datei abgespielt wird.

procedure StopRecord (aConnectionID:integer);
Beendet die Aufnahme

procedure SendDTMF (aConnectionID:integer; aDTMFStr:shortstring);
Sendet die in aDTMFStr angegebenen Tastentöne (z.B: zur Fernsteuerung von Anrufbeantwortern)

procedure ListenDTMF (aConnectionID:integer);
Schaltet die Empfangsbereitschaft für, von der Gegenstelle gesendete,DTMF-Töne ein

procedure StopListenDTMF (aConnectionID:integer);
Schaltet die Empfangsbereitschaft für DTMF-Töne wieder ab

function GetCallingNumber(aConnectionID:integer):string;
Liefert die Telefonnummer des Anrufenden zurück

function GetCalledNumber (aConnectionID:integer):string;
Liefert die Telefonnummer des Angerufenen zurück

function GetCIPValue (aConnectionID:integer):word;
Liefert den CIPValue (Kennzeichen für ISDN-Dienste, siehe CAPI-Doku)
  Mit Zitat antworten Zitat