<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def session_info(consul_url=None, token=None, session=None, **kwargs):
    '''
    Information about a session

    :param consul_url: The Consul server URL.
    :param session: The ID of the session to return information about.
    :param dc: By default, the datacenter of the agent is queried;
               however, the dc can be provided using the "dc" parameter.
    :return: Boolean & message of success or failure.

    CLI Example:

    .. code-block:: bash

        salt '*' consul.session_info session='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'

    '''
    ret = {}
    if not consul_url:
        consul_url = _get_config()
        if not consul_url:
            log.error('No Consul URL found.')
            ret['message'] = 'No Consul URL found.'
            ret['res'] = False
            return ret

    if not session:
        raise SaltInvocationError('Required argument "session" is missing.')

    query_params = {}

    if 'dc' in kwargs:
        query_params['dc'] = kwargs['dc']

    function = 'session/info/{0}'.format(session)
    ret = _query(consul_url=consul_url,
                 function=function,
                 token=token,
                 query_params=query_params)
    return ret