Installing IraDialer Version 2 in Debian12

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:

  1. ira-dependency-repo: Contains the required dependencies. This will configure a local repository so that apt-get can fetch the required dependencies.

  2. 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:


    {
     "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

    1. 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/.

    2. Check the status of Iraswitch to ensure that it is properly running:

    sudo systemctl status iraswitch.service

    3. Check the status of ira-system-monitor to ensure that it is properly running.

    sudo systemctl status ira-system-monitor.service