Telefon-Verbindung unter Linux aufbauen

Status
Für weitere Antworten geschlossen.

crusader

Mitglied
Mitglied seit
28 Okt 2004
Beiträge
425
Punkte für Reaktionen
0
Punkte
0
Die FBF akzeptiert bekanntlich auf Port 1011 ein Subset der AT-Modem-Befehle, u.a. 'ATD'.

Eine Telefon-Verbindung vom Linux-PC aus aufzubauen ist demnach ziemlich einfach:
Code:
# echo "ATD02214711" | netcat 192.168.178.1 1011

Danach Telefon an 'FON1'-Anschluß abheben und los geht's.

Gruß
crusader
 
Feine Sache ... wird wohl so bereits im FBF Call-Monitor von ahooge gemacht. Aber dennoch gut, das mal zu erfahren, denn ich hab mir bisher noch garkeine Gedanken gemacht, wie er das realisiert :)
 
Darauf bezog sich dieser Satz:
Die FBF akzeptiert bekanntlich auf Port 1011 ein Subset der AT-Modem-Befehle, u.a. 'ATD'.
Ich hab bloß etwas Probleme mit Outlook auf meinem Linux-System. Daher hier eine einfache Möglichkeit für Unix-shells.

Gruß
crusader

P.S.: Neuerdings laufen ja schon Java-Programme nur noch unter M$ :gruebel:
 
Hi,

das hatte ich auch so aufgefasst, danke. Wollte die Quelle nur der Vollständigkeithalber nennen.
Sollte nicht heissen, dass Du Outlook benutzen solltest. So war das nicht gemeint. Sorry, falls das irgendwie nach verarschung klang, oder so.

Achso: Das Java Programm läuft nur unter Windows, weil ich einen Telefon-Monitor nucht permanent im Gesichtsfeld haben wollte und ich halt für Windows die Möglichkeit gefunden hatte, das Programm im Systemtray zu verstecken (Native Methoden mit ner DLL). Ob und vor Allem 'wie' das bei Linux geht, weiß ich (derzeit) leider nicht.

Schöne Grüße
Axel
 
echo "ATD02214711" | netcat 192.168.178.1 1011

Hi,

ich würde noch die Optionen -n -w und evtl. -t verwenden.

-n = no DNS
-w [x] = Timeout in Sekunden
-t = Telnet-Negotiation (für eventuelle Zeilenvorschub-Probleme)

In Perl könnte das dann vielleicht so gehen (ungetestet - bin kein Perl-Profi !):

Code:
#!/usr/bin/perl

use Socket;

$NUM  = "ARGV[1]" || Error("missing number");
$Timeout = 10;
$Dest = 192.168.1.1 # fritzbox
$Port = 1011 # port

$SIG{ALRM} = sub { Error("timeout"); };
alarm($Timeout);
$iaddr = inet_aton($Dest)                   || Error("no host: $Dest");
$paddr = sockaddr_in($Port, $iaddr);

$proto = getprotobyname('tcp');
socket(SOCK, PF_INET, SOCK_STREAM, $proto)  || Error("socket: $!");
connect(SOCK, $paddr)                       || Error("connect: $!");
select(SOCK); $| = 1;
Send("ATD".$NUM);
Send("quit");
close(SOCK)                                 || Error("close: $!");


Bye,
Matze
 
@Axel:
Sorry, falls das irgendwie nach verarschung klang, oder so.
Ach, iwoo. Hab ich schon richtig verstanden.
Systemtray: Ja, gibt's auch auf den Linux-Desktops KDE und Gnome. Dynamic Link Libraries gibt's auch, heissen aber *.so Wenn du sagst, welche Funktionen die Library bereitstellen muß, kann vielleicht jemand aus dem Forum eine Linux-Library erstellen.

Gruß
crusader
 
Hi,

vielen Dank. Ich hab aber auf die Anregungen hin schon mal etwas weiter gesucht. Mittlerweile habe ich eine API gefunden, die sowohl auf Win als auch auf Linux funktionieren soll (JDIC) Werde mal sehen, ob das klappt

Schöne Grüße
Axel
 
matzetronic schrieb:
ich würde noch die Optionen -n -w und evtl. -t verwenden.
Danke für den Hinweis.
Wenn man das Kommando nicht auf der Konsole eingibt, sondern in ein Script einbaut, dann darf natürlich der -w Parameter nicht fehlen. (Sonst wartet netcat nämlich, bis die FBF disconnected...und das tut sie nicht).

Im KDE-Adressbuch (Version 3.3) kann man damit sehr einfach eine Telefonwahl einbauen:
- Einstellungen|KDE-Adressbuch einrichten
- Im Feld 'Script-Hooks' unter 'Phone:' folgendes Kommando eintragen:
Code:
echo "ATD"%N | netcat -w 1 192.168.178.1 1011

