[gelöst] Wake-On-Call, ohne viel Aufwand, ohn Mod Installation

hallo,

ich gehe davon aus das 3 analoge telefone angeschlossen sind und somit fon1 bis fon3 belegt sind. man kann jetzt die internet-rufnummer auf ein isdn endgerät legen. damit die anderen telefone nicht klingeln muss jeweils die auswahl "auf alle rufnummern reagieren" bei allen analogen nebenstellen deaktiviert werden. wenn jetzt auf der dem isdn endgerät zugeordneten internet-rufnummer angerufen wird erhält der anrufer die meldung teilnehmer besetzt. der anruf wird aber im log registriert und müsste somit woc auslösen.
 
buehmann schrieb:
Nach einem genaueren Blick: Das Skript wake-on-call.sh hat Syntaxfehler (z.B. werden die while-Schleife und das case-Statement nicht geschlossen), deswegen kann telefon seine Ausgabe nicht schreiben und es kommt zu den beobachteten Symptomen bis zum Notfall-Neustart. Es liegt also nicht am Argument "1".
Andreas

Nach kurzer Zeit musste ich bei mir feststellen, dass sich meine Box imme aufhängt. Da ich den Fehler nicht finden konnte, habe ich WoC komplett entfernen müssen :-(

Aber solltet ihr Verbesserungen finden, dann könnt ihr sie gerne posten... Leider hab ich dafür keine Zeit mehr (mein OpenVPN Projekt geht leider vor ;-)
 
Ein herzliches Danke Schön von mir.

Hab mir eben neue Internetrufnummer angelegt, diese dann den ISDN-Endgeräte zugeteilt und bei den Nebenstellen "Auf alle Rufnummern reagieren" deaktiviert.

Funktioniert wunderbar.

Danköööö.
 
hab mal ne frage und zwar wie genau mach ich das jetzt bin ein kleiner neuer und weiß nit viel deswegen frag ich. also muss ich dieses wo steht das muss bei euch funzen haben ? das heißt muss der mod installiert sein ? wenn ja wie geht es dann weiter wie editier ich die datei wo der code rein muss hab ka von telnet.

danke

mfg

Sebi
 
Morgen Leute,

da tws nicht auf meine PN reagiert (Donnerstag geschrieben) stell ich mal meine Frage noch mal an alle anderen Profis.

Die Lösung von tws hat nämlich leider nicht funktioniert.

Situation:

-FBF 7170 - Pseudo Image, WoL und WoC funktionieren tadellos;

-1 Telefon an Fon1 Anschluss, Analog.... hat eine Basisstation und 2 Ladestationen.... heißt alle 3 klingeln... nur Fon1 ist belegt;

Ich suche nach einer Lösung das wenn ich mit meinem Handy zu hause anrufe, kein Telefon klingelt und am besten auch die Leitung von Fon1 frei bleibt. Hierzu habe ich mir bereits eine 2te Nummer angelegt bei 1und1.

Habe jetzt eine Nummer bei Fon1 drinne stehen, die zweite Nummer hab ich unter ISDN-Engeräte zugewiesen. Wenn ich den Haken bei Fon1 für "Auf alle Rufnummern reagieren" rausnehme dann klingelt es gar nicht mehr. Das kann ich mir nicht erklären eigentlich müsste es ja dann zumindest auf die eine Nummer reagieren die ich dem Fon1 zugewiesen habe.

Vielleicht habt ihr ja eine Lösung, eventl. ist es ja auch möglich einfach ein Klingeln für bestimmt Nummern einfach zu unterdrücken.

Danke für eure Hilfe

MfG
 
hallo blizzie,

ersteinmal vorweg, ich habe keine pn bekommen. mein benutzername ist fws.

ich habe das heute noch einmal mit folgender konfiguration:
- fritz!box fon wlan 7050
- firmware 14.03.101
- fon1 1.internet-rufnummer freenet
- fon2 2.internet-rufnummer 1und1
- isdn 3.internet-rufnummer 1und1
getestet.

bei fon1 - fon3 habe ich "auf alle rufnummern reagieren" deaktiviert.
am internen isdn s0 ist kein gerät angeschlossen.

mit dieser konfiguration habe ich bei mir das ergenis das du haben willst.

die analog telefone reagieren auf die entsprechenden rufnummern und beim anruf auf der 3.internetrufnummer klingelt kein telefon und als anrufer habe ich eine "besetzt" meldung.

wenn du es auch so konfiguriert hast dann kann ich mir nur vorstellen das bei der 7170 etwas geändert wurde.
 
@ blizzie:

du kannst auch auf eine VoIp-Nr. anrufen, die in der Box registriert
ist, die aber keinem Telefon zugewiesen ist, dann klingelt es nicht
(man bekommt evtl. Besetzt-Zeichen), aber der Anruf kommt trotzdem
an.
 
also geht der code jetzt wie er im ersten post steht oder doch nicht?
also die integration ist das Pseudo image funktioniert bei mir jedenfalls nicht :/
hat da noch einer ne idee wie ich es sonst integrieren kann?

habe die neue beta auf ner 7050 und wol klappt schon per telnet
 
WoC andere Lösungsweg

Hallo Leute,
den ganzen Wochenende habe ich mich in verschiedenen Threads in diesem Forum nach eine Lösung für WoC gesucht, es ist für einen Anfänger wirklich schwer durch zu kämpfen mit verschieden Threads um einen Thema, trotzdem die hier vorgestellten Lösung funktioniert mit meiner 7050 BETA Firmware-Version 14.04.03-3306 nicht. (keine Rückmeldung von Telefon Daemon)

Ich habe daraufhin von folgende Quelle zusammen getragen und eine Lösungsweg für mich gefunden:
http://www.ip-phone-forum.de/showthread.php?p=525124#post525124
http://www.ip-phone-forum.de/showthread.php?t=94756&highlight="Telefon+Daemon"
http://www.ip-phone-forum.de/showthread.php?t=98161&highlight=calllog
und bash schnellkurz
http://www.tuxhausen.de/kurs_bash_prog.html
ich erzeuge eine Datei /var/calllog mit:

#! /bin/sh
# Beispiel für wecken von PC per Telefon WOC
# Parameter von Telefon Daemon
# $1 caller (Anrufer ID)
# $2 MSN Nummer
# $3 ist SIP0/ISDN

# Definition
# MSN = Telefonnummer zum wecken
# caller = nummer oder jeder
# caller2= weitere Nummer

MSN=9xxxxx
#caller=jeder
caller=Büro_nr
caller2=Handy_nr

# Klingelt an richtigen Leitung ?
if [ "$MSN" = "$2" ]; then
# Prüfen ob der caller den Rechner wecken darf
if [ $caller = jeder -o $caller = $1 -o $caller2 = $1 ]; then
/var/tmp/startpc
fi
fi
exit 0


der Telefon Daemon startet irgendwie bei jedem Anruf die beiden Scripts /var/calllog und /var/flash/calllog mit $1 $2 $3 (auch $4 ???) wobei:
$1 caller (Anrufer ID)
$2 MSN Nummer
$3 ist SIP0/ISDN Leitung

ich kenne den Ausmass von diesen /var/calllog nicht,
der Vorteil ist: es läuft mit allen Nummer (SIP/ISDN)
und die Datei kann man immer ändern ohne zu rebooten.
Gruß
amsl
 
könntest du dazu vielleicht noch ein paar erklärungen und beispiele schreiben? würde (wenn es funtioniert) auch gerne mal nen test starten
 
du muß nur eine datei /var/calllog wie oben erzeugen per vi oder auf dem pc dann per ftp zum fritzbox übertragen.
ändere vorher aber

MSN=9xxxxx
#caller=jeder
caller=Büro_nr
caller2=Handy_nr

wobei MSN=ist die Telefonnr (Ziel)
caller=dein Telefonnr, von wo Du anrufst.
caller2=dein 2te Telefonnr (handy etc)

fertig.
kanst jetzt auf die MSN Nummer anrufen.
natürlich muss Wake Up On Lan (WOL) vorher funken.

-amsl.
 
ok, dann mache ich das mal wenn ich mich mal mit vi usw klar komme :)
danke

