kmalloc(M_WAITOK) will not return NULL
[dragonfly/port-amd64.git] / etc / isdn / tell-record
bloba53669b6c6438baa195df504fd3169b96fa8e7e4
1 #!/bin/sh
2 #---------------------------------------------------------------------------
4 # tell called and calling numbers answer script for i4b isdnd
5 # -----------------------------------------------------------
7 # $FreeBSD: src/etc/isdn/tell-record,v 1.4.2.1 2001/03/06 02:42:05 obrien Exp $
8 # $DragonFly: src/etc/isdn/tell-record,v 1.2 2003/06/17 04:24:47 dillon Exp $
10 # last edit-date: [Tue Oct 31 10:59:49 2000]
12 #---------------------------------------------------------------------------
13 VARDIR=/var/isdn
15 #FreeBSD < 3.1, NetBSD, OpenBSD, BSD/OS
16 #LIBDIR=/usr/local/lib/isdn
17 #FreeBSD 3.1 and up
18 LIBDIR=/usr/share/isdn
20 LOGFILE=/tmp/answer.log
21 NCALLFILE=${VARDIR}/ncall
22 DATE=`date +%d%H`
23 DF=0
24 dF=0
25 sF=0
27 if ! set -- `getopt D:d:s: $*`; then
28 echo 'Usage: answer -D device -d destination -s source'
29 exit 1
32 for i ; do
33 case ${i} in
34 -D)
35 DEVICE=$2
36 DF=1
37 shift
38 shift
40 -d)
41 DEST=$2
42 dF=1
43 shift
44 shift
46 -s)
47 SRC=$2
48 sF=1
49 shift
50 shift
52 --)
53 shift
54 break
56 esac
57 done
59 echo "" >>${LOGFILE}
61 if [ "${DF}" -eq 0 -o "${dF}" -eq 0 -o "${sF}" -eq 0 ]; then
62 echo 'Usage: answer -D device -d destination -s source'
63 exit 1
66 echo "answer: device ${DEVICE} destination ${DEST} source ${SRC} " >>${LOGFILE}
68 if [ -r "${LIBDIR}/beep.al" ]; then
69 dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k >/dev/null 2>&1
72 # tell the caller the number he is calling from
74 POS=1
75 LENGTH=`expr ${SRC} : '.*'`
77 while : ; do
78 DIGIT=`echo ${SRC} | cut -c ${POS}`
79 /bin/dd of=${DEVICE} if=${LIBDIR}/${DIGIT}.al bs=2k >/dev/null 2>&1
80 POS=`expr ${POS} + 1`
81 if [ "${POS}" -gt "${LENGTH}" ]; then
82 break
84 done
86 if [ -r "${LIBDIR}/beep.al" ]; then
87 dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k >/dev/null 2>&1
90 dd if=${DEVICE} of=${VARDIR}/recorded.msg bs=2k >/dev/null 2>&1