code: def get_user_access(self, uid, channel=None):
          
          # user access available during call-in or callback direct connection
          if channel is None:
              channel = self.get_network_channel()
          data = [channel, uid]
          response = self.raw_command(netfn=0x06, command=0x44, data=data)
          if 'error' in response:
              raise Exception(response['error'])
          data = response['data']
          if len(data) != 4:
              raise Exception('expecting 4 data bytes')
          r = {'channel_info': {}, 'access': {}}
          r['channel_info']['max_user_count'] = data[0]
          r['channel_info']['enabled_users'] = data[1] & 0b00111111
          r['channel_info']['users_with_fixed_names'] = data[2] & 0b00111111
          r['access']['callback'] = (data[3] & 0b01000000) != 0
          r['access']['link_auth'] = (data[3] & 0b00100000) != 0
          r['access']['ipmi_msg'] = (data[3] & 0b00010000) != 0
          privilege_levels = {
              0: 'reserved',
              1: 'callback',
              2: 'user',
              3: 'operator',
              4: 'administrator',
              5: 'proprietary',
              0x0F: 'no_access'
          }
          r['access']['privilege_level'] = privilege_levels[data[3] & 0b00001111]
          return r
docs: Get user access
  
          :param uid: user number [1:16]
          :param channel: number [1:7]
  
          :return:
          channel_info:
              max_user_count = maximum number of user IDs on this channel
              enabled_users = count of User ID slots presently in use
              users_with_fixed_names = count of user IDs with fixed names
  
          access:
              callback
              link_auth
              ipmi_msg
              privilege_level: [reserved, callback, user,
                                operatorm administrator, proprietary, no_access]