(oder ich warte bis das pseudo image angepasst ist ;) )
 
So funzt es bei mir

Hi,

zunächst mal RESPEKT. Funzt jetzt nach einer Ergängzung von Ausrufezeichen an den folgenden Stellen

amsl schrieb:
....
# Prüfen ob der caller den Rechner wecken darf
if [ "$caller" = "jeder" -o "$caller" = "$1" -o "$caller2" = "$1" ]; then
....
amsl

Wens interessiert, warum das muss: Stichworte sind Bash & Quoting (Ist aber fast eine Wissenschaft, die ich auch nicht verstehe)

Gruß
Knatterman

P.S. Den Eintrag mit jeder hab ich nicht wirklich geprüft. Der ist bei mir direkt rausgeflogen....
 
zur Bearbeitung von /var/flash/calllog (u. /var/c... wahrscheinl. auch) sollte man aber nvi nehmen
 
problem mit woc

hallo
bei geht das nicht ganz woran liegt es?
kann mir einer helfen?
fritzbox 7170 von 1und1 fw 29.04.06 und tbs LCR
desweiteren läd er auch nicht etherreal runter.
danke im vorraus HalJ

script in debug.cfg
while !(ping -c 1 www.tecchannel.de); do
sleep 5
done

wget http://www.tecchannel.de/download/432967/etherwake
chmod +x /var/tmp/etherwake
echo "/var/tmp/etherwake -i eth0 00:c1:26:07:95:bd" > /var/tmp/startpc
chmod +x /var/tmp/startpc

