All pastes #40877 Raw Edit

Someone

public text v1 · immutable
#40877 ·published 2006-02-09 18:20 UTC
rendered paste body
#!/bin/sh
# ${1} = number of call files to create .  Must be <= ${2} ,  Must be < 10000 .
# ${2) = Number of call files to process per ${3} second(s) .
# ${3) = Number of Second(s) between chinks to preocess .
#
usage()
{
cat << USAGE

        ${0} [[Number of Files] [Number of files to Process] [Number of Seconds between
 processing]]
        \${1} = number of call files to create .  Must be <= \${2} ,  Must be < 10000 .
        \${2) = Number of call files to process per \${3} second(s) .
        \${3) = Number of Second(s) between chunks to process .
  ex:
        make-callfiles.sh 100 10 10

USAGE
}

[ -z "${1}" -o -z "${2}" -o -z "${3}" ] && usage && exit

case ${1} in
  [Uu][Ss][Aa][Gg][Ee]) usage && exit ;;
esac
case ${2} in
  [Uu][Ss][Aa][Gg][Ee]) usage && exit ;;
esac
case ${3} in
  [Uu][Ss][Aa][Gg][Ee]) usage && exit ;;
esac

NUMF=${1}
INCR=${2}
SECS=${3}

DATE=`date "+%Y%m%d%H%M%S"`

[ ! -e /tmp/test.calls ] && \
  mkdir /tmp/test.calls

cd /tmp/test.calls/

  cat << CALLFILE > CALLFILE.call
Channel: SIP/test/8005551212
Callerid: 8005551212
MaxRetries: 3
RetryTime: 5
WaitTime: 20

Context: test-perf
Extension: 100
Priority: 1
CALLFILE

for ((XXX=1; XXX<=NUMF; XXX++)); do
  [ ${XXX} -lt 100000 ] && XX1="0${XXX}"
  [ ${XXX} -lt 10000 ] && XX1="00${XXX}"
  [ ${XXX} -lt 1000 ] && XX1="000${XXX}"
  [ ${XXX} -lt 100 ] && XX1="0000${XXX}"
  [ ${XXX} -lt 10 ] && XX1="00000${XXX}"
  cp -f CALLFILE.call ${DATE}${XX1}.call
done

SPOOL="/var/spool/asterisk/outgoing"
# SPOOL="/tmp/spool"

[ ! -e ${SPOOL} ] && \
  mkdir ${SPOOL}

# Now mv the files to  /var/spool/asterisk/outgoing  for processing .

while /bin/true ; do
  [ ! -e ${DATE}${XX1}.call ] && break
  FILES=`ls -1 ${DATE}*.call | head -n ${INCR} | sort -n | awk -vORS=" " '{print $1}'`
  mv -f ${FILES} ${SPOOL}/
  sleep ${SECS}
done


# Cleanup after ourselves .
[ -e /tmp/test.calls ] && \
  rm -rf /tmp/test.calls

# if testing clean it up ...
[ -e /tmp/spool ] && \
  rm -rf /tmp/spool