Script ausführen bei eingehenden Anrufen?

Status
Für weitere Antworten geschlossen.
ja das alles hintereinander kommt ist mir auch schon aufgefallen, wusste allerdings nicht das das relevant ist, ich dachte da wird in dem Datenstrom einfach nur nach bestimmten Wortkombinationen gesucht und bei einem "Treffer" eine Aktion ausgelöst. Das man da Zeilentrenner braucht hätte ich nicht vermutet....aber es wär ja auch zu schön gewesen wenn es so funktioniert hätte :-/
 
Ich hab noch eine Idee, was spricht dagegen einen Telnet Client vom Linux PC aus auf die Box zugreifen zu lassen ? der würde alles mit Zeilentrenner übertragen un damit müsste es dann doch gehen....
Oder lieg ich da so falsch ?
 
Ich hab noch eine Idee, was spricht dagegen einen Telnet Client vom Linux PC aus auf die Box zugreifen zu lassen ?
Von den drei prinzipiellen Möglichkeiten
- syslogd-Ausgabe
- piping auf der Box
- telnet-Zugriff
ist das die härteste.

Nichts für mich.

crusader
 
War ja nur eine Idee ;)
Ich habs jetzt eh anders gelöst bekommen....
Aber trotzdem vielen Dank für deine Hilfe :)
 
nochmal für ganz blöde..

hallo zusammen. ich bin neu hier - deswegen verzeiht bitte meine unerfahrenheit.

ich finde eure diskussion recht interessant und bin auch brennend an einem solchen feature interessiert, jedoch möchte ich meine FBF nicht so krass verändern, weil ichs nicht rückgängig machen könnte.

deswegen eine frage an alle von euch:
ich würde gerne einfach eine meldung mit der anrufenden nummer an einen webserver schicken / über einen TCP port an einen anderen rechner senden.

ich stelle mir da den ablauf folgendermassen vor (bei unberührter FBF):

1. telnet aktiveren (kann ich zwar bestimmt mit dem telnet-image, aber was ist mit den bis dahin beendeten prozessen? muss ich die von hand starten? ist nach stecker raus / stecker rein das telnet wieder weg? gibts nicht eine firmeware, die alle dienste und das telnet wieder startet?)

