def _insert_queue_asterisk(self, queue):
     """ Sincronizar informacion de Campaña / Queue """
     activacion_queue_service = ActivacionQueueService()
     try:
         activacion_queue_service.activar()
     except RestablecerDialplanError:
         raise
Exemplo n.º 2
0
    def delete(self, request, *args, **kwargs):
        self.object = self.get_object()

        # realizamos la eliminacion de la queue
        self.object.remover()
        # actualizamos el archivo de dialplan
        activacion_queue_service = ActivacionQueueService()
        try:
            activacion_queue_service.activar()
        except RestablecerDialplanError, e:
            message = _("<strong>Operación Errónea!</strong> "
                        "No se pudo confirmar la creación del dialplan  "
                        "al siguiente error: {0}".format(e))
            messages.add_message(
                self.request,
                messages.ERROR,
                message,
            )
Exemplo n.º 3
0
    def _crear_datos_entorno(self):

        self.admin = User.objects.filter(is_staff=True).first()

        # crear grupo
        grupo = GrupoFactory()

        # crear agente
        agente = AgenteProfileFactory(grupo=grupo, reported_by=self.admin)
        agente.user.username = self.agent_username
        agente.user.set_password(self.agent_password)
        agente.sip_extension = 1000 + agente.id
        agente.user.is_agente = True
        agente.user.save()
        agente.save()

        agente.user.groups.add(Group.objects.get(name='Agente'))

        asterisk_sip_service = ActivacionAgenteService()
        asterisk_sip_service.activar()

        # crear audio
        ArchivoDeAudioFactory()

        # crear pausa
        PausaFactory()

        # crear formulario (2 campos)
        form = FormularioFactory()
        FieldFormularioFactory.create_batch(2, formulario=form)

        # crear califs.(1 gestion y 1 normal)
        self.success = NombreCalificacionFactory(nombre='Success')
        self.angry = NombreCalificacionFactory(nombre='Hangs up angry')

        # crear BD (3 contactos)
        self.bd_contacto = BaseDatosContactoFactory()

        ContactoFactory.create_batch(3, bd_contacto=self.bd_contacto)

        campana_manual = self._crear_campana_manual()
        campana_entrante = self._crear_campana_entrante()

        activacion_queue_service = ActivacionQueueService()
        activacion_queue_service.activar()

        # crea un troncal y con este una ruta entrante hacia el pbx-emulator
        text_config = ("type=friend\n"
                       "host=pbx-emulator\n"
                       "defaultuser=01177660010\n"
                       "secret=OMLtraining72\n"
                       "qualify=yes\n"
                       "insecure=invite\n"
                       "context=from-pstn\n"
                       "disallow=all\n"
                       "allow=alaw\n")
        register_string = "01177660010:OMLtraining72@pbx-emulator"
        troncal_pbx_emulator = TroncalSIPFactory(
            text_config=text_config,
            register_string=register_string,
            canales_maximos=1000,
            caller_id='')
        sincronizador_troncal = SincronizadorDeConfiguracionTroncalSipEnAsterisk(
        )
        sincronizador_troncal.regenerar_troncales(troncal_pbx_emulator)
        ruta_saliente = RutaSalienteFactory(ring_time=25, dial_options="Tt")
        PatronDeDiscadoFactory(ruta_saliente=ruta_saliente, match_pattern="X.")
        OrdenTroncalFactory(ruta_saliente=ruta_saliente,
                            orden=0,
                            troncal=troncal_pbx_emulator)
        sincronizador_ruta_saliente = SincronizadorDeConfiguracionDeRutaSalienteEnAsterisk(
        )
        sincronizador_ruta_saliente.regenerar_asterisk(ruta_saliente)

        # crear ruta entrante
        self._crear_ruta_entrante(campana_entrante)
        self._asignar_agente_a_campana(agente, campana_manual)
        self._asignar_agente_a_campana(agente, campana_entrante)
