On this page |
\uD83D\uDCCB What is a Push Gateway?
XCALLY Push Gateway generates push notifications when XCALLY App is in background and it is necessary to advise agents about incoming calls to handle.
In this page you can see how push gateway works, while /wiki/spaces/XM/pages/2453340240 you can explore how to configure your own push gateway.
Requirements
☑️ For XCALLY App, you can use iOS devices (by downloading app from Apple Store) or Android devices (now in Beta Test)
☑️ On XCALLY Firewall you must enable the incoming (IN) port 5060 (UDP). And you need to configure your own push gateway (by installing push gateway and stack SIP on the same server through docker - guidelines /wiki/spaces/XM/pages/2453340240).
☑️ For Voice channel, to allow the voice connection, it is necessary to open RTP ports (according to the provider).
💡 How XCALLY Push Gateway works?
XCALLY Push Gateway works as push gateway and as a SIP Proxy which acts like a filter to accept just specific requests opening certain ports to agents registered to XCALLY machine. In this way, security can be guaranteed.
When a new call arrives, it’s necessary to know if the agent’s App is in foreground or background.
⚙️ Mobile App in foreground
This scenario shows you the steps of gateway operation if agent has XCALLY app in foreground and he receives a new incoming call.
To verify if the agent is active, push gateway sends a ping to the Mobile App. If the app is in foreground, it sends a pong to confirm active status
A new incoming call arrives to XCALLY (and generally XCALLY server sends the call to the specific agent, but in this case there is the Push Gateway). So XCALLY Push Gateway receives the request from XCALLY server
XCALLY Push Gateway redirects the call to the agent who manages the call (in this process, the Push notification does not get involved)
⚙️ Mobile App in background
To verify if the agent is active, push gateway sends a ping to Mobile App and when the app is in background the XCALLY Push Gateway does not receive a pong from the Mobile App. This information remains saved in cache. If a new call arrives it is necessary to resume the App by sending a push notification, as reported in the panel below. If the agent answers to the notification, the Mobile App goes automatically in foreground. Let’s see how:
This scenario shows you the steps of Push Gateway operation if agent has XCALLY app in background.
A new incoming call arrives to XCALLY (and generally XCALLY server sends the call to the specific agent, but in this case there is the Push Gateway). So XCALLY Push Gateway receives the request from XCALLY server
XCALLY Push Gateway recognizes that the App is in background, therefore, it sends a push request to the Apple Push server
Apple server will forward the Push notification (VoIP type) to the App mobile of the relative agent to advise about the incoming call (app stays listening for possible push notifications)
With VoIP notifications, it’s possible to answer the call even if the app is in background and e.g. agent has locked the phone. In this way app is resumed, and it returns to foreground (you can see below screenshots about it).
So device receives the notification and agent accepts it: in this way, app mobile passes to foreground statusIn this way, XCALLY Push Gateway, which was waiting for forwarding the call, can now send the request of new incoming call to the agent
Example of iOS Push Notification
PN with locked phone → agent can slide to answer and manage the call
PN with background app → agent can accept or decline the call
When agent starts the call he can click on XCALLY button to open app or he can directly use speaker or keypad, set mute option or end the call