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
iracpa:
Required only if the site needs web socket API to stream media to IraCPA engine
and get CPA results. This sets up:
- IraCPA with web socket interface
NOTE:
- iracpa is required when you also need the web socket interface for streaming media for CPA analysis.
- If a site only needs the CPA web socket interface and does not need to handle dialing and calls, Just install irabase and iracpa.
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 IraCpa and 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 IraCpa.
|
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 iracpa 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.