Проблема в том, что при дозвоне я не могу отследить подняли на том конце трубку или нет. Как это сделать??? см. блок "Ждём пока чуаак возьмёт трубку"
в логах видно что после DIAL=>DIALING=>READY никаких EVENTS больше нет...(хотя должен быть DIAL_TONE=>HANDSET_OFF_HOOK)
Тоесть я неправильно их отслеживаю... Как их отслеживать правильно?
#! /usr/bin/vm shell
#
# Этот скрипт звонит по номеру $1 и проигрывает сообщение $2
#
#
#
#------------------------ Функции--------------------
function receive
{
read -r INPUT <&$VOICE_INPUT;
echo "$INPUT";
}
function send
{
echo $1 >&$VOICE_OUTPUT;
kill -PIPE $VOICE_PID
}
#------------------------ Функции--------------------
#---------------- Инициализация и установка выходного устройства ----------------
ANSWER=`receive`
if [ "$ANSWER" != "HELLO SHELL" ]; then
kill -KILL $$
fi
send "HELLO VOICE PROGRAM"
ANSWER=`receive`
if [ "$ANSWER" != "READY" ]; then
kill -KILL $$
fi
send "ENABLE EVENTS"
ANSWER=`receive`
if [ "$ANSWER" != "READY" ]; then
kill -KILL $$
fi
#---------------- Инициализация и установка выходного устройства ----------------
#---------------------------------- Звоним --------------------------------------
send "DIAL $1"
ANSWER=`receive`
if [ "$ANSWER" != "DIALING" ]; then
kill -KILL $$
fi
ANSWER=`receive`
if [ "$ANSWER" != "READY" ]; then
echo "ERROR: $ANSWER, aborting"
exit 99
fi
#---------------------------------- Звоним --------------------------------------
echo "dial is complite"
#---------------------------------- Ждём пока чуаак возьмёт трубку --------------------------------------
checker=1
while [ $checker = 1 ]; do
ANSWER=`receive`
echo "$ANSWER"
case $ANSWER in
HANDSET_OFF_HOOK) checker=0;;
esac
done
#---------------------------------- Ждём пока чуаак возьмёт трубку --------------------------------------
echo "Let's play"
#---------------- Проигрыш сообщения --------------------------------------------
send "PLAY $2"
ANSWER=`receive`
if [ "$ANSWER" != "PLAYING" ]; then
kill -KILL $$
fi
ANSWER=`receive`
if [ "$ANSWER" != "READY" ]; then
kill -KILL $$
fi
#---------------- Проигрыш сообщения --------------------------------------------
##################################################################
#echo "Let's disable"
#---------------------------------- Вырубаем функции --------------------------------------
#send "DISABLE EVENTS"
#ANSWER=`receive`
#if [ "$ANSWER" != "READY" ]; then
# kill -KILL $$
#fi
#---------------------------------- Вырубаем функции --------------------------------------
############################################################
#---------------- Закрытие shell --------------------------------------------
send "GOODBYE"
ANSWER=`receive`
if [ "$ANSWER" != "GOODBYE SHELL" ]; then
kill -KILL $$
fi
#---------------- Закрытие shell --------------------------------------------
echo "OK: message send"
exit 0