En los contextos de salida
=========================================
[salida_dialer]
exten => _1NXXXXXXXXX,1,MixMonitor(/var/grabaciones/callcenter_1/outbound_dialer/hoy/${UNIQUEID}.gsm,b)
exten => _1NXXXXXXXXX,n,Dial(${DIALER}/${EXTEN},,M(amd))
exten => _1NXXXXXXXXX,n,Hangup()
;
[macro-amd]
exten => s,1,AMD()
exten => s,n,NoOp(Estado: ${AMDSTATUS} Causa: ${AMDCAUSE} Cliente ${MACRO_EXTEN})
exten => s,n,GoTo(s-${AMDSTATUS},1)
;
exten => s-HUMAN,1,Set(CDR(userfield)=${AMDSTATUS}-${MACRO_EXTEN})
exten => s-HUMAN,n,GoTo(s,101)
exten => s-NOTSURE,1,Set(CDR(userfield)=${AMDSTATUS}-${MACRO_EXTEN})
exten => s-NOTSURE,n,GoTo(s,101)
exten => _s-.,1,Set(CDR(userfield)=${AMDSTATUS}-${AMDCAUSE}-${MACRO_EXTEN})
exten => _s-.,n,Set(__AMDRESULT=MACHINE)
exten => _s-.,n,HangUp()
;
exten => s,101,Set(__AMDRESULT=HUMAN)
exten => s,102,NoOp(AMD End)
En los contextos de entrada
=========================================
[entrada_dialer]
exten => _999[12],1,NoOp(${AMDRESULT})
exten => _999[12],n,GoToIf($[${AMDRESULT} = HUMAN]?continue:hangup)
exten => _999[12],n(continue),GoTo(queue_dialer_camp${EXTEN:3},${CLIENTE},1)
exten => _999[12],n(hangup),HangUp()
Es un código sencillo que tengo trabajando con un dialer progresivo. Al hacer la marcación, se lanza la macro amd con el comando Dial y cuando el cliente contesta se transfiere a un contexto de entrada, el cual dependiendo de la detección de máquina o humano, lanzará a una cola de agentes en la campaña indicada, o colgará la llamada. Espero te sirva para que tomes algunos elementos de el.
Buen día a todos, alguien tiene un buen ejemplo de referencia para implementar AMD? amd.conf y aplicaciones?
--
Oscar Bello.
--
El linux en cualquier sabor es bueno, lo importante es el kernel
CARLOS ANDRÉS TAPASCO VIERA
Ingeniero Electrónico
Universidad del Valle
Linux User # 430914
http://counter.li.orghttp://krtapas.blogspot.comhttp://krtapas-en.blogspot.com
Mobile 1:
+57-3117650143Mobile 2:
+57-3012141132Santiago de Cali
Colombia
Sudamérica