skip to main content
Client Connection Process
To establish an initial connection, the end user must input the address of the ICE Server in the form of a URL, along with their username and password.
When a non-standard port is being used (i.e., values other than 443 for HTTPS or port 80 for HTTP), then the port must be explicitly provided in the URL (http://demo.instantconnectnow.com:9762). When HTTPS on port 443 is in use, the user need not enter a scheme or port; just the hostname (demo.instantconnectnow.com).
The client initiates the login process by performing an HTTP POST to the server address at the path /login (i.e, demo.instantconnectnow.com/login. The username and clear-text password is transmitted in the body of the request in query string format, along with the following headers:
*X-Client-DeviceID
An ICE-proprietary hardware device ID that’s used by the system to license the client.
*User-Agent
A string indicating the type of client (to indicate, for example, mobile or desktop).
*X-Client-Version
The software version of the connecting client.
If the user’s credentials are accepted by the ICE Server, then the response to the POST request will contain an authorization token that, from this point on, represents the user’s session identity. No further communication with the server involves the use of the user’s username or password.
Note: The authorization token is a string of random alphanumeric characters. It does not encode any information about the user or their password, and the token may be revoked at any time from the Settings > License page in ICE Desktop by clicking End Session next to the user’s name.
Using the authorization token provided in the response, the client then 'upgrades' the connection to a WebSocket (the details of which are defined by RFC-6455). Once the WebSocket connection has been established, the ICE Server sends an initial message to the client containing information about the client’s session. This data includes (among other things)
*Information about the API level of the sever.
*Cryptographic keys and activation codes to license the device.
*The connection addresses the client may use when reconnecting.
*Some initial information about the connected user’s profile.