callmonitor will nicht

thc

Neuer User
Mitglied seit
15 Sep 2005
Beiträge
112
Punkte für Reaktionen
0
Punkte
16
Hallo zusammen,
ich versuche, Infos über Telefonate an unseren VDR zu schicken, bin dabei vom callmonitor ausgegangen und wollte erstmal sehen, was der telefon daemon so alles von sich gibt. Die beteiligten Dateien sind
debug.cfg:
Code:
# Starten des Telnet Daemons
/usr/sbin/telnetd -l /sbin/ar7login &

# Konfiguration
# Lokales Verzeichnis (muss beschreibbar sein) in dem die Dateien liegen sollen
LOCALDIR="/var/usr"
# Adresse des Servers von dem die Dateien nachgeladen werden
WEBURL="www.*.de"

# Herunterladen von Dateien
f_get() {
# Abholen vom Webserver
wget http://$WEBURL/fbf/$1
# Test auf Erfolg
[ -e ./$1 ] || return 1
# Anpassen der Dateirechte
chmod +x ./$1
# Test auf Erfolg
[ -x ./$1 ] || return 1
}

# Warten bis die FritzBox den Server erreichen kann
while !(ping -c 1 $WEBURL); do
  sleep 10
done

# In das lokale Verzeichnis wechseln
mkdir $LOCALDIR || exit
cd $LOCALDIR

# netcat zur Kommunikation mit anderen Hosts
f_get nc || exit

# multid fuer Status online/offline
f_get multid.cfg || exit
f_get multid.sh || exit
$LOCALDIR/multid.cfg &

# telefon fuer callmessage
f_get telefon.cfg || exit
f_get telefon.sh || exit
$LOCALDIR/telefon.cfg &

# ggfs. aktualisierte debug.cfg
f_get debug.cfg

# EOF

telefon.cfg:
Code:
#!/bin/sh
PGM="telefon"
LOCALDIR="/var/usr"
# Tests
[ -x $LOCALDIR/$PGM.sh ] || exit
# Neustart
killall -15 $PGM
sleep 3
killall $PGM
sleep 3
echo > $LOCALDIR/$PGM.log
$PGM a127.0.0.1 | $LOCALDIR/$PGM.sh &
# EOF

telefon.sh:
Code:
#!/bin/sh
PGM="telefon"
LOCALDIR="/var/usr"
# extracted out of callmonitor.sh, mod-53.tar.gz
while read line
do
  echo "$line" >> $LOCALDIR/$PGM.log
  case $line in
#  IncomingCall*)
  IncomingCall)
    MSISDN="$(echo $line | sed 's/^.*caller: .\(.*\). called:.*/\1/')"
    CALLED="$(echo $line | sed 's/^.*called: .\(.*\)".*/\1/')"
    if [ "$MSISDN" = "" ]; then
      MSISDN="Keine Rufnummer übermittelt"
      CALLER=".."
    else
      CALLER="$(cat $0 2>/dev/null | fgrep '#MSISDN=$MSISDN:' | sed 's/#MSISDN=$MSISDN://')"
      if [ "$CALLER" = "" ]; then
        CALLER="unbekannt"
      fi
    fi
    #echo "http://172.20.0.20:23232/@$CALLER ($MSISDN)"
    #wget -O /dev/null "http://172.20.0.20:23232/@$CALLER ($MSISDN)"
    echo "$CALLER @ $MSISDN -> $CALLED"
    ;;
  esac
done
### Beispiele für Namensanzeige. Raute und Doppelpunkt so lassen, nur Nummer und Name ändern
#MSISDN=0190666666:Jasmin

Aber es passiert nix, die telefon.log bleibt leer.
Wo ist da was faul?
Auch ein simples
Code:
killall telefon
telefon a127.0.0.1 | tee /var/usr/telefon.log &
in der Telnet-Konsole führt zu keinem Protokoll.

Gruß
Claus
 
thc schrieb:
Aber es passiert nix, die telefon.log bleibt leer.
Wo ist da was faul?
Auch ein simples
Code:
killall telefon
telefon a127.0.0.1 | tee /var/usr/telefon.log &
in der Telnet-Konsole führt zu keinem Protokoll.
Siehe hier.
 
danisahne schrieb:
Wenn man dem telefon-Dämon als Argument eine "1" mitgibt, erhält man die gewohnten Ausgaben incl. aller Hinweise auf Anrufe, die der Callmonitor auswertet.
Wenn ich
Code:
telefon 1 a127.0.0.1 | /var/usr/telefon.sh &
eingebe, erhalte ich ein paar Meldungen auf die Konsole, aber Telefonieren geht nicht mehr; die Leitung ist tot.
Gruß
Claus
 
Hi.
Geht es denn, wenn du das "| /var/usr/telefon.sh &" weglässt. Vielleicht ist irgendwo ein Fehler im Skript.
Wird der telefon gestartet? Hast du ihn vorher beendet? (Prozesse gibts mit "ps")

MfG Oliver
 
olistudent schrieb:
Geht es denn, wenn du das "| /var/usr/telefon.sh &" weglässt. Vielleicht ist irgendwo ein Fehler im Skript.
Danke für die Hilfe, aber ich verfolge diesen Ansatz nicht mehr weiter.
Über /var/calllog gehts auch und IMHO einfacher.
Wenn ich die Skripte fertig habe, mache ich dazu ein HOWTO in einem eigenen Thread.
Gruß
Claus
 
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.