Client Connections to ICE Server
ICE Desktop and ICE Mobile clients connect to the ICE Server by establishing a WebSocket over which they exchange messages with the server. This design provides for a fully reactive system: Clients do not have to ask (poll) the server to know if someone might be trying to call them or if they were recently added to a channel. Instead, they are told of such changes asynchronously and react to them immediately. While the ICE Server is not a traditional REST-based system, it does provide a facade for REST-style external access—more on that later.
Most deployments are configured to use SSL/HTTPS on port 443 to create a secure (encrypted) web socket, although ports and protocols are ultimately configurable through changes to the cluster's ingress controller. No technical limitation prevents ICE to be used over an unsecured connection, doing so is highly discouraged as passwords and other personal information are easily captured by hackers and eavesdroppers.