aboutsummaryrefslogblamecommitdiff
path: root/etc/isdn/isdntel.sh
blob: 376434eeae9da87c41d486ac80a627b7eef7ff89 (plain) (tree)
1
2
3
4
5
6
7
8
9





                                                                            
                                                          
 
                                                  

                                                                            




                                       



                   

                      


















































































                                                                                                 
#!/bin/sh
#---------------------------------------------------------------------------
#
#	isdn telephone answering
#	-------------------------
#
#	$Id: isdntel.sh,v 1.9 1999/04/23 09:42:05 hm Exp $
#
#	last edit-date: [Thu May 20 11:45:04 1999]
#
#---------------------------------------------------------------------------
#FreeBSD < 3.1, NetBSD, OpenBSD, BSD/OS
#LIBDIR=/usr/local/lib/isdn
#FreeBSD 3.1 and up
LIBDIR=/usr/share/isdn

VARDIR=/var/isdn
DEVICE=/dev/i4btel0

# sounds 
MESSAGE=$LIBDIR/msg.al
BEEP=$LIBDIR/beep.al

# dd options
SKIP=25

# max message size
MAXMSIZ=100

# src and dst telephone numbers
src=
dst=

# current date
DATE=`date`

# check if directory exists
if [ ! -d $VARDIR ]
then
	mkdir $VARDIR
fi

# get options
set -- `/usr/bin/getopt D:d:s: $*`

if [ $? != 0 ]
then
	echo "usage2: play -D device -d <dest-telno> -s <src-telno>"
	exit 1
fi

# process options
for i
do
	case $i in
		-D)
			DEVICE=$2; shift; shift;
			;;
		-d)
			dst=$2; shift; shift;
			;;
		-s)
			src=$2; shift; shift;
			;;
		--)
			shift; break;
			;;
	esac
done

# this is a __MUST__ in order to use the fullscreen inteface !!!

FILEDATE=`date \+%y%m%d%H%M%S`

# echo message to phone
if [ -f $MESSAGE ]
then
	/bin/dd of=$DEVICE if=$MESSAGE bs=2k >/dev/null 2>&1
fi

# echo beep to phone
if [ -f $BEEP ]
then
	/bin/dd of=$DEVICE if=$BEEP bs=2k >/dev/null 2>&1
fi

# start time
START=`date \+%s`

# get message from caller
/bin/dd if=$DEVICE of=$VARDIR/$FILEDATE-$dst-$src skip=$SKIP bs=2k count=$MAXMSIZ >/dev/null 2>&1

# end time
END=`date \+%s`

# duration
TIME=`expr $END - $START`

# save recorded message
if [ -f $VARDIR/$FILEDATE-$dst-$src ]
then
	mv $VARDIR/$FILEDATE-$dst-$src $VARDIR/$FILEDATE-$dst-$src-$TIME
fi

exit 0