Skip to content
Snippets Groups Projects
Select Git revision
  • 6e15cda270a060cf87c6c643a1cc3da65ffb242d
  • ex400 default
  • iop-mediatek-20250604
  • ubi-fastmap
  • add-dtb-rescan
  • agnau-blorgoda
  • agnau-scratch
  • mediatek-20250604
  • iop-mediatek-20250304
  • iop-mediatek-20250304-loc
  • agnau-mtk-back
  • iop-mediatek-20250304-back
  • iop-mediatek-20220630
  • jani-multi-dtb
  • jani-multi-dtb-spl
  • mediatek-20220630
  • iop-mediatek-20220606
  • jani-env-update-mtk
  • jani-env-update-mtk-txt
  • jani-iop-20220606
  • jani-mtk-20220606
  • mediatek-20220606
  • v2023.01-rc1
  • v2022.10
  • v2022.10-rc5
  • v2022.10-rc4
  • v2022.10-rc3
  • v2022.10-rc2
  • v2022.10-rc1
  • v2022.07
  • v2022.07-rc6
  • v2022.07-rc5
  • v2022.07-rc4
  • v2022.07-rc3
  • v2022.07-rc2
  • v2022.07-rc1
  • v2022.04
  • v2022.04-rc5
  • v2022.04-rc4
  • v2022.04-rc3
  • v2022.04-rc2
  • v2022.04-rc1
42 results

atmel_lcdc.h

Blame
  • autosupport 17.39 KiB
    #!/bin/sh
    #
    # Autosupport Version 2.1.3
    # Collect support information
    #
    # Copyright (C) 2005-2016, Digium, Inc.
    #
    # Written by John Bigelow (support@digium.com)
    #            Charles Moye (cmoye@digium.com)
    #            Trey Blancher (trey@digium.com)
    #
    # Distributed under the terms of the GNU General Public
    # License
    #
    # usage:
    # autosupport [prefix]
    # ARGUMENTS:
    # prefix - Prefix to tarball. (Referenced as $1)
    #      Example: autosupport <Your Digium Technical Support Ticket number>
    
    # Ensure the PATH variable includes '/usr/sbin' and '/sbin'
    PATH=/usr/sbin:/sbin:${PATH}
    
    DATE_STAMP=$(date +%F)
    OUTPUT_FILE=digiuminfo.txt
    TARBALL_OUTPUT_FILE="digium-info_${DATE_STAMP}.tar"
    VAR_LIB_LIST_FILE="list-of-varlibasterisk.txt"
    FILE_PREFIX=
    FOLDER_PREFIX="${HOME}/"
    files="n";
    NONINTERACTIVE=0
    
    
    # If a prefix is specified on command-line, add it.
    if (set -u; : $1) 2> /dev/null
    then
      case "$1" in
      -h | --help)
        echo
        echo "Digium autosupport script"
        echo "Copyright (C) 2005-2016, Digium, Inc."
        echo "Licensed under the terms of the GNU General Public License"
        echo
        echo "usage: autosupport [prefix]"
        echo "Valid Options:"
        echo "   [prefix]			Prefix to apply to output files"
        echo "				May be your existing Digium Technical Support Ticket ID"
        echo "   -n, --non-interactive	Run without requiring user input"
        echo "   -h, --help			Show help about options"
        echo
        echo "Example:"
        echo "    autosupport XXXXXXXX"
        echo "Generates:"
        echo "    XXXXXXXX_${OUTPUT_FILE}"
        echo "    XXXXXXXX_${TARBALL_OUTPUT_FILE}"
        echo
        exit
        ;;
      -n | --non-interactive)
        FILE_PREFIX=
        NONINTERACTIVE=1
        ;;
      *)
        FILE_PREFIX="${FILE_PREFIX}${1}_";
        ;;
      esac
    fi
    
    MYUID=$(id -u);
    
    if [ $MYUID -ne  0 ]; then
      echo "You must be root to run this."
      exit 1
    fi
    
    SUPPORTED_MODULES="wcb4xxp wct4xxp wctc4xxp wctdm wctdm24xxp wcte11xp wcte12xp"
    RELATED_MODULES="$SUPPORTED_MODULES dahdi_dummy dahdi_transcode dahdi_vpmadt032_loader";
    
    OUTPUT_FILE="${FILE_PREFIX}${OUTPUT_FILE}"
    TARBALL_OUTPUT_FILE="${FILE_PREFIX}${TARBALL_OUTPUT_FILE}"
    VAR_LIB_LIST_FILE="${FILE_PREFIX}${VAR_LIB_LIST_FILE}"
    
    OUTPUT="${FOLDER_PREFIX}${OUTPUT_FILE}"
    TARBALL_OUTPUT="${FOLDER_PREFIX}${TARBALL_OUTPUT_FILE}"
    VAR_LIB_LIST="${FOLDER_PREFIX}${VAR_LIB_LIST_FILE}"
    
    # Done with setup, now start gathering information.
    
    # function not implemented yet
    determine_paths()
    {
      ASTERISK_PROCESS=$(ps -o cmd -C asterisk | grep asterisk 2> /dev/null)
    echo "detected process: $ASTERISK_PROCESS";
      # split on whitespace? or use sed/awk to parse
      # get first arg which will be path to Asterisk binary - add this to PATH
      # look for a '-C' if that is present, get the arg after it, and make the tarball collect that directory
      ## in addition to /etc/asterisk/ or instead of it?
    }
    
    collect_digiuminfo()
    {
    # Delete existing OUTPUT
    [ -f $OUTPUT ] && rm -rf $OUTPUT
    
    # Sanity Checks
    echo "------------------" >> $OUTPUT;
    echo "Sanity" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    md5sum $0 >> $OUTPUT;
    grep "Autosupport Version" $0 | head -n1 >> $OUTPUT
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "Working";
    
    echo "------------------" >> $OUTPUT;
    echo "UPTIME : uptime" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    uptime >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "MEMORY : free" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    free >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "KERNEL VERSION : uname -a" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    uname -a >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "VERSION INFO : cat /proc/version" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    cat /proc/version >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "CMDLINE INFO : cat /proc/cmdline" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    cat /proc/cmdline >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    
    if [ -d /sys/module/dahdi ]; then
      echo "------------------" >> $OUTPUT
      echo "dahdi version:" >> $OUTPUT
      echo "------------------" >> $OUTPUT
      echo "/sys/module/dahdi/version: " >> $OUTPUT
      cat /sys/module/dahdi/version 2> /dev/null >> $OUTPUT
      echo "" >> $OUTPUT;
      echo -n "."
    fi
    
    echo "------------------" >> $OUTPUT;
    echo "DAHDI TOOLS : dahdi_cfg --help" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    dahdi_cfg --help 2>&1 | grep "Version" >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "DAHDI HARDWARE : dahdi_hardware" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    dahdi_hardware >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    
    echo "------------------" >> $OUTPUT;
    echo "ASTERISK INFO : asterisk -V" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    echo "asterisk -V:" >> $OUTPUT;
    asterisk -V >> $OUTPUT;
    echo >> $OUTPUT;
    # Add check to see if asterisk is running.
    if [ -e /var/run/asterisk.ctl ] || [ -e /var/run/asterisk/asterisk.ctl ]; then
      for command in "core show version" "pri show version" "dahdi show version" \
          "pjsip show version" "pjsip show buildopts" "pjproject show buildopts" \
          "core show translation" \
          "core show uptime" "core show settings" "core show sysinfo" "core show channels" \
          "pri show spans" "dahdi show status" "dahdi show channels" "dahdi show channel 1" \
          "pjsip show endpoints" "pjsip show registrations" "pjsip list channels" \
          "sip show peers" "sip show registry" "sip show channels" "sip show subscriptions" "sip show settings" \
          "show g729" "g729 show version" "g729 show licenses" "g729 show hostid" \
          "digium_phones show version" "digium_phones show alerts" "digium_phones show applications" \
          "digium_phones show firmwares" "digium_phones show lines" "digium_phones show networks" \
          "digium_phones show phones" "digium_phones show sessions" "digium_phones show settings" \
          "digium_phones show translations" ;
      do
        echo "asterisk -rx \"$command\"" >> $OUTPUT;
        asterisk -rx "$command" >> $OUTPUT;
        echo >> $OUTPUT;
        echo -n "."
      done
      echo >> $OUTPUT;
    fi
    
    
    for type in alerts applications firmwares lines networks phones translations;
    do
    	echo "------------------" >> $OUTPUT;
    	echo "DIGIUM PHONE: $type " >> $OUTPUT;
    	echo "------------------" >> $OUTPUT;
    	TEMP=$(asterisk -rx "digium_phones show $type");
    	if [ "$type" = "lines" ];
    	then
    		NUM=$(echo $TEMP | tail -n 1 | awk -F' ' '{print $(NF-4)}');
    		if [ $NUM -gt 0 ];
    		then
    			for l in $(echo $TEMP | sed 's/^--- [[:alpha:]]\+ --- //;
    				s/Lines \(Un-\)\?Mapped to Phones --- //g;
    				s/ Internal//g;
    				s/---- [a-zA-Z0-9 ]\+ ----$//;
    				s/--- //g');
    			do
    				asterisk -rx "digium_phones show line $l" >> $OUTPUT;
    				echo "--------" >> $OUTPUT;
    				echo >> $OUTPUT;
    			done
    		else
    			echo "No configurations of type $type..." >> $OUTPUT;
    			echo >> $OUTPUT;
    		fi;
    	elif [ "$type" = "firmwares" ];
    	then
    		for f in $(echo $TEMP | sed 's/--- Configured Firmware Options --- //');
    		do
    			asterisk -rx "digium_phones show firmware $f" >> $OUTPUT;
    			echo "--------" >> $OUTPUT;
    			echo >> $OUTPUT;
    		done
    	elif [ "$type" = "translations" ];
    	then
    		for t in $(echo $TEMP | sed 's/--- Translation tables ---//');
    		do
    			asterisk -rx "digium_phones show translation $t"
    		done
    	else
    		NUM=$(echo $TEMP | tail -n 1 | awk -F' ' '{print $(NF-3)}');
    		if [ $NUM -gt 0 ];
    		then
    			for t in $(echo $TEMP | sed 's/^--- [[:alpha:]]\+ --- //;
    																	 s/---- [a-zA-Z0-9 ]\+ ----$//
    																	 s/---- Digium Phones ---- //');
    			do
    				asterisk -rx "digium_phones show $(echo $type | sed 's/s\b//') $t" >> $OUTPUT;
    				echo "--------" >> $OUTPUT;
    				echo >> $OUTPUT;
    			done;
    		else
    			echo "No configurations of type $type..." >> $OUTPUT;
    			echo >> $OUTPUT;
    		fi;
    	fi;
    done;
    echo >> $OUTPUT;
    
    
    echo "------------------" >> $OUTPUT;
    echo "OTHER INFO : cat /etc/*{issue,release,version}*" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    for file in $(ls /etc/*issue* /etc/*release* /etc/*version* \
      /etc/*motd* /etc/asterisknow-version /dev/zap/ /dev/dahdi/ \
      2> /dev/null); do
      if [ -f $file ]; then
        echo "$file:" >> $OUTPUT;
        cat $file >> $OUTPUT;
        echo >> $OUTPUT;
        echo -n "."
      fi
    done
    echo >> $OUTPUT;
    
    echo "------------------" >> $OUTPUT;
    echo "TOP : top -bn1" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    top -bn1 >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "RUNNING PROCESSES : ps aux" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    ps aux >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "INTERRUPTS : cat /proc/interrupts" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    cat /proc/interrupts >> $OUTPUT;
    echo -n "."
    sleep 2;
    echo "---------- sleep(2) ----------" >> $OUTPUT;
    cat /proc/interrupts >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "DAHDI SCAN : dahdi_scan" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    dahdi_scan >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "----------------------------" >> $OUTPUT;
    echo "CAT OF DAHDI CHANNELS : cat /proc/dahdi/" >> $OUTPUT;
    echo "----------------------------" >> $OUTPUT;
    if [ -d /proc/dahdi/ ]; then
      for file in $(ls /proc/dahdi/ 2> /dev/null); do
        echo "----------------------------" >> $OUTPUT;
        echo "/proc/dahdi/$file:" >> $OUTPUT;
        cat /proc/dahdi/$file >> $OUTPUT;
        echo >> $OUTPUT;
        echo -n "."
      done
    fi
    echo >> $OUTPUT;
    
    echo "------------------" >> $OUTPUT;
    echo "DMESG OUTPUT : dmesg" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    dmesg >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "LOADED MODULES : lsmod" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    lsmod >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    # Grab the parameters for each module
    for mod in $SUPPORTED_MODULES; do
      if [ -d /sys/module/$mod ]; then
        echo "------------------" >> $OUTPUT
        echo "$mod parameters" >> $OUTPUT
        echo "------------------" >> $OUTPUT
        echo "/sys/module/$mod/parameters:" >> $OUTPUT
        for param in $(ls /sys/module/$mod/parameters/ /sys/module/$mod/ 2> /dev/null); do
          if [ -f /sys/module/$mod/parameters/$param ]; then
            echo -n "$param:  " >> $OUTPUT
            cat /sys/module/$mod/parameters/$param 2> /dev/null >> $OUTPUT
          elif [ -f /sys/module/$mod/$param ]; then
            # Handle Zaptel doing it differently
            echo -n "$param:  " >> $OUTPUT
            cat /sys/module/$mod/$param 2> /dev/null >> $OUTPUT
          fi
          echo -n "."
        done
        echo >> $OUTPUT
      fi
    done
    
    echo "------------------------" >> $OUTPUT;
    echo "DAHDI MODULE INFO : modinfo" >> $OUTPUT;
    echo "------------------------" >> $OUTPUT;
    for file in $(ls /lib/modules/$(uname -r)/dahdi/*.ko \
      /lib/modules/$(uname -r)/dahdi/*/*.ko\
      /lib/modules/$(uname -r)/extra/*.ko \
      /lib/modules/$(uname -r)/extra/*/*.ko \
      /lib/modules/$(uname -r)/misc/*.ko \
      /lib/modules/$(uname -r)/misc/*/*.ko 2> /dev/null); do
      if [ -f $file ]; then
        echo "------------------------" >> $OUTPUT;
        modinfo $file >> $OUTPUT;
        echo >> $OUTPUT;
        echo -n "."
      fi
    done
    echo "------------------------" >> $OUTPUT;
    echo >> $OUTPUT;
    
    echo "------------------" >> $OUTPUT;
    echo "PCI LIST : lspci -vvvb" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    lspci -vvvb >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "PCI LIST(no lookup) : lspci -vvvbn" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    lspci -vvvbn >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "CPU INFO : cat /proc/cpuinfo" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    cat /proc/cpuinfo >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "----------------------" >> $OUTPUT;
    echo "VPM FIRMWARE INSTALLED : ls -la /lib/firmware" >> $OUTPUT;
    echo "----------------------" >> $OUTPUT;
    $(ls -la /lib/firmware 2> /dev/null >> $OUTPUT);
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "NETWORK INFO : route -n; iptables -L; ifconfig -a" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    route -n 2> /dev/null >> $OUTPUT;
    echo >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    iptables -L 2> /dev/null >> $OUTPUT;
    echo >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    ifconfig -a 2> /dev/null >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "DMIDECODE : dmidecode" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    dmidecode >> $OUTPUT;
    echo >> $OUTPUT;
    echo >> $OUTPUT;
    echo -n "."
    
    echo "------------------" >> $OUTPUT;
    echo "KERNEL CONFIG : cat /path/.config" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    for file in /lib/modules/$(uname -r)/build/.config /usr/src/linux/.config; do
      if [ -f $file ]; then
        echo "------------------" >> $OUTPUT;
        echo "$file:" >> $OUTPUT;
        cat $file >> $OUTPUT;
        echo >> $OUTPUT;
        echo -n "."
      fi
    done
    echo >> $OUTPUT;
    
    FIRMWARE_DIR=`grep firmware_package_directory /etc/asterisk/res_digium_phone.conf|sed 's/;.*$//;'|grep firmware|sed 's/firmware_package_directory=//;'`;
    if [ `echo $FIRMWARE_DIR|egrep -v '^$'|wc -l` -eq "0" ]
    then
      FIRMWARE_DIR="/var/www/firmware_package_directory"
    fi
    echo "------------------" >> $OUTPUT;
    echo "FIRMWARE LISTING: ls -al $FIRMWARE_DIR" >> $OUTPUT;
    echo "------------------" >> $OUTPUT;
    ls -al $FIRMWARE_DIR >> $OUTPUT;
    echo >> $OUTPUT;
    
    FIRMWARE_URLS=`grep file_url_prefix /etc/asterisk/res_digium_phone.conf|sed 's/;.*$//;'|grep file|sed 's/file_url_prefix=//;'`;
    for FIRMWARE_URL in $FIRMWARE_URLS; do
      echo "------------------" >> $OUTPUT;
      echo "REMOTE FIRMWARE LISTING: wget $FIRMWARE_URL" >> $OUTPUT;
      echo "------------------" >> $OUTPUT;
      wget "$FIRMWARE_URL" -O- 2>/dev/null >> $OUTPUT;
      echo >> $OUTPUT;
    done
    
    echo "done!"
    }
    
    collect_var_lib_list()
    {
      # Delete existing VAR_LIB_LIST
      [ -f $VAR_LIB_LIST ] && rm -rf $VAR_LIB_LIST
      DIR_LISTING="/var/lib/asterisk/"
      if [ -d /var/lib/digium ]; then
        DIR_LISTING="/var/lib/digium/ ${DIR_LISTING}"
      fi
      if [ -d /usr/lib/asterisk/modules/ ]; then
        DIR_LISTING="/usr/lib/asterisk/modules/ ${DIR_LISTING}"
      fi
      echo "ls -1aAR $DIR_LISTING > $VAR_LIB_LIST"
      $(ls -1aR ${DIR_LISTING} | sed -e '/^\.\.*$/d' > $VAR_LIB_LIST);
    }
    
    collect_config_backup()
    {
      collect_var_lib_list
      # Include the /etc/asterisk directory, modprobe.conf, and the modprobe.d directory
      TAR_FILES="/etc/asterisk/ /etc/modprobe.*"
    
      # Check if any Asterisk licenses are installed
      # G.729, Fax, ABE, Cepstral, Skype, etc.
      if [ -d /var/lib/asterisk/licenses/ ]; then
        TAR_FILES="$TAR_FILES /var/lib/asterisk/licenses/*"
      fi
    
      # Check if any Digium licenses are installed
      # HPEC
      if [ -d /var/lib/digium/licenses/ ]; then
        TAR_FILES="$TAR_FILES /var/lib/digium/licenses/*"
      fi
    
      # Check if DAHDI is installed
      if [ -d /etc/dahdi ]; then
        TAR_FILES="$TAR_FILES /etc/dahdi*"
      fi
    
      # Grab the dahdi init scripts, in case they have been modified
      if [ -f /etc/init.d/dahdi ]; then
        TAR_FILES="$TAR_FILES /etc/init.d/dahdi"
      fi
    
      # Check for fxotune.conf
      if [ -f /etc/fxotune.conf ]; then
        TAR_FILES="$TAR_FILES /etc/fxotune.conf*"
      fi
    
      # Check for misdn-init.conf
      if [ -f /etc/misdn-init.conf ]; then
        TAR_FILES="$TAR_FILES /etc/misdn-init.conf*"
      fi
    
      # Check for digiuminfo.txt
      if [ -f $HOME/$OUTPUT_FILE ]; then
        TAR_FILES="$TAR_FILES $OUTPUT_FILE"
      fi
    
      # Check for asterisk listing
      if [ -f $VAR_LIB_LIST ]; then
        TAR_FILES="$TAR_FILES $VAR_LIB_LIST_FILE"
      fi
    
      # Collect System Log Files
      if [ -f /var/log/dmesg ]; then
        TAR_FILES="$TAR_FILES /var/log/dmesg"
      fi
      if [ -f /var/log/messages ]; then
        TAR_FILES="$TAR_FILES /var/log/messages"
      fi
      if [ -f /var/log/syslog ]; then
        TAR_FILES="$TAR_FILES /var/log/syslog"
      fi
    
      [ -f $TARBALL_OUTPUT ] && rm -rf $TARBALL_OUTPUT
      [ -f $TARBALL_OUTPUT.gz ] && rm -rf $TARBALL_OUTPUT.gz
    
      echo "tarring: tar -chvf ${TARBALL_OUTPUT} $TAR_FILES"
      cd $HOME && tar -chvf $TARBALL_OUTPUT $TAR_FILES
      echo "gzipping $TARBALL_OUTPUT"
      gzip $TARBALL_OUTPUT
    }
    
    collect()
    {
      echo "This may take up to half a minute to run. Please be patient."
      collect_digiuminfo;
      collect_config_backup;
    
      # ensure the output was written
      if [ -f $TARBALL_OUTPUT.gz ]; then
        clear;
        echo;
        echo;
        echo "Tarball has been stored to:"
        echo "$TARBALL_OUTPUT.gz"
        echo "Please send this file to an email case you already"
        echo "have open with Digium Tech Support."
      else
        echo;
        echo;
        echo "An error has occurred in capturing information."
        echo "$TARBALL_OUTPUT.gz was not found."
        echo;
        echo "Please investigate your system, and send the output"
        echo "above to your Digium Technical Support Ticket."
      fi
    }
    
    clear;
    
    if [ $NONINTERACTIVE -eq 1 ]; then
      collect;
    else
      echo
      echo "This script will try to collect the following pieces of"
      echo "information from your system."
      echo
      echo "1. Information about your system such as:"
      echo "pci listing, dmesg, running processes, and kernel version"
      echo
      echo "2. A backup of elements of your configuration such as:"
      echo "asterisk config files, license files, loaded dahdi module"
      echo "parameters, and other asterisk/dahdi related files."
      echo
      echo "Collect this information [y/n] ? "
      read files;
    
      if [ "$files" = "y" ] || [ "$files" = "yes" ]; then
        collect;
      else
        clear;
        echo;
        echo "User selected not to continue."
      fi
    fi
    exit