def obtener_sip_agentes_sesiones_activas(): # TODO: Controlar cantidad de conexiones a Asterisk con AMIManagerConnector agentes_activos_service = SupervisorActivityAmiManager() agentes = list(agentes_activos_service.obtener_agentes_activos()) sips_agentes = [] for agente in agentes: if agente['status'] != 'OFFLINE': sips_agentes.append(int(agente['sip'])) return sips_agentes
def get(self, request): online = [] agentes_parseados = SupervisorActivityAmiManager() ids_agentes_propios = self._obtener_ids_agentes_propios(request) for data_agente in agentes_parseados.obtener_agentes_activos(): id_agente = int(data_agente.get('id', -1)) status_agente = data_agente.get('status', '') if status_agente != 'OFFLINE' and id_agente in ids_agentes_propios: online.append(data_agente) return Response(data=online)
def get(self, request): online = [] agentes_parseados = SupervisorActivityAmiManager() agentes_dict = self._obtener_ids_agentes_propios(request) for data_agente in agentes_parseados.obtener_agentes_activos(): id_agente = int(data_agente.get('id', -1)) status_agente = data_agente.get('status', '') if status_agente != 'OFFLINE' and str(id_agente) in agentes_dict: agente_dict = agentes_dict.get(str(id_agente), '') grupo_activo = agente_dict.get('grupo', '') campanas_activas = agente_dict.get('campana', []) data_agente['grupo'] = grupo_activo data_agente['campana'] = campanas_activas online.append(data_agente) return Response(data=online)
def get(self, request): online = [] agentes_parseados = SupervisorActivityAmiManager() agentes_dict = self._obtener_ids_agentes_propios(request) for data_agente in agentes_parseados.obtener_agentes_activos(): id_agente = int(data_agente.get('id', -1)) status_agente = data_agente.get('status', '') if status_agente != 'OFFLINE' and id_agente in agentes_dict: agente = agentes_dict.get(id_agente, '') grupo_activo = agente.grupo.nombre campanas_activas = agente.queue_set.values_list( 'campana__nombre', flat=True) data_agente['grupo'] = grupo_activo data_agente['campana'] = campanas_activas online.append(data_agente) return Response(data=online)