def servers(self, server='api.telldus.com', port=http.HTTPS_PORT):
        """Fetch list of servers that can be connected to.

        :return: list of (address, port) tuples
        """
        logging.debug("Fetching server list from %s:%d", server, port)

        conn = http.HTTPSConnection(server, port, context=self.ssl_context())
        conn.request('GET', "/server/assign?protocolVersion=2")

        response = conn.getresponse()
        if response.status != http.OK:
            raise RuntimeError("Could not connect to {}:{}: {} {}".format(
                server, port, response.status, response.reason))

        servers = []

        def extract_servers(name, attributes):
            if name == "server":
                servers.append((attributes['address'],
                                int(attributes['port'])))

        parser = expat.ParserCreate()
        parser.StartElementHandler = extract_servers
        parser.ParseFile(response)

        logging.debug("Found %d available servers", len(servers))
        return servers
Fetch list of servers that can be connected to.

        :return: list of (address, port) tuples