Exemplo n.º 4
0
    def _crear_datos_entorno(self):

        admin = User.objects.filter(is_staff=True).first()

        # crear grupo
        grupo = GrupoFactory()

        # crear modulo
        modulo = ModuloFactory()

        # crear agente
        agente = AgenteProfileFactory(grupo=grupo, reported_by=admin)
        agente.modulos.add(modulo)
        agente.user.username = self.agent_username
        agente.user.set_password(self.agent_password)
        agente.sip_extension = 1000 + agente.id
        agente.user.is_agente = True
        agente.user.save()
        agente.save()

        asterisk_sip_service = ActivacionAgenteService()
        asterisk_sip_service.activar()

        # crear audio
        ArchivoDeAudioFactory()

        # crear pausa
        PausaFactory()

        # crear formulario (2 campos)
        form = FormularioFactory()
        FieldFormularioFactory.create_batch(2, formulario=form)

        # crear califs.(1 gestion y 1 normal)
        success = NombreCalificacionFactory(nombre='Success')
        angry = NombreCalificacionFactory(nombre='Hangs up angry')

        # crear BD (3 contactos)
        bd_contacto = BaseDatosContactoFactory()

        ContactoFactory.create_batch(3, bd_contacto=bd_contacto)

        # crear campaña manual
        campana_manual = CampanaFactory(
            nombre='test_manual_campaign', bd_contacto=bd_contacto, type=Campana.TYPE_MANUAL,
            reported_by=admin, es_manual=True, estado=Campana.ESTADO_ACTIVA
        )
        # crear Queue para la campaña
        Queue.objects.create(
            campana=campana_manual,
            name=campana_manual.nombre,
            maxlen=5,
            wrapuptime=5,
            servicelevel=30,
            strategy='rrmemory',
            eventmemberstatus=True,
            eventwhencalled=True,
            ringinuse=True,
            setinterfacevar=True,
            weight=0,
            wait=120
        )

        # opciones de calificacion
        OpcionCalificacionFactory(
            nombre=success.nombre, campana=campana_manual, tipo=OpcionCalificacion.GESTION)
        OpcionCalificacionFactory(
            nombre=angry.nombre, campana=campana_manual, tipo=OpcionCalificacion.NO_ACCION)

        activacion_queue_service = ActivacionQueueService()
        activacion_queue_service.activar()

        # crea un troncal y con este una ruta entrante hacia el pbx-emulator
        text_config = ("type=friend\n"
                       "host=pbx-emulator\n"
                       "defaultuser=01177660010\n"
                       "secret=OMLtraining72\n"
                       "qualify=yes\n"
                       "insecure=invite\n"
                       "context=from-pstn\n"
                       "disallow=all\n"
                       "allow=alaw\n")
        register_string = "01177660010:OMLtraining72@pbx-emulator"
        troncal_pbx_emulator = TroncalSIPFactory(
            text_config=text_config, register_string=register_string, canales_maximos=1000,
            caller_id='')
        sincronizador_troncal = SincronizadorDeConfiguracionTroncalSipEnAsterisk()
        sincronizador_troncal.regenerar_troncales(troncal_pbx_emulator)
        ruta_saliente = RutaSalienteFactory(ring_time=25, dial_options="Tt")
        PatronDeDiscadoFactory(ruta_saliente=ruta_saliente, match_pattern="X.")
        OrdenTroncalFactory(ruta_saliente=ruta_saliente, orden=0, troncal=troncal_pbx_emulator)
        sincronizador_ruta_saliente = SincronizadorDeConfiguracionDeRutaSalienteEnAsterisk()
        sincronizador_ruta_saliente.regenerar_rutas_salientes(ruta_saliente)
    def _crear_datos_entorno(self):

        self.admin = User.objects.filter(is_staff=True).first()

        # crear grupo
        grupo = GrupoFactory()

        # crear agente
        agente = AgenteProfileFactory(grupo=grupo, reported_by=self.admin)
        agente.user.username = self.agent_username
        agente.user.set_password(self.agent_password)
        agente.sip_extension = 1000 + agente.user.id
        agente.user.is_agente = True
        agente.user.save()
        agente.save()

        agente.user.groups.add(Group.objects.get(name='Agente'))

        asterisk_sip_service = ActivacionAgenteService()
        asterisk_sip_service.activar()

        # crear audio
        ArchivoDeAudioFactory()

        # crear pausa
        PausaFactory()

        # crear formulario (2 campos)
        form = FormularioFactory()
        FieldFormularioFactory.create_batch(2, formulario=form)

        # crear califs.(1 gestion y 1 normal)
        self.success = NombreCalificacionFactory(nombre='Success')
        self.angry = NombreCalificacionFactory(nombre='Hangs up angry')

        # crear BD (3 contactos)
        self.bd_contacto = BaseDatosContactoFactory()

        ContactoFactory.create_batch(3, bd_contacto=self.bd_contacto)

        campana_manual = self._crear_campana_manual()
        campana_entrante = self._crear_campana_entrante()

        activacion_queue_service = ActivacionQueueService()
        activacion_queue_service.activar()

        # crea un troncal y con este una ruta entrante hacia el pbx-emulator
        text_config = ("type=wizard\n"
                       "transport=trunk-transport\n"
                       "accepts_registrations=no\n"
                       "accepts_auth=no\n"
                       "sends_registrations=yes\n"
                       "sends_auth=yes\n"
                       "endpoint/rtp_symmetric=no\n"
                       "endpoint/force_rport=no\n"
                       "endpoint/rewrite_contact=yes\n"
                       "endpoint/timers=yes\n"
                       "aor/qualify_frequency=60\n"
                       "endpoint/allow=alaw,ulaw\n"
                       "endpoint/dtmf_mode=rfc4733\n"
                       "endpoint/context=from-pstn\n"
                       "remote_hosts=pbxemulator:5060\n"
                       "outbound_auth/username=01177660010\n"
                       "outbound_auth/password=OMLtraining72\n")
        troncal_pbx_emulator = TroncalSIPFactory(text_config=text_config,
                                                 canales_maximos=1000,
                                                 tecnologia=1,
                                                 caller_id='')
        sincronizador_troncal = SincronizadorDeConfiguracionTroncalSipEnAsterisk(
        )
        sincronizador_troncal.regenerar_troncales(troncal_pbx_emulator)
        ruta_saliente = RutaSalienteFactory(ring_time=25, dial_options="Tt")
        PatronDeDiscadoFactory(ruta_saliente=ruta_saliente, match_pattern="X.")
        OrdenTroncalFactory(ruta_saliente=ruta_saliente,
                            orden=0,
                            troncal=troncal_pbx_emulator)
        sincronizador_ruta_saliente = SincronizadorDeConfiguracionDeRutaSalienteEnAsterisk(
        )
        sincronizador_ruta_saliente.regenerar_asterisk(ruta_saliente)

        # crear ruta entrante
        self._crear_ruta_entrante(campana_entrante)
        self._asignar_agente_a_campana(agente, campana_manual)
        self._asignar_agente_a_campana(agente, campana_entrante)
Exemplo n.º 6
0
def activar_cola():
    activacion_queue_service = ActivacionQueueService()
    activacion_queue_service.activar()