SIP-Telefon

Alle Fragen zur Netzwerkkommunikation
Antworten
schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

SIP-Telefon

Beitrag von schnullerbacke »

Hey Leutz, hat hier schon mal jemand ein SIP-Telefon unter Lazarus/Freepascal programmiert? Ich such sowas für ne Anwendung. Kann natürlich auch einfach die Steuerung einer vorhandenen SIP-Anwendung sein(login, Anrufer-Nummer auslesen,...)
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: SIP-Telefon

Beitrag von af0815 »

PJSIP schon mal angesehen, ist u.a. GPL.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: SIP-Telefon

Beitrag von mschnell »

Ein Kollege von mit hat das (in Delphi) sehr erfolgreich mit PJSIP gemacht.

Er hat in Pascal eine DLL geschrieben, die die not wendigen Funktionen in PJZSIP aufrufft. Das (riesige) Haupt-Programm verwendet dann die DLL.

Ein Problem war, dass de PJZP-Programmierer idiotioscherweise in C "if (x ==TRUE) {... " geschrieben haben. In Pascal ist TRUE aber $FFFFFFFF und in C ist TRUE $00000001.

-Michael

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Re: SIP-Telefon

Beitrag von schnullerbacke »

Hallo @af0815 und danke für den Tipp, scheint Genau das richtige zu sein. :) Gibt's dafür auch ne Pascal external-Liste zum einbinden der Lib's? Dann bräuchte ich das nicht zu Fuß machen, ist ja doch ne etwas nervige Arbeit. :roll:
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: SIP-Telefon

Beitrag von Christian »

In Pascal ist TRUE aber $FFFFFFFF und in C ist TRUE $00000001.

In Pascal ist True 1
jedenfalls sagt Byte(True) das

In C ist False==0 und True !=False damit ist das eigentlich schon kompatibel

Code: Alles auswählen

 
var
  a: Boolean;
  b: Byte;
begin
  a := Boolean(10);
  b := byte(a);
  if a then begin
    Showmessage('1');
  end
  else begin
    Showmessage('2');
  end;
end;
 


Ergibt auch '1' also ist in Pascal auch alles was <>0 ist True...
schaut für mich erstmal 100%ig kompatibel aus
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Re: SIP-Telefon

Beitrag von schnullerbacke »

Hey Michael. Den altbekannten PASCAL-Trick kennst du einfach dafür eine Konstante zu bauen, z.B. mit Namen cTrue = $0000...
Damit kann man solche Probs umgehen, man könnte auch TRUE und FALSE für das Programm einfach umwidmen. Das könnte aber bei anderen Aufrufen Schwierigkeiten machen.

Der Hinweis ist jedenfalls schonmal wichtig, sonst hätt ich lange suchen müssen.

Das ganze soll eine lazarus-Anwendung mit grafischer Oberfläche werden. Die solle an eine externe Datenbank angebunden werden und lokal gleichzeitig als SIP-Telefon arbeiten um Bestellungen direkt in der Datenbank zu verarbeiten. Eventuell soll sie auch gleich eine Anrufer-Erkennung durchführen und so die Menge der Eingaben begrenzen. Deswegen muss die Anrufer-TN abgefragt werden können. Wenn's nicht zuviel Aufwand und Kosten verursacht wäre auch noch eine Abfrage einer Telefonnummern-DB bei einem Auskunftsdienst oder in einer lokalen TN-DB schön, das muß ich mir aber noch überlegen. Das als Client-Anwenung vom Web-Server zu starten dürfte den zu stark belasten, deswegen hab ich mir diese Konstellation überlegt.

Damit kann dann der Kunde entweder über eine Web-Clientanwendung direkt im Browser eine Bestellung aufgeben oder er kann die althergebrachte Methode per Telefon benutzen. Dabei kann die Bestellannahme dann im Zweifel auch in Timbuktu stattfinden. :lol: Also das letzte war ein Scherz, im Idealfall wird der Anrufer an eine Telefonistin am Bestellort umgeleitet. Aber eben an einen Online-Arbeitsplatz. Gibt in Deutschland ja genug Menschen die auch ein paar Taler jeden Monat gebrauchen können. :wink:

Eine "eierlegende Wollmilchsau" also.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Antworten