I'd recommend stopping Apache, Asterisk, the callback daemon and your cron daemon for the duration of the upgrade.
1) PHP 4 and MySQL 4 are no longer supported for A2Billing v1.3.1 and later. Ensure you're running PHP >=5, and either MySQL >=5 or Postgres >=8.
2) Copy your old a2billing.conf to a safe place. Copy the new a2billing.conf to /etc/asterisk and redo any changes you made from defaults. Alternatively, if you're careful, you might be able to merge the changes into your old config file by consulting the Subversion repository's
history of a2billing.conf. Whichever method you choose you must merge any changes to the default [agi-conf1] section to all the [agi-confX] sections in your configuration. Here are the differences in a2billing.conf between versions:
1.3.0beta->1.3.0,
1.3.0->1.3.1,
1.3.1->1.3.2, and
1.3.2->1.3.3.
3) Upgrade the schema using the files in the Database folder. This is done using almost exactly the same command described in the installation guide to originally install the schema. You just need to swap the filename for 'UPDATE-a2billing-v1.3.0-to-v1.3.1-{pg|my}sql.sql'. If you're upgrading from v1.2.3 obviously you should run the 1.2.3-to-1.3.0 schema update first. When upgrading from v1.3.1 to v1.3.2 there are no database changes to make. When upgrading to v1.3.3 MySQL requires an update, but Postgres does not.
4) Recursively copy the contents A2Billing_UI, A2Billing_AGI and A2BCustomer_UI folder to their correct locations, and ensure good permissions are set. Do the same for the sounds and reinstall the callback daemon. This should be exactly as described in the installation guide.
5) If you upgraded from v1.2.3 and have SIP/IAX friends you also need to run this script once: Database/Update_Fix_data/UPDATE-v1.2.3-to-v1.3.0-fixups.pl
I
think that covers it all.
(PS Areski himself posted
some instructions for the v1.3.2 -> v1.3.3 upgrade.)