Update Accent Conversion For Asterisk
Use this workflow when Arctan provides a newer package for the same supported operating system, architecture, and Asterisk major version. Customer updates are delivered through the Debian package.
1. Prepare The Maintenance Window
Arctan updates replace the installed package and module files. The package update can preserve /etc/asterisk/arctan-vi-asterisk.conf so the customer does not need to re-enter the SDK key and endpoint policy.
Before the update, confirm that active calls have drained:
sudo asterisk -rx "arctan vi show" | grep -E 'active_hooks|processor.status|license.state'
sudo asterisk -rx "arctan vi sessions" | tail -n 10Continue only when active_hooks is 0. If calls are still active, wait and run the check again.
2. Download And Verify The New Package
Arctan support provides the distribution token and target package version. Download the package and verify the checksum before replacing the installed module. The latest version in this guide is generated by the target selector.
export ARCTAN_TARGET_VERSION="0.4.0"
export ARCTAN_INSTALLED_PACKAGE="arctan-accent-asterisk"
export ARCTAN_PACKAGE="arctan-accent-asterisk_0.4.0-1_amd64"
# Obtain ${ARCTAN_PACKAGE}.zip from the secure download link supplied by
# Arctan support for this exact operating system and Asterisk version.
unzip -o "${ARCTAN_PACKAGE}.zip"
cd "${ARCTAN_PACKAGE}"
sha256sum -c "${ARCTAN_PACKAGE}.deb.sha256"3. Unload The Module, Remove The Old Package, And Install The New Package
Unload the currently loaded module before replacing package files. Then remove the currently installed package without purging it. This removes the previous module and package files while keeping the existing config file in place.
sudo asterisk -rx "module unload arctan-vi-asterisk.so"
sudo apt remove -y "${ARCTAN_INSTALLED_PACKAGE}"
sudo apt install "./${ARCTAN_PACKAGE}.deb"If the module unload is refused, restart the service boundary first, then rerun the remove and install commands:
sudo systemctl restart asterisk
sudo asterisk -rx "core waitfullybooted"4. Rebuild Locally If Verify Requires It
If this PBX runs a custom or source-built Asterisk, the package may need to rebuild the module against the local headers before it can load cleanly.
sudo arctan-vi-asterisk-setup verifyIf verification reports a build-option or header mismatch:
sudo arctan-vi-asterisk-setup build-module
sudo arctan-vi-asterisk-setup verify5. Load The Updated Module
sudo asterisk -rx "module load arctan-vi-asterisk.so"
sudo asterisk -rx "arctan vi reload"If the module load is refused, restart Asterisk during the maintenance window:
sudo systemctl restart asterisk
sudo asterisk -rx "core waitfullybooted"6. Validate The Update
sudo arctan-vi-asterisk-setup verify
sudo asterisk -rx "arctan vi show" | grep -E 'arctan-vi-asterisk module|processing.vi_mode|processor.status|processing.output_gain|license.state|license.model|agent_policy.effective_allowed_channel_prefixes|active_hooks|processor_errors'
sudo asterisk -rx "arctan vi license show"Re-run one real test call after the update and confirm hooks_attached, voice_read_noop_processed, and processor_frames_processed increment whileprocessor_errors stays at 0.
Confirm processing.vi_mode still reports accent after the update. The product mode and model assignment are backend-managed and should not be added to the customer configuration file.
Rollback
Rollback uses the same maintenance-window process with the previous package. It should not require re-entering the SDK key because the local config is preserved across normal package updates.
sudo asterisk -rx "module unload arctan-vi-asterisk.so"
sudo apt remove -y arctan-accent-asterisk
sudo apt install ./arctan-accent-asterisk_<previous-version>-1_amd64.debsudo systemctl restart asterisk
sudo asterisk -rx "core waitfullybooted"sudo arctan-vi-asterisk-setup verify
# If verify reports a local Asterisk build mismatch:
sudo arctan-vi-asterisk-setup build-module
sudo arctan-vi-asterisk-setup verifyUninstall
Remove the package, config, and Arctan files:
sudo arctan-vi-asterisk-setup uninstall --purgeFor non-interactive uninstall:
sudo arctan-vi-asterisk-setup uninstall --purge --yesThe command refuses to run while active module sessions are present unless --force is passed.