Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

On this page

Table of Contents
minLevel1
maxLevel3
outlinefalse
stylenone
typelist
printablefalse
Note

This documentation is work in progress

📋 What’s about

Note

To use XCALLY Mobile App, it is necessary to configure your own push gateway by following these guidelines and when you create Mobile Agents in Staff Sectionyou will need to specify your Push Gateway Address (we'll see in this guide what settings to enter based on the scenario you choose)

The XCALLY Push Gateway, consists of 4 modules:

  • Stack SIP (Drachtio): the element that works as a “proxy” : Via SIP comes the registration from a mobile phone and the push gateway takes the register notification and sends it to XCALLY server, which responds to push gateway and push gateway responds to mobile (At this link https://drachtio.org/docs/drachtio-server you can view Drachtio official documentation)

  • Push Notification system: when the app is in the background, the call comes to XCALLY and it's necessary to resume the app to manage the call. So there is a notification system that contacts Apple Push Notification which sends a notification to the agent's mobile. Device receives the Push Notification and agent can manage the call

  • Redis Cache system used to keep in memory foreground and background devices

  • Redis Insight: cache dashboard to view what mobiles connected on database. By default dashboards are installed, so you can hook up your database, and if you have mobiles connected, you will see them on dashboard cache.

These 4 modules are run through the docker, so container where the application runs regardless of the operating system.
Since you need to run multiple containers, it’s possible to use docker compose: you define the containers to run (with their variables, ports...) and launching docker compose file (available below), the 4 modules will be executed automatically. So in next sections you can find instructions on how to launch the docker - compose file.yml file

📁 Configuration folders and scenarios

To configure the push gateway you have to download the following zip folderarchive, firstly choosing if you want to install the push gateway:

on another machine (our recommended choice)
Follow this documentation

image-20240905-160135.png

zip link to download

on the same XCALLY server
Follow this documentation

image-20240905-160651.pngzip link to download

So depending Moreover as transport protocol, you can decide if you want to use UDP/TCP or TLS protocol with secure certificate. Depending on your choice, you have to run the specific docker compose file and in the zip you will find 2 other folders:

  • conf for drachtio configuration in which you need to specify your public IP ?? aggiungere qualche dettaglio/screen

Info

You need to indicate the public IP of the server. You can retrieve it by launching the command curl https://ifconfig.me/ip
From the output you will be able to copy your IP (the string 11.222.33.444)

image (5)-20240906-072842.jpgImage Removed
  • SSL with 3 files in which you need to upload your certificates only if you want to use TLS protocol

need to download the relative archive.


▶️ Other common commands for the 2 scenarios

Info

These common commands are useful if you need to stop or restart containers or if you want to view logs, but obviosly you need firstly to follow the procedure related to the desired scenario and then use these commands only if necessary

🛑 How to stop the containers

To stop and remove the containers (preserving the data), run the following command in the same directory as the docker-compose.yml file:

Code Block
docker compose down

image-20240614-074359.png

This command will stop and remove all containers associated with the docker-compose.yml file.

Otherwise, to remove the whole stack (including data):

Code Block
docker compose down -v

image-20240614-074248.png

Instead, to remove the single container:

Code Block
docker compose down <service name>

image-20240614-074107.png


➡️ How to restart the container

Code Block
docker compose restart <service name>

<service name> is the name assigned within the docker-compose.yml e.g. service drachtio

image-20240614-073824.png

To recreate the single container:

Code Block
docker compose up <service name> -d

image-20240614-074154.png

👁️ How to view logs or status

To view container logs:

Code Block
docker logs <container name>

image-20240614-073850.png

To view container status:

Code Block
docker stats

image-20240614-073151.png

To access a container:

Code Block
docker exec -ti <container name> /bin/bash

To exit the container, type exit.

image-20240614-073957.png

🔄 How to update Push Gateway with a new Docker image version

When a new Docker image is available, it’s necessary to launch these commands, starting from the directory where docker-compose.yml file is located:

  • First of all you need to suspend the processes:

Code Block
docker compose down

  • Then you have to download the new Docker image:

Code Block
docker pull xcally/push-gateway

  • Finally you reactivate the processes:

Code Block
docker compose up -d