2. script zum abfragen der gepipedten ausgabe von telefon starten (so wie von einem user hier beschrieben :
! /bin/sh
# Signalisierung ankommender Anrufe auf Fritz!Box
#
logtype=
logline=
calltype="IncomingCall:"
#
while true
do
read logtype logline
if [ "$logtype" = "$calltype" ]; then
echo $logline
fi
done

wie kann ich nun dieses script da permanent so einbauen, dass quasi bei der box : 1. telnet läuft, 2. alle dienste laufen, 3. das script läuft?
hab ich leider nicht so ganz verstanden....:-(

3. das echo nicht an stdout sondern a. an http://xxx schicken oder b. an 192.169.171.21:1234 schicken ? wie kann ich das realisieren? sind dafür programme auf der box, mit denen das geht? ich habe verstanden, dass mit einem prog. genannt "nc" wohl leichenprozesse entstehen.

es wäre schön - auch wenns aufwendig ist - wenn jemand mir da helfen würde.

würde mich sehr freuen

euch allen einen schönen tag

notrenotre
 
jetzt muss ich doch nochmal schreiben, auch wenn mir keiner antwortet ... *heul* :)

ich habe inzwischen so einiges selber hinbekommen.
ABER:
leider kann ich mit meinem script die daten, die von telefon kommen, irgendwie nur blockweise auslesen. Das heisst, es scheint so, als dass erst wenn ein buffer voll ist, alle daten über die pipe weitergegeben werden. das kann dazu führen, dass man einen anruf erst sieht, wenn der nächste anruf kommt, weil dass erst die information von dem script verarbeitet werden kann!

ich habs mit nem FIFO und mit direkter "|" Pipe versucht - beides mal das gleiche.

Hat jemand eine Idee? Bitte sagt doch was dazu - ich verzweifle hier. Es wäre echt schön, wenn jemand was dazu sagen würde!

GRuß

notrenotre
 
Hallo, besteht denn auch die Möglichkeit, die Dateien callmonitor.sh und callmonitor.out aus der MOD-57 in VAR/TMP zu legen. Möchte nicht gerne mit dem MOD-57 die Firmware patchen.
Und dann mit einem Script in der debug.cfg die Anrufe an die Dbox oder Windows weiterleiten. Welches Script braucht man dann für diedebug.cfg.?

Danke
Reimund
 
Hi.
Ja das sollte gehen, ist halt etwas aufwändig.
In die debug.cfg muss:
Code:
# Adresse des Servers von dem die Dateien nachgeladen werden 
serverurl="deinserver.de"
# nutze hash um den Listener auf Kommentar zu setzen.
cat <<EOP > /var/tmp/callmonitor.listeners
#192.168.178.26 dboxmessage
#192.168.178.26 dboxpopup
#192.168.178.26 dreammessage dbox
192.168.178.20 yac
#[url]www.somwhere.net[/url] ownmessage [url]www.somewhere.net[/url]
EOP
# Immer auf Kommentar lassen, damit kein Syntaxfehler in der Shell kommt.
#CALLOWNGET=/call.php?nr=
# In das Lokale Verzeichnis wechseln 
cd /var/tmp
# Nachladen von Dateien 
wget http://$serverurl/callmonitor.tar
tar xf callmonitor.tar
# Anpassen der Dateirechte 
chmod +x /var/tmp/callmonitor.sh
chmod +x /var/tmp/callmonitor.out
# telefon neu starten, kann sein, dass das nicht geht!!!
killall telefon
telefon a127.0.0.1 | /var/tmp/callmonitor.sh 0 0 &
MfG Oliver
 

Anhänge

  • callmonitor_254.tar
    8 KB · Aufrufe: 33
warum kann denn niemand was zu meinem problem sagen? bitte helft mir doch! ich verzweifle hier bald!
 
@notrenotre
Wahrscheinlich weil keiner dein Problem lösen kann.
Ich hab mir das grad mal angeschaut, und hab auch keine Idee, warum die Daten nur Blockweise kommen!?

MfG Oliver
 
Hallo Olistudent, noch eine Frage. In dem Script schreibst du "tar cf callmonitor.tar".
Aber ich muss doch das File entpacken.?
Muss dass denn nicht tar x callmonitor.tar heissen?
 
Komme mit dem Sript noch nicht klar. Folgendes Problem

Hallo, leider komme ich mit dem Script noch nicht ganz klar.

Code:
# Adresse des Servers von dem die Dateien nachgeladen werden 
serverurl="deinserver.de" 
# nutze hash um den Listener auf Kommentar zu setzen. 
cat <<EOP > /var/tmp/callmonitor.listeners 
#192.168.178.26 dboxmessage 
#192.168.178.26 dboxpopup 
#192.168.178.26 dreammessage dbox 
192.168.178.20 yac 
#[url]www.somwhere.net[/url] ownmessage [url]www.somewhere.net[/url] 
EOP 
# Immer auf Kommentar lassen, damit kein Syntaxfehler in der Shell kommt. 
#CALLOWNGET=/call.php?nr= 
# In das Lokale Verzeichnis wechseln 
cd /var/tmp 
# Nachladen von Dateien 
wget http://$serverurl/callmonitor.tar 
tar cf callmonitor.tar 
# Anpassen der Dateirechte 
chmod +x /var/tmp/callmonitor.out 
chmod +x /var/tmp/callmonitor.out 
# telefon neu starten, kann sein, dass das nicht geht!!! 
killall telefon 
telefon a127.0.0.1 | /var/tmp/callmonitor.sh 0 0 &

Du schreibst einmal tar cf callmonitor.tar. Aber ich muss die Datei doch entpacken?

Dann chmod +x /var/tmp/callmonitor.out ist zwei mal vorhanden.

Ich habe es jetzt so gemacht.

Code:
# nutze hash um den Listener auf Kommentar zu setzen.
cat <<EOP > /var/tmp/callmonitor.listeners 
192.168.178.26 dboxmessage 
#192.168.178.26 dboxpopup 
#192.168.178.26 dreammessage dbox 
#192.168.178.20 yac 
#[url]www.somwhere.net[/url] ownmessage [url]www.somewhere.net[/url] 
EOP 
# Immer auf Kommentar lassen, damit kein Syntaxfehler in der Shell kommt. 
#CALLOWNGET=/call.php?nr= 
# In das Lokale Verzeichnis wechseln 
cd /var/tmp 
# Nachladen von Dateien 
wget http://home.tiscali.de/meinepage/callmonitor.sh 
wget http://home.tiscali.de/meinepage/callmonitor.out
wget http://home.tiscali.de/meinepage/callmonitor.listeners
# Anpassen der Dateirechte 
chmod +x /var/tmp/callmonitor.out 
chmod +x /var/tmp/callmonitor.sh 
# telefon neu starten, kann sein, dass das nicht geht!!! 
killall telefon 
telefon a127.0.0.1 | /var/tmp/callmonitor.sh 0 0 &

Dann bekomme ich die Fehlermeldung
Can`t open /usr/bin/callmonitor.out...........
Habe dann die Datei callmonitor.sh so umgeändert

Code:
# Listener imported...
. /usr/var/tmp/callmonitor.out

Jetzt schreibt er mir Can`t open usr/var/tmp/callmonitor.out

Kann mir da einer weiterhelfen?

Reimund
 
Hi.
Ich hab das Script nicht getestet => viele Fehler ;-)
Das muss natürlich tar xf callmonitor.tar heißen und das chmod:
chmod +x /var/tmp/callmonitor.out
chmod +x /var/tmp/callmonitor.sh
Und in der callmonitor.sh dachte ich eigentlich, dass ich die Zeile geändert hatte!?
Code:
# Listener imported... 
. /var/tmp/callmonitor.out
MfG Oliver

edit: Ich hab's in der callmonitor.tar geändert und noch ein Fehler behoben, bitte nochmal runterladen...
 
