Llamadas automáticas - CallCenter y Asterisk 1.6

nicotorres

Joined
Jul 4, 2010
Messages
4
Likes
0
Points
0
#1
En este documento se intenta explicar como hacer campañas automatizadas con Elastix 2.0, que llamen a los números contenidos en un archivo CSV, y digan los datos que en él figuran.

Los archivos CSV tendrían que tener un formato como el siguiente:
Teléfono,Dato1,Dato2,... etc.

Antes de empezar, cabe aclarar que para realizar campañas salientes automatizadas con Elastix 1.6 y Asterisk 1.4, se utilizaba el modulo AgentCallbackLogin para el logueo de los agentes virtuales, los cuales son necesarios para este tipo de campañas.

Elastix 2.0 utiliza Asterisk 1.6, en el cual el modulo AgentCallbackLogin fue removido.

Para poder loguear los agentes se creo un script que genera las llamadas para el logueo y deslogueo utilizando agentes virtuales.

Resumen de las tareas realizadas para configurar las campañas salientes con Elastix 2.0:

1.Se crearon los agentes virtuales (A3000, A3001, A3002, … , A3009)

2.Se crearon colas para los diferentes tipos de campañas (2001, 2002, 2003, 2004), a las cuales se le asignaron los agentes virtuales.

3.Se creo el script “agentes-virtuales.agi” para loguear y desloguear a los agentes virtuales.

4.Se modifico el “extension_custom.conf” para agregar los contextos correspondientes a cada tipo de campaña, los contextos que tienen que ver con el logueo de agentes virtuales y finalmente un contexto para que los supervisores puedan loguear y desloguear, con una llamada, a los agentes virtuales ejecutando el script del punto anterior.

5.Se creo el script “outgoing-tipox.agi” para parsear un archivo CSV con los diferentes números y datos de la campaña que se quiere realizar.

6.Se compartió un directorio para que los supervisores coloquen los diferentes audios, y los archivos CSV de cada tipo de campaña.

7.Crear la campaña desde el modulo CallCenter desde la Interfaz web.


A continuación, detallamos un poco mas cada punto.

1.Para que un agente funcione como virtual, una vez creados, tenemos que editar el archivo “/etc/asterisk/agents.conf” y borrarles la password.

2.Se crean diferentes colas para que se reproduzcan diferentes cantidad de audios y datos.
Por ejemplo:
La Cola 2001 reproduce solo un audio.
La Cola 2002 reproduce un audio y un dato.
La Cola 2003 reproduce un audio, dos datos, y otro audio.
Dentro de cada cola se agregan los agentes virtuales por su nombre, no por su numero.

3.El script bash “agentes-virtuales.agi”, genera archivos .call para loguear los agentes del A3000 al A3009 utilizando el contexto “agentlogin” y “dummy”. Luego de generarlos, los mueve al directorio outgoing de asterisk para que se produzca la llamada.
El script acepta los parámetros “log_in” y “log_out”.
La cantidad de agentes virtuales que se logueen, va a ser proporcional a la cantidad de llamadas concurrentes que Asterisk intentara realizar.

4.Se agregaron los contextos “Tipo1”, “Tipo2”, “Tipo3” y “Tipo4” correspondientes a los diferentes tipos de campañas que se pretenden hacer. Cada uno de los tipos, reproduce diferentes cantidades de datos del archivo CSV, y también diferentes audios.
Esos audios, son colocados por los supervisores en un directorio especifico, compartido para tal fin.

Se utilizaron los contextos “agentlogin”(para loguear los agentes) y “dummy”(para mantenerlos logueados en espera, de un modo similar al que hacia AgentCallbackLogin).

Se agrego el contexto “AgentesVirtuales” para que, a través de una password, los supervisores puedan loguear y desloguear a los agentes virtuales.

5.El script python “outgoing-tipox.agi” se creo para poder leer cada registro del CSV y reproducir, a través de la salida estándar, los datos del numero de teléfono correspondiente.

Por ejemplo, para una campaña de Tipo3 (cola 2003), con un archivo CSV como el siguiente:

123456,ABC,987

El script haría que Asterisk nos diga un audio (audio1.wav), el primer dato (“A”,”B”,”C”), el segundo dato (“9”,”8”,”7”), y finalmente otro audio (audio2.wav).
Este script guarda un registro por los casos en los que el numero de telefono se repita en el archivo CSV con diferentes datos. De esa forma, no repetiría una llamada con los mismos datos.

6.Se compartió el directorio “/opt/outgoing-calls” en samba, y se crearon directorios para cada tipo de campaña. En resumen, quedaron así:

/opt/outgoing-calls/tipo1
/opt/outgoing-calls/tipo2
/opt/outgoing-calls/tipo3
/opt/outgoing-calls/tipo4

Se debe asignar permisos a estos directorios al usuario “asterisk”. Este usuario es el que se fuerza en la configuración de samba, y es el que termina ejecutando el agi “outgoing-tipox.agi”

Es necesario, que los audios a utilizar en la campaña y el archivo CSV ( este último debe ser el mismo que se utilizara para crear la campaña desde el modulo CallCenter), sean colocados en el directorio correspondiente al tipo de campaña.

Es importante aclarar en este punto, que cada archivo que se coloque en estos directorios, tiene que tener el mismo nombre que tiene en el archivo “extension_custom.conf”.

7.No hay nada que aclarar sobre este punto, solo que si los archivos no se encuentran con anterioridad en los directorios correspondientes, la campaña no funcionara correctamente.

Todos los archivos utilizados van adjuntos en este archivo: http://forum.elastix.org/old_files/archivos.zip

Andrea Pino
Nicolás Torres​
 

fmvillares

Joined
Sep 8, 2007
Messages
1,785
Likes
0
Points
0
#2
te ganaste un karma up por la buena onda
 

tlmkperu

Joined
Mar 9, 2011
Messages
1
Likes
0
Points
0
#3
Exelente aporte, pero parece que el archivo adjunto esta dañado, no lo he podido descargar.

Saludos

tlmkperu
 

ramoncio

Joined
May 12, 2010
Messages
1,663
Likes
0
Points
0
#4
Hola nicotorres, bienvenidísimo al foro!!

Buen primer post, si señor. +1 a tu karma, te lo has ganado pero bien.
 

nicotorres

Joined
Jul 4, 2010
Messages
4
Likes
0
Points
0
#5
Muchas gracias.

Recién descargue el zip y veo bien los cuatro archivos que contiene. Probá descargarlo de otro lugar o con otro navegador.

Saludos!
 

Luis Diego

Joined
Nov 1, 2010
Messages
237
Likes
0
Points
0
#6
Esta padre tu aporte, haber si tienes mas ideas como estas para compartir, se te agradece mucho.
 

ecaniz

Joined
Apr 2, 2010
Messages
22
Likes
0
Points
0
#7
Tambien se pueden realizar Llamadas automaticas utilizando un sophone en autoanswer extension esta que asignaras a un agente virtual de la siguiente manera
Creas tu Cola.
Asignas los agentes virtuales ya declarados a la cola , si quieres modificas el agent.conf y eliminas los passwords de los agentes.
en La cola cola colocas tu anuncio a la entrada.
te vas ala pestaña de Call Center espero que para este momento ya tengas los numeros a los cuales llamaras en tu archivo .csv
Vas a Configuracion y procedes a configurar y arrancar tu dialer
Vas a la pestaña Outgoing y creas tu formulario
Creas tu campaña.

Espero les sirva para 1.6 y 2.0
 

victorriba

Joined
Nov 15, 2010
Messages
2
Likes
0
Points
0
#8
Hola, he realizado todos los paso pero no me reproduce los Datos del csv, al parecer llama al script outgoing-tipox despues de reproducir audio1, pero no pasa nada mas

aqui el log.


-- Executing [2002@from-internal:1] Set("SIP/redvoz-0000000c", "TIMEOUT(absolute)=40") in new stack
Channel will hangup at 2011-05-16 17:33:17.305 EDT.
-- Executing [2002@from-internal:2] Answer("SIP/redvoz-0000000c", "") in new stack
-- Executing [2002@from-internal:3] Wait("SIP/redvoz-0000000c", "2") in new stack
-- Executing [2002@from-internal:4] Set("SIP/redvoz-0000000c", "CHANNEL(language)=es") in new stack
-- Executing [2002@from-internal:5] Playback("SIP/redvoz-0000000c", "/opt/outgoing-calls/tipo2/audio1") in new stack
-- <SIP/redvoz-0000000c> Playing '/opt/outgoing-calls/tipo2/audio1.slin' (language 'es')
-- Executing [2002@from-internal:6] AGI("SIP/redvoz-0000000c", "outgoing-tipox.agi,"" <>,/opt/outgoing-calls/tipo2/base.csv,tipo2") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/outgoing-tipox.agi
-- <SIP/redvoz-0000000c>AGI Script outgoing-tipox.agi completed, returning 0
-- Executing [2002@from-internal:7] Playback("SIP/redvoz-0000000c", "es/gracias") in new stack
-- <SIP/redvoz-0000000c> Playing 'es/gracias.gsm' (language 'es')
-- Executing [2002@from-internal:8] Hangup("SIP/redvoz-0000000c", "") in new stack
== Spawn extension (from-internal, 2002, 8) exited non-zero on 'SIP/redvoz-0000000c'
-- Executing [h@from-internal:1] Macro("SIP/redvoz-0000000c", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/redvoz-0000000c", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("SIP/redvoz-0000000c", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/redvoz-0000000c", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/redvoz-0000000c", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/redvoz-0000000c", "1?theend") in new stack
-- Goto (macro-hangupcall,s,12)
-- Executing [s@macro-hangupcall:12] Hangup("SIP/redvoz-0000000c", "") in new stack
== Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'SIP/redvoz-0000000c' in macro 'hangupcall'

