You are here: Infinity Connect > Administering Infinity Connect > Setting up DNS records

Setting up DNS records for Infinity Connect Mobile client and Infinity Connect desktop client use

To enable participants to connect to conferences within your deployment using the Infinity Connect desktop client or Infinity Connect Mobile client, you must provide a DNS lookup so that these clients know which host to contact. The host will typically be a reverse proxy (for deployments where Conferencing Nodes are located within a private network), but it can also be a public-facing Conferencing Node.

To enable access from these desktop and mobile clients, each domain used in aliases in your deployment must either have an SRV record for _pexapp._tcp.<domain>, or resolve directly to the IP address of a reverse proxy or a public-facing Conferencing Node.

The SRV records for _pexapp._tcp.<domain> should always reference port 443 on the host.

More information on the lookup process for the desktop client and mobile client is described below, along with an example.

(Note that the DNS SRV lookup does not apply to participants using the Infinity Connect Web App, because they connect to Conferencing Nodes or the reverse proxy directly, so no lookup is required.)

Ultimately it is the responsibility of your network administrator to set up SRV records correctly so that the Infinity Connect desktop client and Infinity Connect Mobile client know which system to connect to.

You can use the tool at http://dns.pexip.com to lookup and check SRV records for a domain.

Infinity Connect desktop client

The Infinity Connect desktop client (as of version 2.1 and later) may attempt several DNS lookups for different domains — based on the dialed alias and the client's configuration — until it is able to connect to a reverse proxy or Conferencing Node.

The domains on which the client will perform DNS lookups, and the order in which it will perform those lookups, is as follows:

  1. The domain portion, if specified, of the dialed Conference alias or URI.
  2. The serverAddress, if specified, in the client's application settings file (settings.js). This address is not configured in the default desktop client provided by Pexip, but an address could have been configured by using the Infinity Connect desktop client toolkit files to customize the client prior to installation.
  3. The Connection server address, if specified by the user, in the client Settings page.
  4. The Registration server address, if specified by the user, in the client Settings page. This address can either have been explicitly specified, or it may have been derived from the domain portion of the user name to be registered.

Note that in many environments, some of these addresses, when used, will often refer to the same domain.

For each domain, the client will first perform an SRV lookup on _pexapp._tcp.<domain>. If the SRV lookup fails, or the client fails to contact any of the hosts in the returned SRV records, it will then perform a DNS A‑record lookup for that same domain. If that A-record lookup is successful, it will attempt to connect to port 443 on the IP address returned from the lookup. If the client still fails to connect, it will move on to the next domain as specified in the list above. (The only exception is option 1, the dialed Conference alias or URI, where the client will perform an SRV lookup only.)

If multiple records are returned by an SRV lookup on _pexapp._tcp.<domain>, the client will attempt to contact each host in turn according to the priority of each returned record.

Infinity Connect Mobile client

The Infinity Connect Mobile client will perform a single SRV lookup on _pexapp._tcp.<domain>, where <domain> is determined as follows:

  • Android client: uses the Connection server address if specified, otherwise it uses the domain portion of the dialed conference address.
  • iOS client: uses the domain portion of the dialed conference address.

The client currently supports a single SRV record per domain. If multiple SRV records are returned by the SRV lookup on _pexapp._tcp.<domain>, the client will attempt to contact the first host in the list, which may or may not be the preferred host. If this attempt fails, no further attempts will be made to contact other hosts on the list.

If the Infinity Connect Mobile client cannot locate the host (i.e. reverse proxy or Conferencing Node) through DNS SRV discovery because either:

  • the SRV lookup on _pexapp._tcp.<domain> does not return any records, or
  • the client cannot contact the first host on the list that is returned in the SRV lookup

it will fall back to performing a DNS A‑record lookup for the domain in question. If successful, it will attempt to connect to port 443 on the IP address returned from this A‑record lookup.

Example

Assume that the following _pexapp._tcp.example.com DNS SRV records have been created:

_pexapp._tcp.example.com. 86400 IN SRV 10 100 443 proxy1.example.com.
_pexapp._tcp.example.com. 86400 IN SRV 20 100 443 proxy2.example.com.

These point to the DNS A‑records proxy1.example.com, port 443 (HTTPS), with a priority of 10 and a weight of 100, and proxy2.example.com, port 443, with a relatively lower priority of 20 and a weight of 100.

  • This tells the Infinity Connect desktop client to initially send its HTTP requests to host proxy1.example.com (our primary reverse proxy server) on TCP port 443. The desktop client will also try to use host proxy2.example.com (our fallback server) if it cannot contact proxy1.
  • The Infinity Connect Mobile client will send its HTTP requests either to proxy1.example.com or to proxy2.example.com, depending on the order of the returned SRV records. If it fails to contact the first host, it will not attempt to contact the second host address.

The connection logic in this example is explained in more detail below for each client. (Note that this section describes the operation of version 2.1 of the Infinity Connect desktop client; earlier versions of the desktop client operate in the same way as the Infinity Connect Mobile client.)

Infinity Connect desktop client

In this example, when a user attempts to access meet.alice@example.com, the Infinity Connect desktop client will attempt an SRV lookup on _pexapp._tcp.example.com:

  • If the SRV lookup succeeds, it will return the records shown above, and the Infinity Connect desktop client will attempt to contact proxy1.example.com (the record with the highest priority) on TCP port 443.

    If it cannot contact proxy1.example.com it will next try to contact proxy2.example.com.

  • If it fails to contact either host, or the SRV lookup fails, and neither a serverAddress, Connection server address nor a Registration server address have been specified, the desktop client will report that it has failed to contact a server.
  • If any of the serverAddress, Connection server address or a Registration server address have been specified, and are for a different domain to that of the dialed alias (example.com in this case) the Infinity Connect desktop client will perform SRV lookups on those other domains, and attempt to contact the hosts returned in those lookups. For example, if the Connection server address is localserver.example.com then it will perform an SRV lookup on _pexapp._tcp.localserver.example.com.
  • If each subsequent SRV lookup fails, or the returned hosts in those lookups cannot be contacted, the Infinity Connect desktop client will also attempt to connect directly to that domain, for example to http://localserver.example.com:443 (via DNS A-records for localserver.example.com).

Infinity Connect Mobile client

In this example, when a user attempts to access meet.alice@example.com, the Infinity Connect Mobile client will attempt an SRV lookup on _pexapp._tcp.example.com:

  • If the SRV lookup succeeds, it will return the records shown above, and the Infinity Connect Mobile client will attempt to contact the first host in the returned list on TCP port 443. Note that the addresses are returned in an arbitrary order and thus the first host may be either proxy1.example.com or proxy2.example.com.
  • If the SRV lookup fails, or it fails to contact the first host on the returned list, the Infinity Connect Mobile client will attempt to connect to http://example.com:443 (via DNS A-records for example.com).

(Note that for the Android client, this example assumes that a Connection server address is not configured on the client. If a connection server address is specified, it would be used instead of the domain portion of the dialed conference address i.e. example.com in this case.)