wolsip=SIP1
woltel=jeder
# wake-on-call.sh erstellen
cat > $localdir/wake-on-call.sh << 'END'
#!/bin/sh
trap "" SIGCHLD
# stdin: Ausgabe vom Telefon Daemon wird erwartet
while read line
do
case ${line} in
IncomingCall:*)
caller=${line#*caller: \"}
caller=${caller%%\"*}
called=${line#*called: \"}
called=${called%%\"*}
echo Angerufende Nummer = $called > $localdir/wake-on-call.info
echo Nummer vom Anrufer = $caller >> $localdir/wake-on-call.info
END
echo "# Pruefen ob die angerufende Nr die WOL-SIP ist" >> $localdir/wake-on-call.sh
echo "if [ "$"called = $wolsip ]; then" >> $localdir/wake-on-call.sh
echo " # Prüfen ob jeder den Rechner wecken darf. Wenn "jeder" dann wecken" >> $localdir/wake-on-call.sh
echo " if [ jeder = $woltel ]; then" >> $localdir/wake-on-call.sh
echo " $localdir/startpc" >> $localdir/wake-on-call.sh
echo " fi" >> $localdir/wake-on-call.sh
echo " # Dann darf es wohl nur eine bestimmte Nummer" >> $localdir/wake-on-call.sh
echo " # Prüfen ob es die bestimmte Nummer ist" >> $localdir/wake-on-call.sh
echo " if [ "$"caller = $woltel ]; then" >> $localdir/wake-on-call.sh
echo " $localdir/startpc" >> $localdir/wake-on-call.sh
echo " fi" >> $localdir/wake-on-call.sh
echo "fi" >> $localdir/wake-on-call.sh
chmod +x $localdir/wake-on-call.sh

#wake-on-call einbinden
# Telefon Daemon neu starten; Ausgabe ge-piped nach wake-on-call.sh
if [ -x $localdir/wake-on-call.sh ]
sleep 4
then
# Telefon Daemon sicher stoppen
killall -15 telefon
sleep 4
killall -9 telefon
rm -f /var/run/telefon.pid
sleep 4
# Telefon Daemon starten
telefon a127.0.0.1 | $localdir/wake-on-call.sh &
fi

über telnet kommt die meldung
telefon: '/var/calllog' script not found!
telefon: '/var/flash/calllog' script not found!
 
hi danke das geht jetzt aber leider nicht das woc hab jeder stehen aber er weckt ihn einfach nicht woran kann es liegen???
 
halj schrieb:
hi danke das geht jetzt aber leider nicht das woc hab jeder stehen aber er weckt ihn einfach nicht woran kann es liegen???

Falls deine Komma-Taste kaputt ist, dann hab ich ein paar Kommas für dich ",,,,,". Kommas sind kein überflüssiger Luxus, sondern helfen einen Satz zu verstehen. Heißt es bei dir nun "hi danke, das geht jetzt, ..." oder "hi danke, das geht jetzt aber leider nicht, ...". Wahrscheinlich die erste Variante, weil "das woc hab jeder stehen" wohl keinen Sinn macht. Ich möchte nicht wissen wieviele dein Posting einfach ignorieren, weil sie keine Lust haben erst eine Syntax-Analyse zu machen. Ich mache selber ständig Fehler bei der Komma-Setzung, aber man kann sich ja bemühen wenigstens ein paar zu streuen, damit man einen Satz leicht verstehen kann.

Gerald
 
Finale

Hi,
(mein erstes Posting hier, seit lieb :)

Ich schreibe noch mal zu diesem Thema, obwohl es ja als "gelöst" markiert ist, nur leider hat kein Posting "out-of-the-box" funktioniert. Deshalb dacht ich es wär' praktisch, wenn ich meine finale Lösung hier abstelle. Vielleicht hilft es mal jemandem:

Code:
cd /var/tmp
# bitte eigenen Server eintragen
wget http://www.woauchimmer.de/etherwake
chmod +x ./etherwake

######################
# wake-on-call START #
######################

########################
### --- Configuration Wake on Call


########################
### --- calllog erstellen
cat > /var/flash/calllog << 'END'
#!/bin/sh

# MAC Adresse fuer das Wecken eines PC
wolmac="XX:XX:XX:XX:XX:XX"

# NIC für das senden des WoL-Packages (nicht getestet, da ich noch eine "alte" Box habe...)
nic="eth0"

# Kommando zum wecken des PC's
startpc="/var/tmp/etherwake -i $nic $wolmac"

# Wenn ein Anruf auf diesem SIP Port erfolgt, dann soll er meinen Rechner starten
# SIP Port Nummer gibts hier: FBF Web-Interface öffnen / Telefonie / Internettelefonie
# Achtung: SIP-Nummer ist eins kleiner als der Wert unter "Auswahl", zumindest bei mir.
# Beispiel: *124# ist dann z.B. SIP3 (!)
# Wenn Wake-On-Call deaktivert werden soll, dann irgendwas eintragen
wolsip="SIP2"

# Wer darf den PC per WOL über Tel aufwecken?
# jeder      Jeder der die Nummer $wolsip anruft, darf den Rechner aufwecken
# TelNummer  Wenn es nur eine bestimmte Tel-Nummer darf
woltel="jeder"

# $wolsip und $woltel lassen sich im $logfile kontrollieren
# Denn manchmal wird die Nummer nicht so übermittelt 0123... sondern so +49123...
# Bitte kontrollieren und entsprechend hier eintragen

localdir="/var/tmp"
logfile="/var/tmp/woc.log"

# Pruefen ob die angerufende Nr die WOL-SIP ist
if [ "$3" = "$wolsip" ]; then
 # Prüfen ob jeder den Rechner wecken darf. Wenn "jeder" dann wecken
 if [ "$woltel" = "jeder" ]; then
   $startpc
   statuscode="OK:EVERYONE_ALLOWED"
 else
   # Dann darf es wohl nur eine bestimmte Nummer
   # Prüfen ob es die bestimmte Nummer ist
   if [ "$1" = "$woltel" ]; then
     $startpc
     statuscode="OK:ALLOWED_USER"
   else
     statuscode="FAIL:INTRUDER"
   fi
 fi
else
 statuscode="INFO:NO_WOC"
fi
# Im Produktiv-Einsatz auskommentieren:
echo "$1 ($woltel),$2,$3 ($wolsip),$4,$5,$statuscode" >>$logfile

END
# wake-on-lan.sh fertig
######################

chmod +x /var/flash/calllog

#####################
# wake-on-call ENDE #
#####################

Damit läuft es bei mir.....
Allerdings bin ich mir nicht sicher, ob calllog nicht noch eine andere Funktion hat, die ich jetzt überschrieben habe??

Hat von euch einer eine Idee, wie man über die SIP zusätzliche Informationen transportieren könnte, z.B. in Form von "nachgewählten" Ziffern? Mir fallen ein Dutzend tolle Sachen ein, die ich so fernsteuern könnte, aber soviele Nummern bekomme ich nicht :)
 
Ich hab mal dein Skript ausprobiert - hat leider nicht funktioniert!
folgende Probleme gabs:
/var/flash/calllog kann nicht geschrieben werden, hat aber funktioniert nachdem ich das auf /var/calllog geändert hab.
(Ich hab ne 7170, vielleicht liegts auch daran...)

Mein nächstes und auch bis jetzt noch nicht gelöstes Problem ist, dass wenn das Skript gestartet wurde und ich auf der Richtigen Nummer anklingeln lasse, im Telnet Fenster die Meldung "Could not find END" erscheint...

Ich hoff jemand weiß da rat - Etherwake vom Telnet aus funktioniert tadellos!
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,158
Beiträge
2,247,073
Mitglieder
373,677
Neuestes Mitglied
MK34
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.