#!/bin/sh #--------------------------------------------------------------------------- # # tell called and calling numbers answer script for i4b isdnd # ----------------------------------------------------------- # # $FreeBSD$ # # last edit-date: [Thu May 20 11:45:21 1999] # #--------------------------------------------------------------------------- VARDIR=/var/isdn #FreeBSD < 3.1, NetBSD, OpenBSD, BSD/OS #LIBDIR=/usr/local/lib/isdn #FreeBSD 3.1 and up LIBDIR=/usr/share/isdn LOGFILE=/tmp/answer.log NCALLFILE=$VARDIR/ncall DATE=`date +%d%H` DF=0 dF=0 sF=0 set -- `getopt D:d:s: $*` if test $? != 0 then echo 'Usage: answer -D device -d destination -s source' exit 1 fi for i do case "$i" in -D) DEVICE=$2 DF=1 shift shift ;; -d) DEST=$2 dF=1 shift shift ;; -s) SRC=$2 sF=1 shift shift ;; --) shift break ;; esac done echo "" >>$LOGFILE if [ $DF -eq 0 -o $dF -eq 0 -o $sF -eq 0 ] then echo 'Usage: answer -D device -d destination -s source' exit 1 fi echo "answer: device $DEVICE destination $DEST source $SRC " >>$LOGFILE if [ -f $LIBDIR/beep.al ] then dd of=$DEVICE if=$LIBDIR/beep.al bs=2k >/dev/null 2>&1 fi # tell the caller the number he is calling from POS=1 LENGTH=`expr $SRC : '.*'` while : do DIGIT=`echo $SRC | cut -c $POS` /bin/dd of=$DEVICE if=$LIBDIR/$DIGIT.al bs=2k >/dev/null 2>&1 POS=`expr $POS + 1` if [ $POS -gt $LENGTH ] then break fi done if [ -f $LIBDIR/beep.al ] then dd of=$DEVICE if=$LIBDIR/beep.al bs=2k >/dev/null 2>&1 fi dd if=$DEVICE of=$VARDIR/recorded.msg bs=2k