Tengo un DID X que esta asociado a un E1 de 30 lineas, segun lo contratado el DID X puedo utilizar 10 canales, como es temporal es mejor hacerlo en mi elastix he intentado hacerlo por medio de grupos [macro-restriccion-canales] ;ARG1 = Numero de Canales activos ;ARG2 = Servicio ;MACRO_EXTEN = DID X exten => s,1,GotoIf($["${GROUP_COUNT(${MACRO_EXTEN}@${ARG2})}" < "${ARG1}"]?librecupado) exten => s,n(libre),NoOp(${MACRO_EXTEN} ${GROUP_COUNT(${MACRO_EXTEN}@${ARG2})}) exten => s,n,Set(OUTBOUND_GROUP=GROUP(${MACRO_EXTEN}@${ARG2})) exten => s,n,MacroExit() exten => s,n(ocupado),NoOp(Ocupado ${ARG2}) exten => s,n,Busy() exten => s,n,Hangup Agradezco su colaboración
Hola Lo que tu deseas es poner restricciones a un canal determinado a todas las extensiones? o solo algunas? Has probado el modulo outbound permissions?
las restricciones es para llamadas entrantes a un servicio en particular, el numero esta registrado para que ingrese en los 30 canales del E1, pero yo quiero que ingresen solo X cantidad.
Se me ocurre que lo podrías hacer utilizando astDB. Es decir, que las llamadas entrantes las envías a un contexto donde vas incrementando el número de llamadas, si el número de llamadas es menor o igual al que quieres, le haces un Goto a donde quieres que vaya, caso contrario, le haces un Hangup. Claro, es clave que cuando se cierre la llamada, deberás decrementar el número de llamadas concurrentes, ésto le deberás hacer cuando se ejecute la prioridad h en tu plan de marcado.