Muchas Gracias
 

nrobles

Joined
Dec 4, 2010
Messages
5
Likes
0
Points
0
#9
Saludos,

el Archivo.zip solo tiene dentro 1 file, como podemos descargarlo de otro lado...
 

victorriba

Joined
Nov 15, 2010
Messages
2
Likes
0
Points
0
#10
Hola Brother perdoname, pero entendi lo del archivo.zip, yo descargue el que esta al comienzo del blog y coloque cada uno en su debida carpeta, al hacer la campaña solo con audio funciona, pero al hacer la campaña con una variable no me reproduce la variable

esta la configuracion de extension_custom.conf

[Tipo2]
exten => 2002,1,Set(TIMEOUT(absolute)=40) ; Max Call Time is 40 Seconds
exten => 2002,n,Answer
exten => 2002,n,Wait(2)
exten => 2002,n,Set(CHANNEL(language)=es)
exten => 2002,n,Playback(/opt/outgoing-calls/tipo2/audio1);
exten => 2002,n,AGI(outgoing-tipox.agi,${CALLERID(all)},/opt/outgoing-calls/tipo2/base.csv,tipo2)
exten => 2002,n,Playback(es/gracias);
exten => 2002,n,Hangup()

en la carpeta /opt/outgoing-calls/tipo2 agrege el base.csv que contiene

573142711904,17000 (un numero de celular, una variable)

y cree la campaña con el mismo numero de celular, el realiza la llamada, reproduce el audio1 pero no reproduce la variable.

en el log observo <>,/opt/outgoing-calls/tipo2/base.csv,tipo2. en <> deberia asignar una variable?

Gracias
 

neer

Joined
May 18, 2011
Messages
7
Likes
0
Points
0
#11
Hola espero alguien podra ayudarme he probado el tuto y pues tengo el detalle que no se loguean los agentes.

marco 2220 desde cualquier extension pero me manda el mensaje de "Unaviable"

No se que revisar :( sorry por la ignorancia y gracias por la atención :)
 

nicotorres

Joined
Jul 4, 2010
Messages
4
Likes
0
Points
0
#12
Buenas, disculpen que no haya respondido antes, pero recién veo el mail.

El Lunes te respondo desde mi laburo, ya que ahí es donde tengo toda la data.

Saludos!
NicoTorres.-
 

neer

Joined
May 18, 2011
Messages
7
Likes
0
Points
0
#13
Gracias Nico por tu Atencion:

Abusando un poco de tu amabilidad, hay algo que me urge, habra algun comando que se pueda usar en el contexto para detectar que el cliente ya descolgo? estoy usando una linea analogica en Mexico.

El detalle esta en que Elastix realiza la llamada y el contexto reproduce el audio,pero lo reproduce aun cuando el cliente no ha levantado la bocina. Se podra resolver desde el contexto?

Bueno Gracias, mil gracias por tu atenció :woohoo: n.
 

jgutierrez

Joined
Feb 28, 2008
Messages
5,737
Likes
0
Points
0
#14
En particular, asterisk no sabe si es cliente ya contestó o no la llamada, por eso la toma cuando contestada desde el instante en que se toma el canal analógico para marcar, en particular esto no sucede con líneas digitales.
Lo que puedes hacer es contratar el servicio de polaridad reversa, y luego en el chan_dahdi.conf asegurarte que el busydetect, busycount estén comentados, y agregar:
hanguponpolarityswitch=yes
Y luego hacer un module reload desde el CLI
 

joeljag19

Joined
Jan 13, 2011
Messages
12
Likes
0
Points
0
#15
:laugh: Excelente tu post... En realidad solo estoy utilizando la parte del login automatico de los usuarios y me funciona de maravillas, gracias tenia mucho tiempo buscando algo similar sin resultado. No me canso de dar las gracias por la ayuda. :laugh:
 