-> Beim Anklicken einer Telefon-Nummer im Kontaktfeld wählt die FBF die Nummer (nach Abheben von FON1)

Edit: Vorsicht: Wenn man vergißt, FON1 abzuheben, ruft die FBF nach ca. 10s die Zielnummer. Hebt der Teilnehmer dann nicht ab, klingelt's endlos. Besser also ein kleines Script schreiben, das den Verbindungsversuch am PC signalisiert oder besser den Versuch nach Timeout wieder abbricht(Befehl: "ATH0").

Parameter -t also nicht nötig. Aber was soll der Parameter -n denn noch gutes tun ?

crusader
 
crusader schrieb:
Im KDE-Adressbuch (Version 3.3) kann man damit sehr einfach eine Telefonwahl einbauen:
- Einstellungen|KDE-Adressbuch einrichten
- Im Feld 'Script-Hooks' unter 'Phone:' folgendes Kommando eintragen:
Code:
echo "ATD"%N | netcat -w 1 192.168.178.1 1011

-> Beim Anklicken einer Telefon-Nummer im Kontaktfeld wählt die FBF die Nummer (nach Abheben von FON1)

Bei mir klingelt erst die Zielnummer und der Angerufene hört "Ihre Verbindung wird gehalten". Dann erst klingelt FON1. Kann das jemand bestätigen?
 
Dann erst klingelt FON1
Wie meinst du das ? Du hörst den Rufton oder das Telefon klingelt tatsächlich ?

Bei mir höre ich den Rufton ziemlich genau zeitgleich mit dem Klingelton bei der Zielnummer.
Hast Du vielleicht ISDN ?

Gruß
crusader
 
@ WrMulf:
Wenn Du vom PC wählst, kurz warten und Dann das Telefon an FON1 abnehmen. Nicht auf das Klingeln warten.

Schöne Grüße
Axel
 
Uiiiih...
Das wußte ich nicht. Es gibt also zwei Möglichkeiten, eine Verbindung herzustellen:
1. Nach dem Absetzen des "ATD"-Befehls FON1 abnehmen
-> Teilnehmer wird gerufen wie bei Wahl vom Telefon
2. Nach dem Absetzen des "ATD"-Befehls warten
-> Teilnehmer wird nach ca. 10s gerufen.
--> Falls er abhebt, bekommt er eine Ansage "Ihre Verbindung wird gehalten" und man selber bekommt einen Klingelton auf FON1
--> Falls er nicht abhebt, benötigt man nun eine Möglichkeit den Anrufversuch zu beenden. Der geht dann so:
Code:
echo "ATH0" | netcat -w 1 192.168.178.1 1011

crusader
 
Code:
# echo "ATD02214711" | netcat 192.168.178.1 1011

Danach Telefon an 'FON1'-Anschluß abheben und los geht's.

Gruß
crusader

Bekomme demnächst die neue Box mit S0. Weiß jemand, ob diese oder eine andere Art der Wahlhilfe auch mit einem angeschlossenen ISDN Telefon funktioniert oder muss es ein herkömmliches Analogtelfefon sein? Wäre an einer solchen Lösung sehr interessiert.

Gruß,
Daniel
 
und wie bekomm ich es hin dieses mit dem FON2 zu nutzen?

edit:

geht es das wenn ich schon mit dem FON1 telefoniere und über den pc den ATD befehl sende kein ERROR kommt sondern anklopft und ich das gespräch per R2 entgegen nehmen kann?
 
geht es das wenn ich schon mit dem FON1 telefoniere und über den pc den ATD befehl sende kein ERROR kommt sondern anklopft und ich das gespräch per R2 entgegen nehmen kann?
Wenn du schon mit dem FON1 telefonierst, solltest du nicht gleichzeitig ein 2. Gespräch über FON2 beginnen. Das verwirrt doch nur die Gesprächsteilnehmer.
 
es sollte deshalb ja auch anklopfen und ich kann dan das gespräch via R2 abnehmen und wenn nötig mi R3 eine 3-er konferenz einleiten.

bzw. warum sollte es verwirren wenn ich über FON1 telefoniere und gleichzeitig ein gespräch über FON2 aufgebaut wird für meine schwester? ^^
 
OK, das mit der Schwester hattest du aber nicht geschrieben.

In diesem Fall solltest du die beiden Telefone tauschen.
Du telefonierst dann über FON2 und gleichzeitig kannst du ein Gespräch für deine Schwester aufbauen über FON1.
 
dann muss ich alle nebenstellen umschalten und kann diese funktion nicht für mein telefon benutzen ;) naja muss eben damit leben ^^
 
Status
Für weitere Antworten geschlossen.

Statistik des Forums

Themen
244,695
Beiträge
2,216,692
Mitglieder
371,315
Neuestes Mitglied
jack-mack
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.