( muszi | 2011. 12. 15., cs – 15:04 )

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