Azure WCF Relay
We make use of an Azure WCF Relay to create a secure communication channel between the WIN-911 Web API and the WIN-911 Mobile Module/Hub running in your network. The relay allows users to request alarms/reports and acknowledge alarms from mobile devices without the need for polling while maintaining an entirely outbound initiated architecture.
The flow of the connection is as follows:
WIN-911 Mobile Module/Hub connects to the relay service through an outbound port.
It creates a bi-directional socket for communication.
The WIN-911 Mobile Web API can then communicate with the on-premises WIN-911 Mobile Module/Hub by sending traffic to the relay service.
The relay service relays data to the on-premises WIN-911 Mobile Module/Hub through the bi-directional socket dedicated to the WIN-911 Mobile Web API.
If you do not block outbound traffic, you won't need to make firewall changes for the Azure Relay to function correctly. If you do block outbound traffic, you will need to allow outbound traffic to the relay service gateways, of which there are 64. The gateway IP addresses are not static; Microsoft states that 20% of the IPs will change over a month. Microsoft recommends whitelisting the domain names of the gateways, if possible.