limitar minutos en un troncal
dariohimo
sí, seria lo recomendado. Si no funciona en el override.
dickson
You can use custom.conf if you like. That and issabel_override will work, its all a matter of your preference.
I write pure custom dialplan into custom.conf and I put things that I'm modifying that issabel does already into that file to keep it sorted.
hgmnetwork
dickson Un gran aporte amigo, muchisimas gracias por compartirlo.
RiveraPer
Ok, solo un cambio, esto:
SELECT if(sum(duration) < 60000, 1, 0)
Devuelve un 1 sin no se ha superado el tiempo, por lo que lo he cambiado por:
SELECT if(sum(duration) < 60000, 0, 1)
dariohimo
example.
https://community.asterisk.org/t/limit-total-minutes-outbound-calls-for-a-extension-monthly/70069
SELECT sum(billsec) as totalminutes from cdr where MONTH(start)=month(CURDATE()) FROM cdr
same => n,GotoIf($[${totalminutes}>=100]?minutesexceed)
RiveraPer
Amigos, si mi cliente adquiere esta modificación, la cual venderé por 300 euros, ¿a que cuenta bancaria debo hacer la donación a Issabel?
dickson
There's a "DONATE" button right on the web page, you can do it through paypal for them?
RiveraPer
OK, gracias por todo.
dariohimo
seria bueno la donación para el desarrollo por web.
Y el código como quedo.
RiveraPer
dariohimo El código OK, lo metí en extensions_custom.conf y perfecto, tendré que cambiar el SELEC ya que los bonos no empiezan el día 1 del mes ni son un mes antes, en unos operadores empiezan los días 17 y en otros el 1 etc. Lógicamente los cambios que se realicen por web sobre esta ruta no serán efectivos, lo que tendré que añadir a la ficha del cliente para no volverme loco si algún día tengo que cambiar esta ruta.
Y lo que le cobre al cliente lo donare a Issabel.
dariohimo
me refiero es aun desarrollo para que por web se administre los minutos de las troncales.
RiveraPer
Eso seria ideal, un nuevo modulo a desarrollar. Y podría formar parte de la configuración de rutas salientes, cuando haya mas de un troncal tener la opción de limitar el primero en tiempo. Lo complejo, como dije antes puede ser seleccionar ademas el día de inicio.
O también ver porque las rutas dinámicas, las cuales permiten salida por lineas, pierden el numero a marcar.
hgmnetwork
en breve posiblemente se solicite ayuda para pasar issabel a centos 8 ahora mismo creo que no hay, pero espero que en breve se ponga todo y se prepare para esto
alejandromanuel22
hgmnetwork porque no buscar un sistema operativo version lts?
hgmnetwork
A que te refieres con versión lts?
alejandromanuel22
hgmnetwork long time services, reciben actualizaciones por largo tiempo. y no suelen ser depreciados rapidamente.
dariohimo
alejandromanuel22 lo ideal seria no instalar desde rpm sino directo desde github, varios proyectos lo están manejando así.
hgmnetwork
estaba dandole una vuelta a lo indicado para limitar un troncal, pero se les ocurre como poder implementarlo para limitar una extensión ? para que solo pueda emitir por ejemplo 1000 minutos/mes ? si se pudiera hacer similar al troncal pero por extensión estaría genial, si la extension por ejemplo ha generado menos de 1000 minutos en el ultimo mes ( del 1 al dia actual) permite la llamada, si no le sale locución ha superado su consumo por ejemplo
se les ocurre como podria hacerse ?
dickson
Sure.
You can do it with the exact same steps above, but use this SQL code instead:
exten => _.,n,MYSQL(Query resultid ${connid} SELECT if(sum(duration) < 60000, 1, 0) FROM cdr WHERE (calldate between DATE_FORMAT(NOW() ,'%Y-%m-01') AND NOW() ) and src like '${AMPUSER}')
This code will say "if time is under 60000 seconds (1000min) return "true" (0) else it will return a (1)
Modify your IF statement. IF "1" (under the duration limit) go out trunk.
If is over the time limit, returns a "0", system will then say "TIME" and then say "all circuits are busy..." then hangup.
exten => _.,n,execif($["${dynroute}" = "1"]?macro(dialout-trunk,1,${EXTEN},,off))
exten => _.,n,execif($["${dynroute}" = "0"]?playback(time))
exten => _.,n,Macro(outisbusy,)
hgmnetwork
ok, genial!, un gran aporte, lo único que esto seria genérico para todas las extensiones, mi idea seria poder de alguna forma cada extensión poder indicar por ejemplo una extensión con 200 minutos al mes, otra con 500, otra con 1000 etc. voy a ver si le doy una vuelta de como hacerlo directo en la web o bien añadiendo una opcion más que indique el volumen de minutos y a posterior verifique, al menos así se asegura que cada extensión podrá realizar solo los minutos contratados o asignados.