#!/bin/sh # bramka-common - skrypt wczytujący z wejścia numer telefonu, treść smsa, # i wysyła go do odpowiedniej bramki. # Sebastian Zagrodzki # Jacek Fiok # Strona domowa: sms.jfiok.org # # format wejscia: numer=\ntresc= [ -r /usr/local/share/sms/smsrc ] && . /usr/local/share/sms/smsrc [ -r /etc/smsrc ] && . /etc/smsrc [ -r $HOME/etc/smsrc ] && . $HOME/etc/smsrc [ -r $HOME/.smsrc ] && . $HOME/.smsrc [ -z "$KATALOG" ] && KATALOG=/usr/local/share/sms [ -z "$NOPL" -a -r "$KATALOG/nopl" ] && NOPL="$KATALOG/nopl" [ -z "$NOPL" -a -r "/usr/local/share/sms/nopl" ] && NOPL="/usr/local/share/sms/nopl" read TELEFON TRESC="`cat`" [ -n "$NOPL" ] && TRESC="`echo \"$TRESC\" | . \"$NOPL\"`" TELEFON=${TELEFON#00} TELEFON=${TELEFON#+} TELEFON=${TELEFON#48} PREFIX="`echo $TELEFON | cut -c 1-3`" case "$PREFIX" in 501|502|503|504|505|506|507|508|509) BRAMKI="sms.orange.pl" # UWAGA - bramka Orange wymaga autoryzacji - nie zadziała bez # podania BRAMKA_USER i BRAMKA_PASSWORD w smsrc! ;; 601|603|605|607|609|691|693|695|697|699) BRAMKI="sms.pluswww sms.plussmtp" ;; 600|602|604|606|608|690|692|694|696|698|888|880) BRAMKI="sms.eraomnix.pl" # UWAGA - bramki Ery (eraomnix.pl i eraapiprv.pl) # wymagają autoryzacji - nie zadziała bez # podania BRAMKA_USER i BRAMKA_PASSWORD w smsrc! ;; *) echo "Nie wiem co zrobić z takim numerem!!!" exit 1 esac # wywołanie skryptu (-ów, do skutku); pamiętaj: skrypt jest SHELL lub PERL. for i in $BRAMKI; do if echo "$i" | egrep '\.pl$' >/dev/null; then # echo "/usr/bin/perl -w $KATALOG/$i" "$TELEFON" "$TRESC" "$BRAMKA_USER" "$BRAMKA_PASSWORD" # /usr/bin/perl -w "$KATALOG/$i" "$TELEFON" "$TRESC" "$BRAMKA_USER" "$BRAMKA_PASSWORD"; exit 0 /usr/bin/perl -w "$KATALOG/$i" "$TELEFON" "$TRESC" "$BRAMKA_USER" "$BRAMKA_PASSWORD" >/dev/null 2>&1 && echo "Wiadomość wysłana" && exit 0 else /bin/sh "$KATALOG/$i" "$TELEFON" "$TRESC" "$BRAMKA_USER" "$BRAMKA_PASSWORD" >/dev/null 2>&1 && echo "Wiadomość wysłana" && exit 0 fi done ERRNO=$? echo -n "BŁĄD: " case $ERRNO in 1) echo "błąd połączenia z serwerem" ;; 2) echo "zły numer" ;; 3) echo "przekroczony limit wiadomości" ;; 4) echo "odbiorca ma nieaktywny odbiór SMS-ów z internetu" ;; 5) echo "serwer jest przeciążony i odmawia współpracy" ;; 6) echo "nieprawidołowe hasło do bramki" ;; 127) echo "nieznana odpowiedź serwera" ;; *) ;; esac exit $ERRNO