Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Verwenden von TSipClient von SipComponents (https://www.delphipraxis.net/214656-verwenden-von-tsipclient-von-sipcomponents.html)

Hobbycoder 15. Feb 2024 18:21

Verwenden von TSipClient von SipComponents
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

auf der Suche nach einer Komponente für SIP bin ich bei https://www.sipcomponents.com/ gelandet.
Soweit scheint das auch erstmal gut zu funktionieren. Und nach ein bisschen Studium der beiliegenden Demo konnte ich auch beim SIP-Provider (In meinem Fall eine Auerwald Commander 6000) registrieren und Calls erfassen und auch das Annehmen eines Calls scheint zu klappen.
Ziel ist es, eine Art Anrufbeantworter ohne Aufzeichnungsfunktion zu erstellen. Soweit, so gut.

Die Dokumentation beschränkt sich jedoch (mehr habe ich bisher nicht gefunden) eben auf dieses Demoprogramm, welches natürlich meinen Anwendungsfall nicht abbildet.

Es geht um folgende drei Event, die Probleme bereiten:

Delphi-Quellcode:
procedure TfrmMain.SipClientCall(Sender: TObject; const Call: ICall);
  function ExtraceNumber(value: string): string;
  begin
    Result:=value;
    Result:=Copy(Result, pos(':', Result)+1, Length(Result));
    Result:=Copy(Result, pos(':', Result)+1, Length(Result));
    Result:=Copy(Result, 1, pos('@', Result)-1);
  end;
begin
  lstCallLog.Items.Insert(0, FormatDateTime('dd.mm.yyyy hh:nn:ss', Now)+' Anruf von '+ExtraceNumber(Call.FromAddr)+' auf '+ExtraceNumber(Call.ToAddr));
  if (Status=stActive) and FileExists(ExtractFilePath(Application.ExeName)+cbbWavefiles.Text) then
  begin
    Call.Answer;
  end;
end;

procedure TfrmMain.SipClientAnswer(Sender: TObject; const Call: ICall);
begin
  lstCallLog.Items.Insert(0, 'Call answered - Play Wave: '+ExtractFilePath(Application.ExeName)+cbbWavefiles.Text);
  Call.PlayWavFile(ExtractFilePath(Application.ExeName)+cbbWavefiles.Text);
  lstCallLog.Items.Insert(0, 'Playind finshed - EndCall');
  Call.EndCall;
end;

procedure TfrmMain.SipClientBye(Sender: TObject; const Call: ICall);
begin
  lstCallLog.Items.Insert(0, 'HangUp');
  //lstCallLog.Items[0]:=lstCallLog.Items[0]+'...HangUp';
end;
SipClientCall funtioniert. Der Call wird mir in meiner ListBox auch richtig angezeigt. Der Anruf wird auch angenommen, das konnte ich testen.
SipClientAnswer wird jedoch zu keinem Zeitpunkt ausgelöst.
Lege ich nun seitens Caller auf, so wird SipClientBye wiederrum einfwandfrei aufgerufen.

Mangels Dokumentation und Source kann ich mir natürlich nur schlecht helfen, da ich nicht wirklich sehe, was die Komponente macht.

Hat hier jemand schon mit SipComponents gearbeitet, und kann mir möglicherweise etwas nachhelfen? (Hänge mal den Source des Programms an. Die DCU's gibt es bei https://www.sipcomponents.com/

69$ wärs mir locker wert, wenn's funktioniert. Weiß jemand, ob man dann auch die Sources bekommt? (Steht leider auf der üppigen Webseite nicht)

skybibo 16. Feb 2024 14:39

AW: Verwenden von TSipClient von SipComponents
 
Hallo,

ich hatte die Komponenten im letzen Jahr erworben. Ich brauchte jedoch nur eine Anruf Benachrichtigung innerhalb meiner Software.

Soweit ich mich erinnere, war auch der Source Code dabei. Müsste aber nochmal genauer nachsehen.

Ich hatte dem Programmierer auch eine E-Mail geschrieben, auf die ich auch schnell eine Antwort erhalten habe. Würde daher vorschlagen, dass du deine Fragen direkt an den Programmierer sendest.

Zur Info:

Nach meiner Recherche wurde die Komponente von einer einzelnen Person programmiert. Es scheint ein Russe zu sein, der jedoch in Florida wohnt.

Gruß Bernd

skybibo 16. Feb 2024 14:55

AW: Verwenden von TSipClient von SipComponents
 
Ich konnte es gerade nochmal überprüfen. Der Source Code war mit dabei.

Gruß Bernd

himitsu 16. Feb 2024 16:58

AW: Verwenden von TSipClient von SipComponents
 
Zitat:

Zitat von Hobbycoder (Beitrag 1533538)
Mangels Dokumentation und Source ...

Direkt groß auf der Startseite.
Zitat:

Zitat von Compatibility
The source code of the component is compatible with all Delphi versions starting from Delphi 5 to latest Delphi Tokyo.



Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz