Script ausführen bei eingehenden Anrufen?

Status
Für weitere Antworten geschlossen.
Nee. Leider nicht. Nach dem login über telnet ist auf der telnet-Konsole erst mal nix vom telefon zu sehen.
Muß man also auf jeden Fall neu starten.

@haveaniceday:
Na ja. Also AVM gibt sich beim restart jedenfalls ein bischen mehr Mühe:
Code:
  reload )
       AVMDAEMONS="voipd"
       for i in $AVMDAEMONS ; do
	  eval $i -s
       done
       sleep 1
       for i in $AVMDAEMONS ; do
          killall -15 $i
       done
       sleep 3
       for i in $AVMDAEMONS ; do
          killall -9 $i
       done
       $0 start
       ;;

Ohne konfigurierte "Clients" soll telefon normal gestartet werden. Damit keine unbekannten Seiteneffekte auftreten,
und wenn man einen Parameter in debug.cfg aufnimmt, der vom rc.voip-script ausgewertet wird ?

crusader
 
haveaniceday schrieb:
Das Skript habe ich schon und den Einbau wollte ich vornehmen.
Huch, ihr seid aber fix!
Dann noch schnell meine Änderungsvorschläge (als diff), um die beiden Fälle
1. Anruf ohne CLIP (Soll auch nicht in phonebook rein)
2. Nummer kann nicht über reverse-lookup aufglöst werden (soll als " Unknown" ins phonebook)
abzudecken.

crusader
 

Anhänge

  • callmonitor.sh.txt
    382 Bytes · Aufrufe: 82
Hab auch noch Fragen/Anregungen von Dreamboxbesitzern bekommen.
Bin am Testen und Vorbereiten...

Haveaniceday

PS: Räume gerade mein Buildumgebung auf...
 
bitte schlagt mich nicht, kann nicht qualifiziert mitreden, aber eine Frage:

ist es bei diesem Projekt nicht auch denkbar, die anrufende Telefonnummer per GET (http://xxx?nr=12334) an einen entfernten Server zu schicken?

Dann hätte ich ja auf meiner Internetpräsenz eine Anrufliste, die ich von überall abfragen kann... Das wäre soooo toll.

Wie gesagt, nur eine Frage, von frage
 
Hi,

Wenn man die IP des entfernten Servers in die listener-Liste einträgt, gehen die GET-Aufrufe auch dahin (z.B.: "GET /control/message?nmsg=$MESSAGE HTTP/1.0" für dboxmessage-listener).
Aber wie willst du deinen Webserver dazu bewegen, daraus eine Anrufliste zu erstellen ? Hab leider keine Ahnung von Webservern, aber schlag mich nicht.

crusader
 
Max-1896 schrieb:
...und am nächsten Tag standen ein Haufen "nc" in der Prozesstabelle und verschwanden nicht. Entweder hatte Enrik doch Recht .....oder ich spinne.
Ja, das ist bei Leuten, die an der Telefonanlagen-SW rumschrauben, nie ganz auszuschliessen.
Aber unsere Forschungsabteilung hat nicht geruht und nächtelang daran gearbeitet, diesem Phantom auf die Spur zu kommen.
Das Ergebnis: Max spinnt nicht ! (Zumindest nicht in diesem Thread).
Es gibt sie wirklich: "nc"-Haufen in der Prozeßtabelle:
Code:
  PID  Uid     VmSize Stat Command
    1 root        248 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]
  195 root        208 S   ledcfg -c -d -f /etc/Fritz_Box_FON.led.conf
  222 root            SW  [capitransp]
  238 root        280 S   /usr/bin/capiotcp_server -p5031 -m1
  240 root        280 S   /usr/bin/capiotcp_server -p5031 -m1
  241 root        280 S   /usr/bin/capiotcp_server -p5031 -m1
  256 root        768 S N ctlmgr
  261 root        812 S N websrv
  266 root       1116 S   igdd
  267 root       1116 S   igdd
  268 root       1116 S   igdd
  269 root       1116 S   igdd
  270 root        812 S N websrv
  271 root        812 S N websrv
  272 root        812 S N websrv
  278 root        984 S   multid
  289 root       1256 S < dsld -i -n
  306 root       1404 S < voipd
  308 root        180 S   /bin/run_clock -c /dev/tffs/mtd3 -d
  316 root        216 S   /usr/sbin/telnetd
  337 root        364 S   -sh
  914 root        392 S   -sh
 1129 root        356 S   /bin/sh /var/tmp/callmonitor.sh
 1138 root        604 S   telefon
 1472 root        292 T   nc 192.168.178.20 10629
 1474 root        292 T   nc 192.168.178.20 10629
 1476 root        292 T   nc 192.168.178.20 10629
 1480 root        292 T   nc 192.168.178.20 10629
 1481 root        316 R   ps
Wo kommen die her ?
Nun, wenn ein listener die Verbindung eröffnet und nach Empfang der message nicht wieder schließt (z.B.: weil irgendwelche Spinner an der listener-SW rumschrauben), dann bliebt der "nc" offen.
Also doch besser -w 1 einbauen, nich ?

Gruß
crusader
 
Bin kein Windowsuser, aber: wie ging das eigentlich mit dem Windows Nachrichtendienst und einem "Popup" ?
Wenn das nicht zu schwierig ist könnte man das ja auch über Fritz starten...

Was ist eigentlich "yac" in dem Skript. (*Zu faul den Thread noch mal durchzublättern..*)
Oder ist yac das Windows-Pop up ?

Eine Testversion mit busybox "nc -w" und Max-1968 Skript eingebaut ist als mod-0.53 an ein paar Leute unterwegs.
Im Laufe des Sonntags noch ein etwas Beschreibung updaten und es geht los.

Haveanicenight

PS: Bei meiner Dbox2 geht es. Dreambox muss noch getestet werden...
 
Von der Yac Homepage:
"YAC is a Caller ID system that uses the modem in your Windows-based computer to monitor incoming phone calls. When a phone call is received, YAC displays the Caller ID info on the computer screen."

Wenn ich das bei der Installation richtig gesehen hab kann yac auf allen möglichen Schnittstellen lauschen.
Wie du richtig vermutet hast, visualisiert es die ankommenden anrufe per PopUp auf dem Windows Rechner.

Hier so sieht Yac in Aktion aus (Link zum Bild auf der Yac-Homepage)
yac-screen.jpg


Die Yac Homepage kann hier gefunden werden:
Die Yac Homepage

Cu
Gizmo
 
yac ist leider nicht der Windows Nachrichtendienst, den hätte ich viel lieber genommen. Aber dummerweise ist alles was ich zum Thema "net send" auf die Schnelle gefunden habe ein entsprechendes Perl Modul welches mir zu aufwendig umzusetzen war, darum hab ich mich dann doch für yac entschieden. Die Kommunikation über SMB scheint aufwendiger zu sein...

Das Perl Modul gibt's bei CPAN:
http://search.cpan.org/~greb/Net-NetSend-0.12/NetSend.pm

steht für mich persönlich noch auf der todo Liste, aber viel viel später...

Max
 
crusader schrieb:
Aber wie willst du deinen Webserver dazu bewegen, daraus eine Anrufliste zu erstellen ?

Das geht dann per php-Skript in die Datenbank und wartet da geduldig auf meine Abfrage...

@haveaniceday: heißt das, dass die neue mod das alles hier beinhalten wird und ich dann die Rufnummer an meinen (externen) Webserver übermitteln kann?

Besten Dank!
 
Die neue "mod" enthält das callmonitor.sh von Max
Im Moments sind geplant:
Code:
dboxpopup () {
        IP=$1 ; MSISDN=$2 ; CALLER=$3 ; CALLED=$4 ; VIRTUAL=$5
        MESSAGE="Anruf an $CALLED %0A%0A von $MSISDN %0A $CALLER"
        nc -w 1 $1 80 <<EOF_DBOXP
GET /control/message?popup=$MESSAGE HTTP/1.0
EOF_DBOXP
}

dboxmessage () {
        IP=$1 ; MSISDN=$2 ; CALLER=$3 ; CALLED=$4 ; VIRTUAL=$5
        MESSAGE="Anruf an $CALLED %0A%0A von $MSISDN %0A $CALLER"
        nc -w 1 $1 80 <<EOF_DBOXM
GET /control/message?nmsg=$MESSAGE HTTP/1.0
EOF_DBOXM
}

dreammessage () {
        IP=$1 ; MSISDN=$2 ; CALLER=$3 ; CALLED=$4 ; VIRTUAL=${5:-$1}
        MESSAGE="Anruf an $CALLED %0A%0A von $MSISDN %0A $CALLER"
        BOXNAME=$1
        nc -w 1 $BOXNAME 80 <<EOF_DREAMBOX
GET /cgi-bin/xmessage?timeout=10&caption=Anruf%20von&body=$MESSAGE HTTP/1.0
Host: $VIRTUAL

EOF_DREAMBOX
}

yac () {
        MESSAGE="@CALL $CALLER ~$MSISDN"
        nc -w 1 $1 10629 <<EOF_YAC
$MESSAGE
EOF_YAC
}

Hast du noch einen anderen Aufruf für dich ?

Haveaniceday

Edit: grabe gerade nach dem was "net send" macht.
Habe dieses schöne PDF ( Seite 60 ) gefunden. Mal sehen, vielleicht krieg ich das auch als Windows Message raus.
http://www.itunderground.org/cz_en/attachments/chuck_willis/hacking-without-tcp-slides.pdf
 
ich müsste dann wohl einen get auf meine Domain ***.net/call.php?nr=$MSISDN
machen... Kann die Box das überhaupt auflösen?
 
funktioniert genial...
lob und dank an alle die beteiligt waren /sind /sein werden....!

jetzt nur noch bei allen verpassten anrufen ne sms aufs handy bitte....
;-) war nur spass ;-)
 
Auch ein Lob von mir: Funktioniert ausgezeichnet.
Ist eigentlich das "Problem" mit dem "Sonderzeichen'" das bei Yac an letzter Stelle des angezeigten Namens dargestellt wird (so ein Quadrat) schon gelöst?
Ich vermute mal, dass das wieder so ein Unix->Windows Zeilenumbruchformatproblem ist...
Auf jeden Fall vielen Dank für das tolle Script und auch vielen Dank an Haveaniceday für seine "Freemind Grafiken"

Cu
Gizmo
 
Vielleicht kann ja jemand das mit den Sonderzeichen mal testen.
Ein Umsetzen der "Leerzeichen" in %20 wird in der nächsten Version drin sein.

Haveaniceday
 
Nee, das Sonderzeichen ist der Zeilenumbruch, den yac mitdarstellt.

Hab ich in im 6666-thread was zu geschrieben (aber Max will es einfach nicht ignorieren, tsss).

crusader
 
Sorry, falls das hier ein wenig off-Topic ist. Ich werd die Frage bei Bedarf im entsprechenden Forum wiederholen, nur hab ich außer dem mod-53, dem Setzen eines neuen root Passworts und dem aktivieren der Rufnummernanzeige mittels YAC nichts an der Box geändert.

Ich hab die FBF mit FW 06.03.37-mod-0.53.

Ist es eigentlich normal, dass ein
df -h
zum Anzeigen des freien Speichers folgendes Ergebnis liefert?

Code:
/ # df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 3.0M      3.0M         0 100% /
/ #

Es sieht so aus, als ob der gesamte Speicher belegt und nix mehr frei ist.

Ich frage, weil die FBF bei mir seit irgendwann heute alle paar Minuten die Verbindung zum DSL-Provider verliert, dann versucht zu reconnecten und dies nach einigen erfolosen Versuchen auch schafft und ich nach einer Ursache suche.

Außer mod 53 mit aktivierter Rückwärtssuche bei eingehenden Anrufen und setzen eines neuen root Passwortes hab ich keine Modifikationen an der Box vorgenommen.

Hier ein Fritzbox-Log vom Verlust der Connection bis zum erfolgreichen Verbindungsaufbau (hab einige persönlichen Daten ausgexxxxt):
Code:
Mar 15 18:56:10 dsld[285]: lost sync
Mar 15 18:56:10 dsld[285]: Channel 0 closed (physical)
Mar 15 18:56:10 dsld[285]: internet: disconnected
Mar 15 18:56:10 dsld[285]: StatisticFlushToFlash
Mar 15 18:56:10 dsld[285]: dyncfg: libar7cfg.so loaded for Dyn_AR7STAT_struct
Mar 15 18:56:10 dsld[285]: dyncfg: libar7cfg.so unloaded
Mar 15 18:56:10 dsld[285]: PPP led: off (value=0)
Mar 15 18:56:11 voipd[315]: connstatus 5 -> 1
Mar 15 18:56:11 multid[275]: ONLINE: now offline
Mar 15 18:56:17 multid[275]: dns: xxxxxxxx.dyndns.org: query
Mar 15 18:56:20 dsld[285]: dsl training
Mar 15 18:56:31 dsld[285]: showtime, speed 4480/576
Mar 15 18:56:31 dsld[285]: 3 seconds showtime delay
Mar 15 18:56:32 voipd[315]: brutto speed 4480/576
Mar 15 18:56:32 voipd[315]: connstatus 1 -> 3
Mar 15 18:56:34 dsld[285]: 4(atmdsl) (fd 4) closed
Mar 15 18:56:34 dsld[285]: starting autodetection
Mar 15 18:56:35 voipd[315]: connstatus 3 -> 2
Mar 15 18:57:00 dsld[285]: lost sync
Mar 15 18:57:00 dsld[285]: route_delete: dsl: ioctl() failed - No such process (3)
Mar 15 18:57:00 dsld[285]: Can't delete default route to dsl interface
Mar 15 18:57:00 dsld[285]: autodetect: failed
Mar 15 18:57:00 dsld[285]: internet: set_rcv_ipaddr: 192.168.179.1
Mar 15 18:57:01 voipd[315]: connstatus 2 -> 1
Mar 15 18:57:04 dsld[285]: dsl training
Mar 15 18:57:15 dsld[285]: showtime, speed 4512/576
Mar 15 18:57:15 dsld[285]: 3 seconds showtime delay
Mar 15 18:57:16 voipd[315]: brutto speed 4512/576
Mar 15 18:57:16 voipd[315]: connstatus 1 -> 3
Mar 15 18:57:18 dsld[285]: 4(atmdsl) (fd 4) closed
Mar 15 18:57:18 dsld[285]: starting autodetection
Mar 15 18:57:18 dsld[285]: autodetect: VPI 8 VCI 35 ENCAP 1
Mar 15 18:57:18 dsld[285]: internet: set_rcv_ipaddr: 192.168.179.1
Mar 15 18:57:18 dsld[285]: Can't add default route to dsl interface
Mar 15 18:57:19 voipd[315]: connstatus 3 -> 2
Mar 15 18:57:19 dsld[285]: internet: connecting
Mar 15 18:57:19 dsld[285]: Channel 0 up (physical outgoing)
Mar 15 18:57:20 dsld[285]: internet: connecting because of packet:
TCP 192.168.178.21:1399 -> 62.180.72.87:80 SYN
Mar 15 18:57:20 voipd[315]: connstatus 2 -> 4
Mar 15 18:57:20 dsld[285]: Channel 0 closed (physical)
Mar 15 18:57:20 dsld[285]: internet: PPP_PAP Auth failed (Request Denied) username "[email protected]" retry 0
Mar 15 18:57:37 multid[275]: dns: xxxxxxxx.dyndns.org: timeout after 3 retries
Mar 15 18:57:37 multid[275]: DDNS: xxxxxxxx.dyndns.org: verify failed, DNS timeout
Mar 15 18:57:42 dsld[285]: lost sync
Mar 15 18:57:42 voipd[315]: connstatus 4 -> 1
Mar 15 18:57:48 dsld[285]: dsl training
Mar 15 18:58:00 dsld[285]: showtime, speed 3072/576
Mar 15 18:58:00 dsld[285]: 3 seconds showtime delay
Mar 15 18:58:00 voipd[315]: brutto speed 3072/576
Mar 15 18:58:00 voipd[315]: connstatus 1 -> 3
Mar 15 18:58:03 dsld[285]: traffic shaper already exists!
Mar 15 18:58:21 dsld[285]: internet: connecting because of packet:
TCP 192.168.178.3:48567 -> 213.168.121.95:4662 SYN
Mar 15 18:58:21 voipd[315]: connstatus 3 -> 4
Mar 15 18:58:21 dsld[285]: Channel 0 up (physical outgoing)
Mar 15 18:58:22 dsld[285]: internet: set_snd_ipaddr: 84.44.153.179
Mar 15 18:58:22 dsld[285]: internet: set_snd_mtu: 1492
Mar 15 18:58:22 dsld[285]: internet: connected
Mar 15 18:58:22 dsld[285]: PPP led: on (value=1)
Mar 15 18:58:23 voipd[315]: connstatus 4 -> 5
Mar 15 18:58:23 voipd[315]: >>> Request: REGISTER sip:sipgate.de
Mar 15 18:58:23 voipd[315]: >>> Request: REGISTER sip:sip-gmx.net
Mar 15 18:58:23 voipd[315]: <<< Status: 401 Unauthorized
Mar 15 18:58:23 voipd[315]: ip address changed 84.44.153.226 -> 84.44.153.179
Mar 15 18:58:23 voipd[315]: xxxxxxxx: my address 84.44.153.179:5060
Mar 15 18:58:23 voipd[315]: >>> Request: REGISTER sip:sip-gmx.net
Mar 15 18:58:23 voipd[315]: <<< Status: 401 Unauthorized
Mar 15 18:58:23 voipd[315]: ip address changed 84.44.153.226 -> 84.44.153.179
Mar 15 18:58:23 voipd[315]: xxxxxxxx: my address 84.44.153.179:5060
Mar 15 18:58:23 voipd[315]: >>> Request: REGISTER sip:sipgate.de
Mar 15 18:58:23 voipd[315]: <<< Status: 200 OK
Mar 15 18:58:23 voipd[315]: >>> Request: REGISTER sip:sip-gmx.net
Mar 15 18:58:23 voipd[315]: <<< Status: 200 OK
Mar 15 18:58:23 voipd[315]: >>> Request: REGISTER sip:sipgate.de
Mar 15 18:58:23 voipd[315]: <<< Status: 401 Unauthorized
Mar 15 18:58:23 voipd[315]: >>> Request: REGISTER sip:sip-gmx.net
Mar 15 18:58:23 voipd[315]: <<< Status: 401 Unauthorized
Mar 15 18:58:23 voipd[315]: >>> Request: REGISTER sip:sipgate.de
Mar 15 18:58:23 voipd[315]: <<< Status: 200 OK
Mar 15 18:58:23 voipd[315]: sip:[email protected]: REGISTER complete (next in 1620 seconds)
Mar 15 18:58:23 voipd[315]: <<< Status: 200 OK
Mar 15 18:58:23 voipd[315]: sip:[email protected]: REGISTER complete (next in 1620 seconds)
Mar 15 18:58:23 multid[275]: DDNS: xxxxxxxx.dyndns.org: checking ip address
Mar 15 18:58:23 multid[275]: dns: xxxxxxxx.dyndns.org: query
Mar 15 18:58:23 multid[275]: ONLINE: now online 84.44.153.179
Mar 15 18:58:23 multid[275]: dns: xxxxxxxx.dyndns.org: 84.44.153.226 ttl=60 from 192.168.180.1.
Mar 15 18:58:23 multid[275]: DDNS: xxxxxxxx.dyndns.org: starting update
Mar 15 18:58:23 multid[275]: dns: members.dyndns.org: query
Mar 15 18:58:23 multid[275]: dns: members.dyndns.org: 63.208.196.94 ttl=570 from 192.168.180.1.
Mar 15 18:58:24 multid[275]: DDNS: xxxxxxxx.dyndns.org: updated (200 good)
Mar 15 18:58:37 dsld[285]: provider disconnect prevention will happen in 32444 sec.

Hier eine Liste der aktuell laufenden Prozesse:
Code:
  PID  Uid     VmSize Stat Command
    1 root        280 S   init
    2 root            SW  [keventd]
    3 root            SWN [ksoftirqd_CPU0]
    4 root            SW  [kswapd]
    5 root            SW  [bdflush]
    6 root            SW  [kupdated]
    7 root            SW  [mtdblockd]
    8 root            SW  [tffsd_mtd3]
  196 root        224 S   ledcfg -c -d -f /etc/Fritz_Box_FON.led.conf
  223 root            SW  [capitransp]
  251 root       1508 S N ctlmgr
  258 root       1060 S N websrv
  263 root       1060 S   igdd
  264 root       1060 S   igdd
  265 root       1060 S   igdd
  266 root       1060 S   igdd
  267 root       1060 S N websrv
  268 root       1060 S N websrv
  269 root       1060 S N websrv
  275 root       1084 S   multid
  285 root       1796 S < dsld -i -n
  301 root        388 S   /bin/sh /usr/bin/callmonitor.sh 1 1
  313 root        580 S   telefon
  315 root       1380 S < voipd
  317 root        192 S   /bin/run_clock -c /dev/tffs/mtd3 -d
  325 root        248 S   /usr/sbin/telnetd
  349 root        336 S   /sbin/crond
  361 root        284 S   /usr/sbin/dropbear -p 22
  369 root        448 S   -sh
  427 root        464 S   -sh
  599 root        344 R   ps

