IMPORTANT
This document explains the process for installing iradialer versions 1.4.x and newer.
For instructions on installing 1.3.x, please click here
If you are upgrading from 1.3.x to 1.4.x, it is recommended that you first uninstall 1.3.x by following the instructions provided here
The Epicode releases for Debian consist of multiple deb packages. They are as follows:
ira-apt-config: Only for servers with internet access. This adds the freeswitch repo URL to the Debian source list. So that required dependencies can be pulled from the freeswitch repository.
ira-create-local-repo: For servers without internet access. This contains the deb packages for all the dependencies required. It will copy them to the machine and configure a local repository so that apt-get will pull dependencies from the local repo.
irabase: Required for all sites. This contains Epicode interprocess messaging framework and licensing framework. This sets up:
- Redis server or stunnel based on the option chosen during installation
- TxHive
- IraPass for cloud or node licensing
iradialer-light: Required only if the site needs iradialer APIs. This sets up:
- Freeswitch with iradialer module for calling and CPA
- iradialerweb for HTTP APIs
NOTE:
- iradialer-light deb has CPA functionality built in. You can use the CPA via dialer APIs without having to install iracpa. Just install irabase and iradialer-light.
- If a site only needs the CPA web socket interface and does not need to handle dialing and calls, you need not install iradialer-light. Just install irabase and iracpa.
HA Setup
In case of HA Setup, to upgrade the Iradialer we need to follow below steps in same sequence, to avoid issues:
- Stop all ira services on both servers 1a & 1b.
- Install/Upgrade IraDialer on 1a and check if the installation/upgradation went through smoothly.
- Install/Upgrade IraDialer on 1b and check if it went through smoothly.
Step 1: Download the latest debs
Download the latest debs from the shared Google
drive folder below:
https://drive.google.com/drive/u/0/folders/10BBg7f4Dvp09tuhfhYslfU4P-eDi0ygb
Step 2: Setup prerequisites
Server with Internet
Ensure that the urls for official debian repo are not commented out in the source list.
|
If there are no urls here or all the lines are commented out, edit the file. The content should look similar to what is shown below.
|
Run the latest version of the deb package ira-apt-config. This will prepare the server to securely download the dependencies required by IraDialer over the internet.
|
Server without Internet
Since the server does not have internet, comment out the urls to the online repositories in the sources list.
|
sudo nano /etc/apt/sources.list |
Comment out all the lines in the file by prepending each line with a hash (#) character. Save it and exit. The content should now be something like below.
|
Run the latest version of the deb package ira-create-local-repo. This will create a local repo with all the dependencies which will be installed while installing IraDialer.
|
sudo apt install ./ira-create-local-repo_1.1.0-2.deb |
Step 3: apt-get update
Make sure to run the command below after installing one of the above deb packages.
|
sudo apt-get update |
Step 4: serverdetails.json
Ensure that the file /AEC/serverdetails.json exists and is of the format shown below.
|
Refer the article for more details on serverdetails.json:
Step 5: Install the debs
First install irabase and follow the prompts (During future updations, this step only needs to be performed if a new version of irabase is available)
|
sudo apt install ./irabase_1.0.1-3.deb |
Next install the iradialer-light in the same way.
|
sudo apt install ./<package_name>.deb |
Fixes for known issues
During installation of irabase, if you choose to install and use local redis server, then it is possible that the setup might end with the message below:
This means that the redis-server was unable to start, most likely due to a port conflict. This usually happens when the stunnel process is running and is binding to the same port.
Run the command:
|
sudo /opt/epi/script/kill_stunnel_process.sh |
If the stunnel process was running, and it is killed by the script it would print “stunnel running. Stopping it”. If it does this, you should now be able to restart redis-server and resume operation.
|
sudo service redis-server restart |
Check the redis-server status to ensure that it is running.
|
sudo service redis-server status |
If the stunnel process was not running, the script would print “stunnel is not running”. This means that the cause for redis-server failing to start is not the port conflict. This is usually resolved by rebooting the server.
FAQs
How do I know if the site is using local redis or cloud redis?
Check the value for redis_endpoint in /AEC/serverdetails.json. If it is localhost, that means it is set to use local redis, else it is set to use cloud redis.
Also check the service status of “redis-server” and “redistunnel” by running:
|
sudo service <service_name> status |
For local redis, redis-server should be running and redistunnel should be inactive.
For cloud redis, redis-server should be inactive and redistunnel should be running.
How do I know if the site is using node locked license or cloud license?
Open the file /opt/epi/conf/irapass.xml. In the tag “common_settings” look for the value of the attribute “node_locked”. If it is “Y” then it is using node locked licensing. If it is “N” then it is using cloud licensing.
How do I change a site from local redis to cloud redis or vice versa?
Update /AEC/serverdetails.json with the right redis endpoint and run the command:
|
sudo dpkg-reconfigure irabase |
Choose the right option in the prompt provided.
How do I change a site from using node locked licensing to cloud licensing?
Run the command:
|
sudo dpkg-reconfigure irabase |
Choose the right option in the prompt provided.
How do I change the proxy_web url or the HTTP proxy settings?
Open the file /opt/epi/conf/irapass.xml. In the tag “common_settings” set the values for proxy_web and/or HTTP proxy and then restart the irapass service.
|
sudo service irapass restart |
Make sure to check the latest irapass log to ensure that it has received the license. In a HA setup, only the senior IraPass will request and get the licenses from the cloud. The junior IraPass instances will just sync it from the senior IraPass.