SMS Server Tools 3
 Menu
Basic information:
Additional information:
Support:
Get SMS Server Tools 3:
Additional Options

 Sponsored links

 Search
Custom Search

 Visitor locations
 
 SMS Server Tools 3 Community
Welcome, Guest. The forum is currently read-only, but will open soon. Tue Jul 01, 2025 10:26
SMSTools3 Community » Search Bottom

Page:  1

Keywords:
Mode: All keywords (AND)
archeyla64bit: Operating system name and version : LINUX MINT 15 Version of smsd : 3.1.15 Smsd installed from : sources Name and model of a modem / phone: WAVECOM 1206B Interface : USB PLEASE HELP ME SOMEONE OR ADMINISTRATOR..... 1. what smstools have a snmp service like gnokii?? 2. How to use smstools to send sms zenoss alert? exp. critical status, warning status or down status will be send sms to administrator networking and that person will be know status on his device status Thank you for your attention :)
archeyla64bit: What version do you use??? I use the 3.10 version and do not send empty messages... or try this code #!/bin/sh # Please read the description in the manual of SMS Server Tools. #run this script only when a message was received. if [ "$1" != "RECEIVED" ]; then exit; fi; #Extract data from the SMS file FROM=`formail -zx From: < $2` TEXT=`formail -I "" <$2 | sed -e"1d"` #Create an answer SM with the amount FILENAME1=`mktemp /tmp/answer_XXXXXX` echo "To: $FROM " >$FILENAME1 echo "" >> $FILENAME1 echo "$TEXT" >> $FILENAME1 FILENAME2=`mktemp /var/spool/sms/outgoing/answer_XXXXXX` mv $FILENAME1 $FILENAME2 ;)
archeyla64bit: Create a file eg "autoreply.bak" later put the file in the directory / usr / local / bin /. #!/bin/sh # Please read the description in the manual of SMS Server Tools. #run this script only when a message was received. if [ "$1" != "RECEIVED" ]; then exit; fi; #Extract data from the SMS file FROM=`formail -zx From: < $2` TEXT=`formail -I "" <$2 | sed -e"1d"` #Create an answer SM with the amount FILENAME=`mktemp /var/spool/sms/outgoing/answerXXXXXX` echo "To: $FROM" >$FILENAME echo "" >> $FILENAME echo "$TEXT" >>$FILENAME then the configuration settings on the "smsd.conf" /etc/smsd.conf activate the module on smsd.conf evenhandler eventhandler = /usr/local/bin/autoreply.bak
archeyla64bit: I Use Modem Itegno W3800 :)
archeyla64bit: for the first time the program is run in a position no stats folder file I get a balance but if the folder has a file GSM1.balance, I got 110812.120000,110812.130000,110812.140000 files, etc., whose contents are as follows: runtime,rejected 3600,0 name,succeeded,failed,received,multiple_failed,usage_s,usage_r GSM1,0,0,0,0,0,940 GSM1.sh display a message on the terminal Modem did not accept the pre-init string #!/bin/bash ########################################################################### # Global settings: get_balance_after=1 # 1 = get the balance after at least one message is sent. max_age=1 # an integer for hours, 0 = disable periodic checking. alert_balance=5 # an integer for "rupiah". alert_expiration=14 # an integer for days. #alert_to="622748322875" # "" = no SMS is sent. alert_from="888" # "" = no SMS is sent ########################################################################### # Device depended settings: # Comment out the next command if a DEVICENAME setting should be taken from # the name of this file (which can be a symbolic link). For example: # /var/spool/sms/regular_run/GSM1.sh #DEVICENAME="GSM1" [ -z "$DEVICENAME" ] && tmp=${0##*/} && DEVICENAME=${tmp%%.*} balance_file="/var/spool/sms/stats/${DEVICENAME}.balance" counter_file="/var/spool/sms/stats/${DEVICENAME}.counter" hasil_cek="/var/spool/sms/stats/${DEVICENAME}.cek" get_balance_flagfile="/var/spool/sms/stats/get.${DEVICENAME}.balance" regular_run_cmdfile="/var/spool/sms/regular_run/${DEVICENAME}.cmdfile" regular_run_statfile="$2" outgoing="/var/spool/sms/outgoing" sisapulsa="/var/spool/sms/sisapulsa" ########################################################################### # START OF OPERATOR SPECIFIC SETTINGS # If more than one modem is used and they have different operator specific # settings, move this section to the files for each modem and include the # file here using the following command: # . /var/spool/sms/regular_run/${DEVICENAME}.operator_settings.sh # Fix this if a different command is required in your network: ussd_command="AT+CUSD=1,\"*888#\",15" # This is an example result for the query: # 2011-08-12 15:07:20,5, GSM1: CMD: AT+CUSD=1,"*888#",15: OK +CUSD: 0,"Sisa Pulsa Anda Rp.5050. Aktif s.d. 19/08/2011. TELKOMSEL SIAGA bagi2 KADO utk Kamu,BB,Laptop,TV.Pastikan Hub*123*511#.2rb/sms ",15 # Defines how balance can be found from the result: balance_prefix="Rp." # Defines how the "euros" part ends: balance_suffix=". " # Defines how the expiration date can be found. # With an empty setting the expiration is not checked. balance_expiration="d. " balance_suffixdate=". T" # Helper function for converting date from the answer to the format yyyy-mm-dd # Modify this if necessary. extract_expiration() { # datestamp to format yyyy-mm-dd echo "${1:6:4}-${1:3:2}-${1:0:2}" } format_indonesia() { # datestamp to format dd-mm-yyyy echo "${1:8:2}-${1:5:2}-${1:0:4}" } : <<COMMENTBLOCK Example 2: ..."Balance subscription is EUR 22.36. Your allotted time expires 04/27/2011." balance_prefix="EUR " balance_suffix="." balance_expiration="expires " Command in extract_expiration(): echo "${1:6:4}-${1:0:2}-${1:3:2}" Example 3: ..."The balance is 34.84 B. & valid until 26/07/10 " balance_prefix="is " balance_suffix="." balance_expiration="until " Command in extract_expiration(): echo "20${1:6:2}-${1:3:2}-${1:0:2}" Example 4: ...Ihr Restguthaben ist CHF 18,87 balance_prefix="CHF " balance_suffix="," balance_expiration="" COMMENTBLOCK # END OF OPERATOR SPECIFIC SETTINGS ########################################################################### substr() { local string=$1 local prefix=$2 local suffix=$3 local ppref=${string%${prefix}*} # Changed 2010-11-02: if [[ "$ppref" == *${prefix}* ]] then string=${string//\"/} local position=$(echo | awk '{ print index("'"${string}"'", "'"${prefix}"'") }') if [ $position -gt 0 ]; then ppref=${string:0:$(($position - 1))} fi fi # ------------------- local ssuff=${string#*${suffix}} local nopref=${string#${ppref}${prefix}} echo ${nopref%${suffix}${ssuff}} } #-------------------------------------------------------------------------- date2stamp() { case `uname` in Darwin) date -juf "%Y-%m-%d %H:%M:%S" "$1" +%s ;; *) date --utc --date "$1" +%s ;; esac } #-------------------------------------------------------------------------- dateDiff() { local sec=0 case $1 in -s) sec=1; shift;; -m) sec=60; shift;; -h) sec=3600; shift;; -d) sec=86400; shift;; *) sec=86400;; esac local dte1=$(date2stamp "$1") local dte2=$(date2stamp "$2") local diffSec=$((dte2-dte1)) echo $((diffSec/sec)) } ########################################################################### test -e "$counter_file" || exit 1 messages=$(formail -zx ${DEVICENAME}: < "$counter_file") if [ "$1" = "PRE_RUN" ]; then get_balance=0 # Get the balance if it was wanted: [ -w "$get_balance_flagfile" ] && get_balance=1 && \ unlink "$get_balance_flagfile" if [ -r "$balance_file" ]; then # Get the balance if a defined number of messages are sent. messagesb=$(formail -zx Messages: < "$balance_file") [ $(($message - $messagesb)) -ge $get_balance_after ] && get_balance=1 else # Get the balance because the previous value is not known. get_balance=1 fi # Check the age of the last query if necessary: if [ $get_balance = 0 ] && [ $max_age -gt 0 ]; then last_query=$(formail -zx Last_query: < "$balance_file") age=$(dateDiff -h "$last_query" "$(date +"%Y-%m-%d %T")") [ $age -ge $max_age ] && get_balance=1 fi [ $get_balance -gt 0 ] && echo "$ussd_command" > "$regular_run_cmdfile" else # 2011-06-29: Check that USSD command is found: result="" if [ -r "$regular_run_statfile" ]; then tmp=${ussd_command//\"/\\\"} tmp=${tmp//\*/\\*} #echo "test : $tmp" result=$(cat "$regular_run_statfile" | grep "$tmp") fi if [ -n "$result" ]; then balance_low=-1 # Initial value means unknown. balance=-1 balance_alerted="" expiration_low=-1 expiration=-1 expiration_alerted="" sms_alert="" current_alert="" # 2010-11-02: Change Ctrl-B to $ result=$(echo "${result//$'\x02'/$}") # Check that required words exists: if [[ "$result" == *${balance_prefix}* ]] && \ [[ "$result" == *${balance_suffix}* ]] then # Get the balance and check it: balance=$(substr "$result" "$balance_prefix" "$balance_suffix") balance_low=0 if [ $(expr "$balance" + 1 2> /dev/null) ]; then [ $balance -le $alert_balance ] && balance_low=1 else echo "Error while parsing an integer: $balance" fi else echo "Error while parsing the answer (balance): $result" fi # Get the expiration date if defined, and check it: if [ -n "$balance_expiration" ]; then if [[ "$result" == *${balance_expiration}* ]]; then expiration_low=0 expiration=$(substr "$result" "$balance_expiration" "$balance_suffixdate") expiration=$(extract_expiration "$expiration") expiration2=$(dateDiff -d "$(date +"%Y-%m-%d")" "$expiration") [ $expiration2 -le $alert_expiration ] && expiration_low=1 masa_aktif=$(format_indonesia "$expiration") else echo "Error while parsing the answer (expiration): $result" fi fi if [ -e "$balance_file" ]; then # Get previous values: current_alert=$(formail -zx Current_alert: < "$balance_file") balance_alerted=$(formail -zx Balance_alerted: < "$balance_file") expiration_alerted=$(formail -zx Expiration_alerted: < "$balance_file") fi balance_gone_low=0 # added 2010-11-03 # If not yet alerted and the balance has gone low, alert now: if [ -z "$balance_alerted" ] && [ $balance_low = 1 ]; then balance_gone_low=1 balance_alerted=$(date +"%Y-%m-%d %T") tmp="Sisa pulsa mau habis ($balance)." echo "$tmp" # This message goes to the smsd.log [ -z "$sms_alert" ] && sms_alert="Alert:" sms_alert="${sms_alert} ${tmp}" # If the expiration is already alerted, but the issue is still active, # include it in the message: if [ -n "$expiration_alerted" ] && [ $expiration_low = 1 ]; then sms_alert="${sms_alert} Masa aktif pulsa ($masa_aktif)." fi fi # Remove an outdated alert: [ -n "$balance_alerted" ] && [ $balance_low = 0 ] && balance_alerted="" # If not yet alerted and the expiration is near, alert now: if [ -z "$expiration_alerted" ] && [ $expiration_low = 1 ]; then expiration_alerted=$(date +"%Y-%m-%d %T") tmp="Masa aktif pulsa ($masa_aktif)." echo "$tmp" # This message goes to the smsd.log [ -z "$sms_alert" ] && sms_alert="Alert:" sms_alert="${sms_alert} ${tmp}" # If the balance is already alerted, but the issue is still active, # include it in the message: if [ -n "$balance_alerted" ] && [ $balance_low = 1 ]; then if [ $balance_gone_low -eq 0 ]; then sms_alert="${sms_alert} Sisa pulsa ($balance)." fi fi fi # Remove an outdated alert: [ -n "$expiration_alerted" ] && [ $expiration_low = 0 ] && \ expiration_alerted="" [ -z "$balance_alerted" ] && [ -z "$expiration_alerted" ] && \ current_alert="" if [ -n "$sms_alert" ] && [ -n "$alert_from" ]; then # Send the SMS: #FILE=$(mktemp /tmp/alert_XXXXXX) #echo "To: $alert_to" >> $FILE #echo "" >> $FILE #echo "$DEVICENAME $sms_alert" >> $FILE #FILE2=$(mktemp "${outgoing}/send_XXXXXX") #mv $FILE "$FILE2" #Save to folder sisapulsa FILE=$(mktemp /tmp/alert_XXXXXX) echo "From: $alert_from" >> $FILE echo "" >> $FILE echo "$DEVICENAME $sms_alert" >> $FILE FILE2=$(mktemp "${sisapulsa}/send_XXXXXX") mv $FILE "$FILE2" fi # Save the details: DATE=$(date +"%Y-%m-%d %T") echo "Last_query: $DATE" > "$balance_file" [ -n "$sms_alert" ] && current_alert="${DATE}, $sms_alert" [ -n "$current_alert" ] && \ echo "Current_alert: $current_alert" >> "$balance_file" echo "Messages: $messages" >> "$balance_file" echo "Balance: $balance" >> "$balance_file" [ -n "$balance_expiration" ] && \ echo "Expiration: $masa_aktif" >> "$balance_file" [ -n "$balance_alerted" ] && \ echo "Balance_alerted: $balance_alerted" >> "$balance_file" [ -n "$expiration_alerted" ] && \ echo "Expiration_alerted: $expiration_alerted" >> "$balance_file" echo "" >> "$balance_file" echo "$result" >> "$balance_file" fi fi exit 0 every time the application is run by regular_run what can this be why? if there is something wrong with the code that I edited from this post?
archeyla64bit: My modem manufacture is Itegno W3800 :) :) :) :) :)
archeyla64bit: thanks you keke my problem is clear now i get the balance and expire date Last_query: 2011-08-09 14:52:17 Messages: 0 Balance: 7892 Expiration: 03-09-2011
archeyla64bit: Please help Me..i try keke post but i got problem What the error?? 2011-08-03 14:57:05,3, GSM1: ! Error while parsing the answer (balance): 2011-08-03 14:57:04,5, GSM1: CMD: AT+CUSD=1,"*388#": OK +CUSD: 4 2011-08-03 14:57:05,3, GSM1: ! balancing : -1 2011-08-03 14:57:05,3, GSM1: ! Error while parsing the answer (expiration): 2011-08-03 14:57:04,5, GSM1: CMD: AT+CUSD=1,"*388#": OK +CUSD: 4 The GSM1.Balance get Last_query: 2011-08-03 14:57:05 Messages: 0 Balance: -1 Expiration: -1 2011-08-03 14:57:04,5, GSM1: CMD: AT+CUSD=1,"*388#": OK +CUSD: 4

Page:  1

SMSTools3 Community » Search Top

 
Time in this board is UTC.  

Privacy Policy   SMS Server Tools 3 Copyright © Keijo Kasvi.