Setup your own Push Gateway

This documentation is work in progress

 

What’s about

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 Section you 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.

Configuration folders and scenarios

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

on another machine (our recommended choice)
Follow this documentation

image-20240905-160135.png

 

on the same XCALLY server
Follow this documentation

image-20240905-160651.png

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 will need to download the relative archive.


Other common commands for the 2 scenarios

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:

docker compose down

 

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

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

docker compose down -v

 

Instead, to remove the single container:

docker compose down <service name>

 


How to restart the container

 

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

To recreate the single container:

 

How to view logs or status

To view container logs:

 

To view container status:

 

To access a container:

To exit the container, type exit.

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:

 

  • Then you have to download the new Docker image:

 

  • Finally you reactivate the processes: