docs: def call(self, service, method, *args, **kwargs):
          """Make a SoftLayer API call.
  
          :param method: the method to call on the service
          :param \\*args: (optional) arguments for the remote call
          :param id: (optional) id for the resource
          :param mask: (optional) object mask
          :param dict filter: (optional) filter dict
          :param dict headers: (optional) optional XML-RPC headers
          :param boolean compress: (optional) Enable/Disable HTTP compression
          :param dict raw_headers: (optional) HTTP transport headers
          :param int limit: (optional) return at most this many results
          :param int offset: (optional) offset results by this many
          :param boolean iter: (optional) if True, returns a generator with the
                               results
          :param bool verify: verify SSL cert
          :param cert: client certificate path
  
          Usage:
              >>> import SoftLayer
              >>> client = SoftLayer.create_client_from_env()
              >>> client.call('Account', 'getVirtualGuests', mask="id", limit=10)
              [...]
  
          """
          if kwargs.pop('iter', False):
              # Most of the codebase assumes a non-generator will be returned, so casting to list
              # keeps those sections working
              return list(self.iter_call(service, method, *args, **kwargs))
  
          invalid_kwargs = set(kwargs.keys()) - VALID_CALL_ARGS
          if invalid_kwargs:
              raise TypeError(
                  'Invalid keyword arguments: %s' % ','.join(invalid_kwargs))
  
          if self._prefix and not service.startswith(self._prefix):
              service = self._prefix + service
  
          http_headers = {'Accept': '*/*'}
  
          if kwargs.get('compress', True):
              http_headers['Accept-Encoding'] = 'gzip, deflate, compress'
          else:
              http_headers['Accept-Encoding'] = None
  
          if kwargs.get('raw_headers'):
              http_headers.update(kwargs.get('raw_headers'))
  
          request = transports.Request()
          request.service = service
          request.method = method
          request.args = args
          request.transport_headers = http_headers
          request.identifier = kwargs.get('id')
          request.mask = kwargs.get('mask')
          request.filter = kwargs.get('filter')
          request.limit = kwargs.get('limit')
          request.offset = kwargs.get('offset')
          if kwargs.get('verify') is not None:
              request.verify = kwargs.get('verify')
  
          if self.auth:
              extra_headers = self.auth.get_headers()
              if extra_headers:
                  warnings.warn("auth.get_headers() is deprecated and will be "
                                "removed in the next major version",
                                DeprecationWarning)
                  request.headers.update(extra_headers)
  
              request = self.auth.get_request(request)
  
          request.headers.update(kwargs.get('headers', {}))
          return self.transport(request)