Installation Manual for IraDialer Version 2 (Debian 12)
This document explains the process for installing IraDialer version 2 and newer on servers running Debian 12 OS,
Components to Install:
ira-dependency-repo: Contains the required dependencies. This will configure a local repository so that apt-get can fetch the required dependencies.
iradialer: Contains the core components for dialer APIs, which include:
Freeswitch with the IraDialer module for calling.
iradialerweb for HTTP APIs.
IraEventDispatcher for notifying the webhook URL.
irabase: IraBase: Required for all sites, this package includes a validation script for configuration files and a CDR uploader.
Steps for Installation:
Step 1: Download the Latest Deb Packages
Download the latest deb packages from the shared Google Drive folder:
https://drive.google.com/drive/folders/1P3MTurB4mgygLBg00pyXPLYkIJ7iDKCh?usp=sharing
Step 2: Set Up Prerequisites
Install the ira-dependency-repo package to configure a local repository for dependencies.
sudo apt install ./ira-dependency-repo_1.5.1-0.deb |
Step 3: Update Package Lists
Run the following command to update the package lists, ensuring that the system is aware of the new repository:
sudo apt-get update |
Step 4: Configure Server Details
Ensure that the file /AEC/serverdetails.json exists and follows the correct format, as shown below. This file contains the schema for the server..
format:
|
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"cluster_id": {"type": "string", "minLength": 2, "maxLength": 30},
"nats_url": {"type": "string", "minLength": 5},
"nats_public_key": {"type": "string", "minLength": 5},
"nats_seed_key": {"type": "string", "minLength": 5},
"sys_nats_public_key": {"type": "string", "minLength": 5},
"sys_nats_seed_key": {"type": "string", "minLength": 5},
"cpa_server": {"type": "string", "minLength": 5},
"cpa_port": {"type": "string", "minLength": 2},
"native_load_balance": {"type": "string", "enum": ["true", "false"]},
"log_retention": {"type": "integer"},
"external_ip": {"type": "string", "minLength": 7},
"gateways": {
"type": "array",
"items": [{
"type": "object",
"properties": {
"name": {"type": "string", "minLength": 2, "maxLength": 30},
"username": {"type": "string", "minLength": 2, "maxLength": 30},
"password": {"type": "string", "minLength": 2, "maxLength": 30},
"realm": {"type": "string", "minLength": 2},
"From-user": {"type": "string", "minLength": 2},
"From-domain": {"type": "string", "minLength": 2},
"proxy": {"type": "string", "minLength": 2},
"transport": {"type": "string", "enum": ["udp", "tcp", "tls"]},
"enable_srtp": {"type": "string", "minLength": 4}
},
"required": ["name", "username", "password", "realm", "From-user"]
}]
}
},
"required": ["cluster_id", "nats_url", "nats_public_key", "nats_seed_key"]
}
|
For an HA setup add the other machine NATS IP in the nats_url param as and cpa_server as follows
"nats_url": "nats://<server1-IP>:4222,nats://<Server2-IP>:4222" |
"cpa_server": "127.0.0.1" |
Referring to the above schema prepare the serverdetails.json
Note:Place the modified serverdetails.json in the /AEC/ folder directory |
Step 5: Install Irabase and IraDialer
You can now install the Irabase using
sudo apt install ./irabase_2.4.2-0.deb |
if you run into any ntpsec or systemd-timesyncd error when installing irabase then run the command
sudo apt-get remove ntpsec systemd-timesyncd |
Now you should be able to install irabase deb.
You can then install IraDialer (this will also install the required dependencies automatically).
Install IraDialer (2.2.1-0):
sudo apt install ./iradialer_2.2.1-0.deb |
Step 6: Verify the Installation
After the installation completes successfully, check the logs for all components to ensure that there are no errors.
Logs can be found in /var/log/epi/.Check the status of Iraswitch to ensure that it is properly running:
sudo systemctl status iraswitch.service |
sudo systemctl status ira-system-monitor.service |