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-16
    • mv /etc/zaptel.conf /etc/zaptel.backup
    • cp -n /opt/enswitch/current/install/etc/asterisk/chan_dahdi.conf /etc/asterisk
  2. If using G.729, do:
    • enswitch install -u g729-16
  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. On the Enswitch web interface, under System » Configuration, set "Asterisk version" to "1.6".
  15. Reboot the Asterisk machine.
  16. Test calls.

If configuring parking to be done within Enswitch rather than Asterisk (not currently recommended)

  1. If you haven't already done so, upgrade Asterisk to 1.6 as above. Parking within Enswitch does not work with Asterisk 1.4 or below.
  2. On the Enswitch web interface, under System » Configuration, set "Enable per-customer parking" to yes.
  3. Edit /etc/asterisk/features.conf, add "parkeddynamic = yes" to the [general] section, and change parkext to something that will never be entered by users such as "AAAA".
  4. Do:
    • asterisk -rx 'module reload'
  5. Wait until 1 minute has passed since doing step 2 above to allow the configuration to be updated and the "Park call" destination to appear on the web.
  6. On the Enswitch web interface, make a new feature code *7 going to "Park call". Make sure this feature code may be used by any customer on the system.
  7. On the Enswitch web interface, make feature codes 701, 702, and so on to 720 going to "Parking slot". Make sure these feature codes may be used by any customer on the system.
  8. Test parking.