Danke soweit klappt es jetzt.

Jedoch wenn ich die Zeilen
killall telefon
telefon a127.0.0.1 | /var/tmp/callmonitor.sh 0 0 &

eingebe, funktioniert das Telefon leider nicht mehr.

Gibt es da noch eine andere Möglichkeit?

Danke für Deine Hilfe

Reimund
 
Schau mal nach, ob der telefon danach läuft?
Code:
/var/tmp # ps
  PID  Uid     VmSize Stat Command
    1 root        332 S   init
    2 root            SW  [keventd]
    3 root            RWN [ksoftirqd_CPU0]
    4 root            SW  [kswapd]
    5 root            SW  [bdflush]
    6 root            SW  [kupdated]
    7 root            SW  [mtdblockd]
    8 root            SW  [tffsd_mtd3]
  262 root        216 S   ledcfg -c -d -f /etc/Fritz_Box_WLAN.led.conf
  308 root            SW  [capitransp]
  348 root       1732 S N ctlmgr
  367 root       1152 S N websrv
  374 root       1152 S N websrv
  375 root       1152 S N websrv
  379 root       1152 S N websrv
  382 root       1248 S   multid
  399 root       1788 S < dsld -i -n
  410 root        376 S   /bin/sh /usr/bin/callmonitor.sh 0 0
  422 root        712 S   telefon a127.0.0.1
  425 root        188 S   /bin/run_clock -c /dev/tffs/mtd3 -d
  426 root       1920 S < voipd
  479 root        272 S   /sbin/telnetd
  487 root        328 S   syslogd -C
  489 root        284 S   klogd
  527 root        432 S   -sh
  529 root        340 S   /usr/sbin/dropbear -p 22
  600 root        460 S   -sh
  672 root        304 R   ps
/var/tmp #
Evtl. klappt das:
Code:
/etc/init.d/rc.voip stop
telefon a127.0.0.1 | /var/tmp/callmonitor.sh 0 0 & 
/etc/init.d/rc.voip start
MfG Oliver
 
Scripte bei VOIP

Also nun lese ich gespannt die zahlreichen Beiträge durch und muss feststellen...ich bin nicht unbedingt schlauer geworden.

Der eine schreibt es geht der andere nicht.

Vieleicht könnte mir der eine oder andere von euch meine Fragen beantworten.

1. Kann ich bei ausgehenden und ankommenden VoIP die QoS verändern? Aller "es wird ein VoIP geführt dann Emule sehr stark nach unten fahren - wenn VoIP vorbei dann wieder alte Werte? Ohne das ich eine eMule-Version mit TOS-Bit benötige?

2. Kann ich alle ankommenden Gespräche an meiner Dreambox und oder an meinem PC (Net send) anzeigen lassen?

3. Kann ich diese Veränderungen selber vornehmen oder muss ein MOD her?

Wenn jemand bitte diese Fragen beantworten könnte?

Ich würde mich als Anfänger sehr über einige Beispiele freuen bzw. Fertige Scripte. Ich will meine Box halt nicht zerschießen. Ist aber kein Muss!

Vielen Dank!


Der Tom
 
1. Kann ich bei ausgehenden und ankommenden VoIP die QoS verändern? Aller "es wird ein VoIP geführt dann Emule sehr stark nach unten fahren - wenn VoIP vorbei dann wieder alte Werte? Ohne das ich eine eMule-Version mit TOS-Bit benötige?
Möchtest du die QoS Regeln auf deiner Box verändern oder wie ich auf einem Linux Router ?
Wenn du das gleiche machen möchtest wie ich hab ich ein Scriptpacket mit dem man SIP Traffic auf dem Router erkennen und daraufhin weitere Scripte wie z.B. QoS Regeln laden kann.....
 
TomCat05 schrieb:
1. Kann ich bei ausgehenden und ankommenden VoIP die QoS verändern? Aller "es wird ein VoIP geführt dann Emule sehr stark nach unten fahren - wenn VoIP vorbei dann wieder alte Werte? Ohne das ich eine eMule-Version mit TOS-Bit benötige?
Möchtest du die QoS Regeln auf deiner Box verändern oder wie ich auf einem Linux Router ?
Wenn du das gleiche machen möchtest wie ich hab ich ein Scriptpacket mit dem man SIP Traffic auf dem Router erkennen und daraufhin weitere Scripte wie z.B. QoS Regeln laden kann.....

Nein..soll auf meiner 7050 sein

Der Tom
 
Hi!

Ich wollt mal kurz nachfragen, ob es nun möglich ist, sich eine Nachricht über einen eingehenden Anruf an die Dbox schicken zu lassen. Komme leider nicht ganz klar, bei den ganzen Code-Fetzen, die hier auf den 7 Seiten Thread herum-"fliegen". Es soll allerdings kein PC dafür an sein müssen!
Ich möchte allerdings keine modifizierte Firmware aufspielen. Ist das so möglich?
Danke euch!

mfg

Jojo
 
Status
Für weitere Antworten geschlossen.
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.