Akkor legrosszabb esetben marad a
vm shell
parancs, az egy shell szkriptet futtat, abban barmit megcsinalhatsz:
Kedvcsinalokent egy reszlet a szkriptembol:
DIAL_SUCCESSFUL="no"
EXIT_FLAG="no"
while [ "$DIAL_RETRIES" -gt 0 -a "$EXIT_FLAG" != "yes" ]; do
DIAL_RETRIES=$(($DIAL_RETRIES-1))
$DEBUG "Dialing $1..."
send "DIAL $1"
waitfor "DIALING" || continue
while true; do
read -r ANSWER <&$VOICE_INPUT
case "$ANSWER" in
READY)
$DEBUG "Got $ANSWER"
DIAL_SUCCESSFUL="yes"
EXIT_FLAG="yes"
break
;;
RECEIVED_DTMF)
$DEBUG "Received DTMF tone, aborting."
read -r <&$VOICE_INPUT
waitfor_ready
cleanup_exit 0
;;
BUSY_TONE|NO_DIAL_TONE|NO_ANSWER|ERROR)
$DEBUG "$ANSWER, retrying..."
waitfor_ready
send_wait_ready "STOP"
send_wait_ready "QUOTE ATH"
if [ "$DIAL_RETRIES" -gt 0 ]; then
$DEBUG "Sleeping $HOLDOFF..."
sleep "$HOLDOFF"
fi
break
;;
*)
$DEBUG "Got $ANSWER..."
;;
esac
done
done
[ "$DIAL_SUCCESSFUL" != "yes" ] && cleanup_exit 1