Hola cree un flujo para un marcador en el CFD siguiendo la documentación: https://www.3cx.com/docs/cfd-creating-outbound-dialer/
las llamadas las asigno a una cola con extensión 8001
cuando lo subo al portal de 3CX en Avanzados - "Call Processing Script" le asigno los digitos a marcar 1111 para activarlo. luego en un asisten virtual le digo que al marcar 5 llame al script.
Marco a mi número de troncal y luego me contesta el asisten virtual y marco 5, la llamada se cuelga y no hace ninguna llamada,
revisando el código encuentro que primero marca al numero que quiero llamar para luego asignarlo a la extension de la cola.
doMakeCall.OriginHandler = () =>
{
int callIndex = Convert.ToInt32(getCallIndex.ReturnValue);
return Convert.ToString(CFDFunctions.TRIM(Convert.ToString(numbersToCall[callIndex])));
};
doMakeCall.DestinationHandler = () => { return Convert.ToString("8001"); };
Por alguna razón que desconozco la llamada saliente no hace, pero si cambio el orden del componente para que primero marque a la cola y luego al número que quiero llamar las llamadas si se hacen
Comente la parte del codigo como lo genero el CFD e invertí las propiedades OriginHandler y DestinationHandler
//doMakeCall.OriginHandler = () =>
//{
// int callIndex = Convert.ToInt32(getCallIndex.ReturnValue);
// return Convert.ToString(CFDFunctions.TRIM(Convert.ToString(numbersToCall[callIndex])));
//};
//doMakeCall.DestinationHandler = () => { return Convert.ToString("8001"); };
doMakeCall.OriginHandler = () => { return Convert.ToString("8001"); };
doMakeCall.DestinationHandler = () =>
{
int callIndex = Convert.ToInt32(getCallIndex.ReturnValue);
return Convert.ToString(CFDFunctions.TRIM(Convert.ToString(numbersToCall[callIndex])));
};
Si bien esto funciona, necesito que funcione como viene en la documentación, es decir que primero llame al número y cuando conteste lo mande a la cola ¿Porque esto no funciona? y porque si funciona cuando primero marco a la cola y luego al numero saliente?
¿Como soluciono este asunto?
Otro detalle que tengo es que este script solo se ejecuta una vez, es decir así como lo modifique marca a la cola y luego hace las llamadas, pero al terminar todas las llamadas e intentar volver a probar ya no funciona, es como si las llamadas se quedaran colgadas o no se que pase.
las llamadas las asigno a una cola con extensión 8001
cuando lo subo al portal de 3CX en Avanzados - "Call Processing Script" le asigno los digitos a marcar 1111 para activarlo. luego en un asisten virtual le digo que al marcar 5 llame al script.
Marco a mi número de troncal y luego me contesta el asisten virtual y marco 5, la llamada se cuelga y no hace ninguna llamada,
revisando el código encuentro que primero marca al numero que quiero llamar para luego asignarlo a la extension de la cola.
doMakeCall.OriginHandler = () =>
{
int callIndex = Convert.ToInt32(getCallIndex.ReturnValue);
return Convert.ToString(CFDFunctions.TRIM(Convert.ToString(numbersToCall[callIndex])));
};
doMakeCall.DestinationHandler = () => { return Convert.ToString("8001"); };
Por alguna razón que desconozco la llamada saliente no hace, pero si cambio el orden del componente para que primero marque a la cola y luego al número que quiero llamar las llamadas si se hacen
Comente la parte del codigo como lo genero el CFD e invertí las propiedades OriginHandler y DestinationHandler
//doMakeCall.OriginHandler = () =>
//{
// int callIndex = Convert.ToInt32(getCallIndex.ReturnValue);
// return Convert.ToString(CFDFunctions.TRIM(Convert.ToString(numbersToCall[callIndex])));
//};
//doMakeCall.DestinationHandler = () => { return Convert.ToString("8001"); };
doMakeCall.OriginHandler = () => { return Convert.ToString("8001"); };
doMakeCall.DestinationHandler = () =>
{
int callIndex = Convert.ToInt32(getCallIndex.ReturnValue);
return Convert.ToString(CFDFunctions.TRIM(Convert.ToString(numbersToCall[callIndex])));
};
Si bien esto funciona, necesito que funcione como viene en la documentación, es decir que primero llame al número y cuando conteste lo mande a la cola ¿Porque esto no funciona? y porque si funciona cuando primero marco a la cola y luego al numero saliente?
¿Como soluciono este asunto?
Otro detalle que tengo es que este script solo se ejecuta una vez, es decir así como lo modifique marca a la cola y luego hace las llamadas, pero al terminar todas las llamadas e intentar volver a probar ya no funciona, es como si las llamadas se quedaran colgadas o no se que pase.
