On this page |
|
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)
IMMAGINE
→ Follow this documentationLINK ZIP DA SCARICARE
So 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 IP ?? aggiungere qualche dettaglio/screen
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
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 |
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 |
Instead, to remove the single container:
Code Block |
---|
docker compose down <service name> |
➡️ 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
To recreate the single container:
Code Block |
---|
docker compose up <service name> -d |
👁️ How to view logs or status
To view container logs:
Code Block |
---|
docker logs <container name> |
To view container status:
Code Block |
---|
docker stats |
To access a container:
Code Block |
---|
docker exec -ti <container name> /bin/bash |
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:
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 |