### Asterisk Main Configuration File

Below is a sample of the main Asterisk configuration file, asterisk.conf. Note that this file is not provided in sample form, because the Makefile creates it when needed and does not touch it when it already exists.

-     [directories]
      ; Make sure these directories have the right permissions if not
      ; running Asterisk as root

      ; Where the configuration files (except for this one) are located
      astetcdir => /etc/asterisk

      ; Where the Asterisk loadable modules are located
      astmoddir => /usr/lib/asterisk/modules

      ; Where additional 'library' elements (scripts, etc.) are located
      astvarlibdir => /var/lib/asterisk

      ; Where AGI scripts/programs are located
      astagidir => /var/lib/asterisk/agi-bin

      ; Where spool directories are located
      ; Voicemail, monitor, dictation and other apps will create files here
      ; and outgoing call files (used with pbx_spool) must be placed here
      astspooldir => /var/spool/asterisk

      ; Where the Asterisk process ID (pid) file should be created
      astrundir => /var/run/asterisk

      ; Where the Asterisk log files should be created
      astlogdir => /var/log/asterisk

      [options]
      ;Under "options" you can enter configuration options
      ;that you also can set with command line options

      ; Verbosity level for logging (-v)
      verbose = 0

      ; Debug: "No" or value (1-4)
      debug = 3

      ; Background execution disabled (-f)
      nofork=yes | no

      ; Always background, even with -v or -d (-F)
      alwaysfork=yes | no

      ; Console mode (-c)
      console= yes | no

      ; Execute with high priority (-p)
      highpriority = yes | no

      ; Initialize crypto at startup (-i)
      initcrypto = yes | no

      ; Disable ANSI colors (-n)
      nocolor = yes | no

      ; Dump core on failure (-g)
      dumpcore = yes | no

      ; Run quietly (-q)
      quiet = yes | no

      ; Force timestamping in CLI verbose output (-T)
      timestamp = yes | no

      ; User to run asterisk as (-U) NOTE: will require changes to
      ; directory and device permissions
      runuser = asterisk

      ; Group to run asterisk as (-G)
      rungroup = asterisk

      ; Enable internal timing support (-I)
      internal_timing = yes | no

      ; Language Options
      documentation_language = en | es | ru

      ; These options have no command line equivalent

      ; Cache record() files in another directory until completion
      cache_record_files = yes | no
      record_cache_dir = <dir>

      ; Build transcode paths via SLINEAR
      transcode_via_sln = yes | no

      ; send SLINEAR silence while channel is being recorded
      transmit_silence_during_record = yes | no

      ; The maximum load average we accept calls for
      maxload = 1.0

      ; The maximum number of concurrent calls you want to allow
      maxcalls = 255

      ; Stop accepting calls when free memory falls below this amount specified in MB
      minmemfree = 256

      ; Allow #exec entries in configuration files
      execincludes = yes | no

      ; Don't over-inform the Asterisk sysadm, he's a guru
      dontwarn = yes | no

      ; System name. Used to prefix CDR uniqueid and to fill \${SYSTEMNAME}
      systemname = <a_string>

      ; Should language code be last component of sound file name or first?
      ; when off, sound files are searched as <path>/<lang>/<file>
      ; when on, sound files are search as <lang>/<path>/<file>
      ; (only affects relative paths for sound files)
      languageprefix = yes | no

      ; Locking mode for voicemail
      ;  - lockfile: default, for normal use
      ;  - flock: for where the lockfile locking method doesn't work
      ;           eh. on SMB/CIFS mounts
      lockmode = lockfile | flock

      ; Entity ID.  This is in the form of a MAC address.  It should be universally
      ; unique.  It must be unique between servers communicating with a protocol
      ; that uses this value.  The only thing that uses this currently is DUNDi,
      ; but other things will use it in the future.
      ; entityid=00:11:22:33:44:55

      [files]
      ; Changing the following lines may compromise your security
      ; Asterisk.ctl is the pipe that is used to connect the remote CLI
      ; (asterisk -r) to Asterisk. Changing these settings change the
      ; permissions and ownership of this file.
      ; The file is created when Asterisk starts, in the "astrundir" above.

      ;astctlpermissions = 0660
      ;astctlowner = root
      ;astctlgroup = asterisk
      ;astctl = asterisk.ctl