mod-0.53/Rufnr.-Anzeige: Fragen u. Anregungen

Hallo zusammen,

coole ID auf die eigene Rufnummer zu reagieren. Könnte man es nicht auch so machen, dass eine Abfrage stattfindet, ob dropbear gerade gestartet ist, um ihn dann wahlweise ein oder auszuschalten, ohne die Rufnummer ändern zu müssen?


Eine andere Frage:
Nachdem $MESSAGE erstellt wurde, könnte man danach nicht durch einen replace-string (?? - kenn mich da leider nicht aus) Befehl die eventuell vorhandenen Leerzeichen wegmachen? Ich habe gerade den Fall, dass bei unterdrückter Rufnummer wiederum keine GET-Befehl ausgeführt wird...
 
Hi,

hier die Version für Analog-Anschluss :)

if [ "$MSISDN" = "0173......." ] && [ "$CALLED" = "9......" ]; then
if ps ax | grep "dropbear -p 22" | grep -v grep; then
echo "kille sshd" >> /tmp/call.log
killall dropbear 2>/dev/null
else
echo "starte sshd" >> /tmp/call.log
/usr/sbin/dropbear -p 22
fi
exit
fi
Das "exit" damit kein Webseitenaufruf/Anruf-Benachrichtigung
stattifindet in diesem Fall.

Der replace-String-Aufruf steht auch paar Postings höher:
MESSAGE=`echo "$MESSAGE" | sed s/ /%20/g`
bzw. noch " echo ' " davor und " ' > /var/tmp/mymessage" dahinter.

(Das echo-Gedöns ist übrigens nicht nötig, haveaniceday hatte recht,
man muss "cat <<\EOP" >/var/tmp/mymessage" nutzen (Backslash
nach <<), dann kann man den Inhalt der Datei ohne echos eingeben,
am Ende dann EOP auf 1 Zeile)

In der nächsten Mod werden -wenn ich haveaniceday richtig verstanden
habe- keine Leerzeichen mehr in der MESSAGE sein, so dass ersetzen
nicht nötig ist.

Gruß
Uwe
 
Besten Dank, das funktioniert super!

u.g schrieb:
(Das echo-Gedöns ist übrigens nicht nötig, haveaniceday hatte recht,
man muss "cat <<\EOP" >/var/tmp/mymessage" nutzen (Backslash
nach <<), dann kann man den Inhalt der Datei ohne echos eingeben,
am Ende dann EOP auf 1 Zeile)

Kannst Du einmal den kompletten Eintrag aus der debug.cfg posten? Hab das noch nicht richtig verstanden... :oops:
 
Nach
/usr/bin/bftpd -d &
folgendes einfügen:

cat <<\EOP > /var/tmp/mymes
maskieren()
{
echo "$@" | sed -e 's/ /%20/g' -e 's#/#%2F#g' -e 's#\\n#%0A#' -e 's#\\t#%09#' -e 's#\\r#%0D#'
}
ping -c 2 www.heise.de
IP=$1 ; MSISDN=$2 ; CALLER=$3 ; CALLED=$4 ; VIRTUAL=${5:-$1}
MESSAGE=${6:-"$MSISDN"}

if [ "$MSISDN" = "0173......." ] && [ "$CALLED" = "9......" ]; then
if ps ax | grep "dropbear -p 22" | grep -v grep; then
echo "kille sshd" >> /tmp/call.log
killall dropbear 2>/dev/null
else
echo "starte sshd" >> /tmp/call.log
/usr/sbin/dropbear -p 22
fi
exit
fi

OWNGET="`eval echo $OWNGET`"
OWNGET="`eval maskieren '$OWNGET'`"
echo "$OWNGET" >> /tmp/call.log
nc -w 2 $IP 80 <<EOF_OWN > /dev/null 2>> /tmp/call.log
GET /$OWNGET HTTP/1.0
Host: $VIRTUAL

EOF_OWN
EOP
chmod a+x /var/tmp/mymes

und paar Zeilen tiefer nach
cat <<EOP > /var/tmp/callmonitor.listeners
die entsprechede Zeile einfügen, zB.
In CALLOWNGET in debug.cfg muss der "/" an Anfang entfernt werden:
#CALLOWNGET=call.php?nr=$CALLED*$MSISDN*`date +%H:%M`*$CALLER

Gruß
Uwe

Die Zeile mit sed ist eine Zeile !
 
feine sache!

aber doch nicht ganz vollständig, oder? Oder wo wird $OWNGET definiert? Das find ich auch noch raus... ;)
 
oh, hatte ich vergessen:

nach MESSAGE= ...

OWNGET="`grep '^#CALLOWNGET=' /var/flash/debug.cfg | sed -e '/#CALLOWNGET=/!d' -e 's/#CALLOWNGET=//'`"

(1 Zeile !)

EDIT:
@ frage:
Habe jetzt übrigens mal den Fall gehabt, dass $CALLED
den Inhalt "SIP0" hatte (Gespräch über VoIP).
 
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.