コード例 #1
0
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
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
 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)