How to upgrade from Asterisk 1.4 to 1.6

When I try to install Asterisk 1.6 with the command :

yum install asterisk16 asterisk16-configs asterisk16-voicemail dahdi-linux dahdi-tools libpri

I have the errors :

Error: asterisk14-core conflicts with asterisk16-core
Error: asterisk16 conflicts with asterisk14
Error: asterisk16-core conflicts with asterisk14-core
Error: asterisk14 conflicts with asterisk16
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest

Do you know how to upgrade from 1.4 to 1.6 on CentOS 5.4?


The problem is that you can’t normally tell yum to install and remove packages simultaneously, in order to avoid dependency issues. But, there is a solution! yum has a ‘shell mode’, where multiple commands can be processed in a single transaction.

From a command line, run:

yum shell

This enters the shell mode of yum. Once in the shell, enter the following.

remove asterisk14-core asterisk14

install asterisk16 asterisk16-core

ts solve

ts run

At this point, the package list will be calculated, and you should be presented with the option to finish the transaction. If everything looks correct, hit ‘Y’ and let it complete. You can then ‘exit’ the shell mode. Congratulations! You’ve just successfully installed Asterisk 1.6.

Note: If you’ve installed them, you may see asterisk14-addons packages being removed. You can add the asterisk16-addons equivalents to the ‘remove’ and ‘install’ commands above, and they will also be upgraded.

original link:

I executed this procedure on a AsteriskNow 1.7 system which I upgraded to 2.8.1 from 2.7. The upgrade had no errors and neither did the Asterisk 1.6 upgrade from 1.4. I found a couple of issues.

  1. ASTVERSION never got updated in extensions_additional.conf and sip_general_additional.conf.

  2. The dial plan is now using deprecated application i.e. dial plan files are still 1.4 type.

  3. Certain contexts created via the GUI throw warnings that they cannot be found e.g.
    [Jul 28 15:34:19] VERBOSE[19834] pbx.c: – Including context ‘app-cf-unavailable-off-custom’ in context ‘app-cf-unavailable-off’
    [Jul 28 15:34:19] WARNING[19834] pbx.c: Context ‘app-cf-unavailable-off’ tries to include nonexistent context ‘app-cf-unavailable-off-custom’

The NET result is that the system could dial extensions or about until I updated the ASTVERSION variable to from 1.4.33. In the dial plan I’m still seeing message like following:

– Executing [[email protected]:2] ExecIf(“DAHDI/1-1”, “1 ,Set,CALLERID(name)=”) in new stack
[Jul 29 09:20:23] WARNING[25535]: app_exec.c:222 execif_exec: Deprecated syntax found. Please upgrade to using ExecIf(?Set(CALLERID(name)=))

So my question is did I fail to do something during the upgrade process or does the dialplan itself not get clean up and requires manual updating?