diego478

Joined
Aug 1, 2011
Messages
28
Likes
0
Points
0
#16
Re: Re:Llamadas automáticas - CallCenter y Asterisk 1.6

joeljag19 escribió:
:laugh: Excelente tu post... En realidad solo estoy utilizando la parte del login automatico de los usuarios y me funciona de maravillas, gracias tenia mucho tiempo buscando algo similar sin resultado. No me canso de dar las gracias por la ayuda. :laugh:
Hola buenos dias a todos, alguien me podria orientar en que carpeta debo crear los spripts que estan en el ZIP, dado que es la unica parte que no entiendo del tutorial.

Les comento que yo solo quiero reproducir el audio para una campaña saliente con los agentes virtuales.

Muchas gracias!
Espero una pronta respuesta!!! 1000 gracias!
 

diego478

Joined
Aug 1, 2011
Messages
28
Likes
0
Points
0
#17
Re: Re:Llamadas automáticas - CallCenter y Asterisk 1.6

Hola, alguien podria ayudarme con esto, no se me loguen los agentes virtuales, al parecer es porque no tiene permisos para ejecutar el script AGI de agentes-virtuales, alguin podria decirme como puedo solucionar esto??
A continuacion muestro, muestro en color la parte del error:
-- Executing [2220@from-internal:1] Answer("SIP/2220-00000009", "") in new stack
-- Executing [2220@from-internal:2] Wait("SIP/2220-00000009", "2") in new stack
-- Executing [2220@from-internal:3] Set("SIP/2220-00000009", "PASSWORD=4321") in new stack
-- Executing [2220@from-internal:4] Read("SIP/2220-00000009", "PW,es/you-sound-cute,4") in new stack
-- Accepting a maximum of 4 digits.
-- <SIP/2220-00000009> Playing 'es/you-sound-cute.gsm' (language 'en')
-- User entered '4321'
-- Executing [2220@from-internal:5] GotoIf("SIP/2220-00000009", "1?Ok:NotOk") in new stack
-- Goto (from-internal,2220,6)
-- Executing [2220@from-internal:6] AGI("SIP/2220-00000009", "agentes-virtuales.agi,log_in") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/agentes-virtuales.agi
agentes-virtuales.agi,log_in: Failed to execute '/var/lib/asterisk/agi-bin/agentes-virtuales.agi': Permission denied

-- Executing [2220@from-internal:7] Playback("SIP/2220-00000009", "es/muchas-gracias") in new stack
-- Executing [2220@from-internal:8] Hangup("SIP/2220-00000009", "") in new stack
== Spawn extension (from-internal, 2220, 8) exited non-zero on 'SIP/2220-00000009'
-- Executing [h@from-internal:1] Macro("SIP/2220-00000009", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/2220-00000009", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("SIP/2220-00000009", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/2220-00000009", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/2220-00000009", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/2220-00000009", "1?theend") in new stack
-- Goto (macro-hangupcall,s,12)
-- Executing [s@macro-hangupcall:12] Hangup("SIP/2220-00000009", "") in new stack
== Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'SIP/2220-00000009' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/2220-00000009'
 

diego478

Joined
Aug 1, 2011
Messages
28
Likes
0
Points
0
#18
Re: Re:Llamadas automáticas - CallCenter y Asterisk 1.6

Hola, aparentemente eh logrado que el AGI funcione dandole permisos a las carpetas pero aun asi me sigue diciendo que no hay agentes para realizar la llamada, alguien tiene alguna idea ???

Remarco en azul lo que parece ser el log_in del agente virtual.
----------

Connected to Asterisk 1.6.2.13 currently running on localhost (pid = 2742)
Verbosity is at least 3
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [2220@from-internal:1] Answer("SIP/5001-0000001d", "") in new stack
-- Executing [2220@from-internal:2] Wait("SIP/5001-0000001d", "2") in new stack
-- Executing [2220@from-internal:3] Set("SIP/5001-0000001d", "PASSWORD=4321") in new stack
-- Executing [2220@from-internal:4] Read("SIP/5001-0000001d", "PW,es/you-sound-cute,4)") in new stack
-- Accepting a maximum of 4 digits.
-- <SIP/5001-0000001d> Playing 'es/you-sound-cute.gsm' (language 'en')
-- User entered '4321'
-- Executing [2220@from-internal:5] GotoIf("SIP/5001-0000001d", "1?Ok:NotOk") in new stack
-- Goto (from-internal,2220,6)
-- Executing [2220@from-internal:6] AGI("SIP/5001-0000001d", "agentes-virtuales.agi,log_in") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/agentes-virtuales.agi
-- <SIP/5001-0000001d>AGI Script agentes-virtuales.agi completed, returning 0

