To upgrade from Asterisk 1.4 to 1.6

  1. Do:
    • ls -l /usr/lib/asterisk/modules/codec_g729* # To check if G.729 is in use.
    • mv /usr/lib/asterisk/modules /usr/lib/asterisk/modules-1.4
    • enswitch install -u asterisk-162
    • mv /etc/zaptel.conf /etc/zaptel.backup
    • ls -l /etc/asterisk/chan_dahdi.conf # Ignore next step if it already exists.
    • cp /opt/enswitch/current/install/etc/asterisk/chan_dahdi.conf /etc/asterisk # Only if it doesn't exist.
  2. If using G.729, do:
    • enswitch install -u g729-162
  3. Edit /etc/rc.modules or /etc/modules (depending on Linux distribution), and remove any Zaptel-specific modules that are not needed by DAHDI. "zaptel" and "ztdummy" are the most common.
  4. Edit /etc/asterisk/asterisk.conf, and ensure that this line exists under [compat], making [compat] at the top of the file if necessary:
    res_agi = 1.6
  5. Edit /etc/asterisk/musiconhold.conf, and ensure that this line exists under [general], making [general] at the top of the file if necessary:
    cachertclasses = no
  6. Edit /etc/asterisk/extconfig.conf, and ensure that this line exists under [settings]:
    musiconhold => mysql,enswitch,musiconhold
  7. Edit /etc/asterisk/res_mysql.conf, and change "[general]" to "[enswitch]".
  8. Edit /etc/asterisk/extensions.conf, replace any mentions of "DeadAGI" with "AGI", and replace "extensions_enswitch.conf" with "extensions_enswitch_16.conf".
  9. Edit /etc/asterisk/manager.conf, and ensure that these lines exist for [enswitch]:
    read = agent,call,cdr,command,config,dialplan,dtmf,log,originate,reporting,system,user,verbose
    write = agent,call,cdr,command,config,dialplan,dtmf,log,originate,reporting,system,user,verbose
  10. Edit /etc/asterisk/features.conf, and add this line under [general]:
    comebacktoorigin = no
    then change parkext to something impossible such as "AAAAAA".
  11. If allowing parked calls to return to the parking telephone, edit /etc/asterisk/features.conf and change parkingtime to the desired timeout in seconds.
  12. Edit /etc/asterisk/iax.conf, and add these lines under [general]:
    requirecalltoken = no
    calltokenoptional = 127.0.0.1/255.255.255.255
  13. Edit /etc/asterisk/iax.conf and /etc/asterisk/sip.conf, and add "allow = g722" with the other codecs.
  14. If all machines in the cluster are running 1.6, then on the Enswitch web interface, under System » Configuration, set "Asterisk version" to "1.6". Otherwise create a /etc/enswitch/local.conf file containing a line "asterisk_version = 1.6".
  15. Reboot the Asterisk machine.
  16. Test calls.