Hat jemand von euch ähnliches erlebt oder vielleicht sogar eine Lösung?

Cu
Gizmo
 
Hi Gizmo,

das mit dem df ist normal. Du siehst dabei das Flash. Und da man im Flash ( als Filesystem ) nicht schreiben kann siehst du 100% voll.

Eine direkte Idee habe ich nicht. Ein Problem dieser Art ist mir auch nicht bekannt.

Versuch mal die original Firmware einspielen. ( Wechsel mod mod-0.53 geht ohne Probleme). Dann solltest du auf der Statusseite sehen, ob die gleichen Problem
weiter existieren. Die debug.cfg kannst du lassen. die original Firmware findet dann gewisse Skripte nicht zum Starten, arbeitet dann aber vollkommen normal.

Haveaniceday
 
Das hört sich nach einem Problem beim Provider an:
Code:
Mar 15 18:57:20 dsld[285]: internet: PPP_PAP Auth failed (Request Denied) username "[email protected]" retry 0

MfG Oliver
 
funzt das ganze nur mit ner fritz box oder kann man auch nen grandstream device überwachen?
sicher nciht :roll:
wie siehts mit nem asterisk server aus?
 
Status
Für weitere Antworten geschlossen.

Neueste Beiträge

Statistik des Forums

Themen
244,858
Beiträge
2,219,656
Mitglieder
371,572
Neuestes Mitglied
#Kuddel#
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.