-- Executing [2220@from-internal:7] Playback("SIP/5001-0000001d", "es/you-sound-cute") in new stack
-- <SIP/5001-0000001d> Playing 'es/you-sound-cute.gsm' (language 'en')
-- Attempting call on Local/*88883000@from-internal/n for 10@from-internal:1 (Retry 1)
-- Executing [*88883000@from-internal:1] Set("Local/*88883000@from-internal-d179;2", "AGENTNUMBER=3000") in new stack
-- Executing [*88883000@from-internal:2] NoOp("Local/*88883000@from-internal-d179;2", "AgentNumber is 3000") in new stack
-- Executing [*88883000@from-internal:3] AgentLogin("Local/*88883000@from-internal-d179;2", "3000") in new stack
-- Executing [10@from-internal:1] Answer("Local/*88883000@from-internal-d179;1", "") in new stack
-- Executing [10@from-internal:2] Wait("Local/*88883000@from-internal-d179;1", "80000") in new stack
-- <Local/*88883000@from-internal-d179;2> Playing 'agent-incorrect.gsm' (language 'en')
-- Executing [2220@from-internal:8] Hangup("SIP/5001-0000001d", "") in new stack
== Spawn extension (from-internal, 2220, 8) exited non-zero on 'SIP/5001-0000001d'
-- Executing [h@from-internal:1] Macro("SIP/5001-0000001d", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/5001-0000001d", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("SIP/5001-0000001d", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/5001-0000001d", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/5001-0000001d", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/5001-0000001d", "1?theend") in new stack
-- Goto (macro-hangupcall,s,12)
-- Executing [s@macro-hangupcall:12] Hangup("SIP/5001-0000001d", "") in new stack
== Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'SIP/5001-0000001d' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/5001-0000001d'
== Spawn extension (from-internal, *88883000, 3) exited non-zero on 'Local/*88883000@from-internal-d179;2'
-- Executing [h@from-internal:1] Macro("Local/*88883000@from-internal-d179;2", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("Local/*88883000@from-internal-d179;2", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("Local/*88883000@from-internal-d179;2", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("Local/*88883000@from-internal-d179;2", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("Local/*88883000@from-internal-d179;2", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("Local/*88883000@from-internal-d179;2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,12)
-- Executing [s@macro-hangupcall:12] Hangup("Local/*88883000@from-internal-d179;2", "") in new stack
== Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'Local/*88883000@from-internal-d179;2' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'Local/*88883000@from-internal-d179;2'
== Spawn extension (from-internal, 10, 2) exited non-zero on 'Local/*88883000@from-internal-d179;1'
-- Executing [h@from-internal:1] Macro("Local/*88883000@from-internal-d179;1", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("Local/*88883000@from-internal-d179;1", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("Local/*88883000@from-internal-d179;1", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("Local/*88883000@from-internal-d179;1", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("Local/*88883000@from-internal-d179;1", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("Local/*88883000@from-internal-d179;1", "1?theend") in new stack
-- Goto (macro-hangupcall,s,12)
-- Executing [s@macro-hangupcall:12] Hangup("Local/*88883000@from-internal-d179;1", "") in new stack
== Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'Local/*88883000@from-internal-d179;1' in macro 'hangupcall
 

jgutierrez

Joined
Feb 28, 2008
Messages
5,737
Likes
0
Points
0
#19
Tu observación es correcta.
Mira tu mensaje de log:
<Local/*88883000@from-internal-d179;2> Playing 'agent-incorrect.gsm' (language 'en')
Eso quiere decir que intentas de hacer registrar un agente 3000, el cual no existe, lo debes crear en el menú de agentes dentro del módulo de callcenter
 

diego478

Joined
Aug 1, 2011
Messages
28
Likes
0
Points
0
#20
Hola gracias por responder.
Te cuento que lo tengo creado, lo raro es que dice by repair, pero eso sucedio desde que lo converti en agente virtual entrando en /etc/asterisk/agents.con y le borre el pass.
Te adjunto una imagen de mi consola de Call Center.
Tengo dudas de donde se deben guardar los scripts .agi, yo los guarde en /var/lib/asterisk/agi-bin, espero que sea asi, es asi ???


Te agradezco mucho que me ayudes si puedes pues es muy importante para mi que se realicen las llamadas.

MUCHAS GRACIAS
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,902
Messages
130,888
Members
17,568
Latest member
mehdii_igi
Top