Disposition BUSY en cola ACD (Asterisk 11)

200 views
Skip to first unread message

pep...@gmail.com

unread,
Jun 30, 2016, 5:22:17 AM6/30/16
to asterisk-es
¡Hola, buenas!

Estoy trabajando con Asterisk 11.16 con una cola ACD y los miembros guardados en BBDD.

En las llamadas entrantes en las que el usuario corta antes de ser atendido pueden darse dos casos en DISPOSITION:
  • BUSY >> cuando todos los miembros están ocupados hablando.
  • NO ANSWER >> cuando al menos uno de los miembros está disponible.
Pero he comprobado que a mí nunca me sale NO ANSWER:

Si realizo 1 ó varias llamadas entrantes simultáneas y cuelgo, las marca como BUSY.

Las llamadas entrantes entran por RDSI a un GW RDSI/VoIP. Si modifico el dialplan del Asterisk para que la llamada entrante no entre a la Cola, sino que suene en una extensión determinada, ahí sí obtengo el NO ANSWER esperado.

¿Se puede solventar esta situación con algun workaround en el dialplan?

Mi configuración:

extensions.conf

   exten => _X.,1,Queue(cola1,tkrw,,,300)
      same => n,Hangup(${HANGUPCAUSE})

configuración Cola (en BBDD):
autofill = yes
ringinuse =yes 
joinempty / levewhenempty >> he probado con "yes", "no" y "strict" y siempre me sale BUSY.
strategy = ringall


cdr.conf
[general]
 enable=yes
 unanswered = yes
 congestion = yes

cdr_odbc.conf:
[global]
   dsn=asterisk
   username=xxxx
   password=xxxx
   loguniqueid=yes
   dispositionstring=yes
   table=xxxxx
   usegmtime=yes


Antes usaba cdr_adaptive_odbc, pero viendo que si el Asterisk arranca y la BBDD no está activa, Asterisk no me guarda ningun CDR aunque la BBDD vuelva a estar activa, hasta que no recargo el módulo "cdr_adaptive_odbc"
Así que he dejado en blanco el "cdr_adaptive_odbc.conf" y uso el "cdr_odbc.conf"

Héctor Arteaga

unread,
Jun 30, 2016, 10:10:02 AM6/30/16
to aster...@googlegroups.com
Buen día

El busy y no answer depende de donde lo obtengas, si te refieres al cdr, tomemos en cuenta que cuando entra la llamada a la queue para que despliegue los audios debes de pasar un "Answer", por lo que en el disposition ya no te puede salir un "No answer" ya que tu contestas el canal directamente, para tomar dichos eventos debes de fijarte en el queue.log que es donde se almacenarán los eventos de las llamadas que entran a la queue y ahí si encontraras el busy y no answer de los agentes que no atienden una llamada.

Ahora, para que te salga el busy debes de configurar las queues para que tomen encuenta si existe un canal del agente en curso, de lo contrarío solo vas a ver no answer.


Saludos!!

Héctor Arteaga.
México



El 30/06/16 a las 04:22, pep...@gmail.com escribió:
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/asterisk-es.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

pep...@gmail.com

unread,
Jun 30, 2016, 11:45:06 AM6/30/16
to asterisk-es
Hola, Hector.

No es mi caso: no tengo ningun answer ni mensaje de audio para los usuarios de la cola. Sólo dejo los tonos de llamada normal mientras ellos esperan.
Además, si tuviera un Answer, en el CDR siempre me saldría ANSWERED, ¿no?

Dejo la configuración completa, por si acaso que se me está escapando algo.

 persistentmembers=yes
 monitor-type=MixMonitor
 autofill=yes
 shared_lastcall= yes
 setinterfacevar=yes
 eventwhencalled=yes
  retry = 1
  maxlen = 0
  musicclass = default
  autofill = yes
  ringinuse = yes
  musiconhold = no
  reportholdtime = no
  autopause = no
  announce_holdtime = no
  announce_frequency = 0
  servicelevel = 60
  relative_periodic_announce = yes
  weight = 0

Héctor Arteaga

unread,
Jun 30, 2016, 1:50:09 PM6/30/16
to aster...@googlegroups.com
Estoy viendo todo tu escenario, "joinempty / levewhenempty >> he probado con "yes", "no" y "strict" y siempre me sale BUSY." esto solo hace que la llamada pase o no pase por la queue cuando haya agentes, es decir cuando pones joinempty = no, significa que si la queue no tiene agentes o estos están ocupados, la llamada no entra a la queue, por lo que el disposition te va a salir en busy.

Se que muchas veces por estrategias conviene poner el ringall, pero no siempre es lo mejor, porque para sacar estadísticas por agente no es tan real, prueba con otro strategy.

Si en tu plan de marcado no colocas el answer antes de entrar al queue, entonces el parámetro "relative_periodic_announce = yes" queda de sobra, ya que no es posible que asterisk despliegue audios en canales sin contestar.

Ahora, si lo que quieres es obtener reportes sobre lo que pasa en tu queue. Te recomiendo habilitar el queue_log, ya que con esto puedes incluso ver que agente termino contestando la llamada, cuantos intentos se realizaron etcétera, y en tu plan de marcado:
exten => _X.,1,Answer()
  same=> n,Queue(cola1,tkrw,,,300)
  same=> n,Hangup(${HANGUPCAUSE})

Saludos!!

Héctor Arteaga



El 30/06/16 a las 10:45, pep...@gmail.com escribió:

Fernando Villares

unread,
Jun 30, 2016, 2:10:34 PM6/30/16
to aster...@googlegroups.com

Y usabas asterisk 11.16...factor bug???? Ya esta la 11.23 rc1

pep...@gmail.com

unread,
Jul 1, 2016, 3:42:21 AM7/1/16
to asterisk-es
Hector, pues empezaré a usar el QueueLog guardándolo en BBDD. Gracias.

Fernando, estuve mirando todas las releases notes de la v11 y no encontré nada específico del DISPOSITION en las colas... http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-11-current
Reply all
Reply to author
Forward
0 new messages