[AsteriskBrasil] Limitar chamadas saintes da pasta /var/spool/aterisk/outgoing/

Rafael dos Santos Saraiva rafaelsnsa em gmail.com
Quinta Junho 5 23:07:29 BRT 2014


Não gosto de deixar nada pela metade, então ai vai o script completo:
http://www.astdocs.com/2014/06/discador-para-asterisk-integrado-com.html


Att,
*Rafael dos Santos Saraiva*
<http://br.linkedin.com/pub/rafael-saraiva/52/aab/230>


Em 5 de junho de 2014 17:23, Bernini Asterisk <asterisk_ti em yahoo.com.br>
escreveu:

> boa tarde
> Cara vou testar !
>
> Muito obrigado pela ajuda
>
> Deu uma boa clareada nas "ideias"
> hehe
>
> valeu msm !
>
>
>
>   Em Quinta-feira, 5 de Junho de 2014 17:18, Rafael dos Santos Saraiva <
> rafaelsnsa em gmail.com> escreveu:
>
>
> Fiz um esboço de um script:
>
>
> ######## INICIO #################
> #!/bin/bash
> # create table numeros( id int auto_increment primary key, numero
> varchar(50), usado varchar(50)) engine=innodb;
>
> DBUSER=''
> DBPASS=''
> DBNAME=''
> DBTABLE=''
> CHANNLIMIT='30'
>
> while :
> do
>         mysql -u${DBUSER} -p${DBPASS} --skip-column-names ${DBNAME} -B -e
> "SELECT numero FROM ${DBTABLE} WHERE usado != '1'" | while read NUMBER; do
>         NCALLS=`/usr/sbin/asterisk -rx "core show channels" | grep "DAHDI"
> | wc -l`
>                 if [ "${NCALLS}" -lt "${CHANNLIMIT}" ]; then
>
>
>                         #editar aqui com os comandos para criar o arquivo
> .call
>
>
>                         mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "UPDATE
> ${DBTABLE} SET usado='1' WHERE numero='${NUMBER}'"
>                 fi
>         done
> done
> ########  FIM #################
>
>
> Preencha as variáveis e crie a tabela conforme o exemplo do inicio do
> script. Falta só os comandos para a criação do arquivo em si(indiquei onde
> colocar ali em cima).
>
> Ahh, o script faz o seguinte:
> -Lê os numeros da tabela,  se o campo "usado" for diferente de "1" , cria
> o arquivo .call e muda o registro do campo "usado" daquele numero para '1'.
> Tudo isso, desde que a quantidade de canais DAHDI em uso no momento seja
> menor que 30(CHANNLIMIT).
>
> Ele fica rodando em loop, ou seja, sempre que você adicionar um registro
> novo, ele já vai ler e realizar o processo.
>
> Espero ter ajudado.
>
>
>
>
> Att,
> *Rafael dos Santos Saraiva*
> <http://br.linkedin.com/pub/rafael-saraiva/52/aab/230>
>
>
> Em 5 de junho de 2014 16:10, Bernini Asterisk <asterisk_ti em yahoo.com.br>
> escreveu:
>
> boa tarde
>
> Cara não manjo muito de my sql
> achei legal sua ideia , realmente seria melhor adicionar todos os números
> em um banco de dados
> porém como eu faço para adicionar-los e depois para colsutar
> por exemplo
> vou jogar um arquivo .txt dentro da pasta ai ele vai ler linha por linha
> oque ele faz hj é ler linha por linha e criar um .call
> no caso teria quer ler linha por linha e adicionar no banco
>
> se tiver alguma dica aceito rsrsrs
>
> valeuuu
>
>
>
>   Em Quinta-feira, 5 de Junho de 2014 15:05, Rafael dos Santos Saraiva <
> rafaelsnsa em gmail.com> escreveu:
>
>
> Boa Tarde Breno
>
> Eu faria assim:
> Pegaria a quantidade de chamadas ativas, levando em conta que cada chamada
> ativa esteja utilizando um canal do E1 e que não existam chamadas entre
> ramais internos:
> CALLS=`/usr/sbin/asterisk -rx "core show channels" | grep "active calls" |
> cut -d' ' -f1`
>
> Assim, coloque o seu script em loop:
> Enquanto CALLS < 30 { criar .call e joga em val/lib/as*/outgoing}
>
> Lembre-se que neste caso, você precisa 'setar' se o asterisk já ligou para
> o número, se não a cada loop o script vai começar do inicio da lista. Minha
> recomendação seria colocar esses numeros em um BD e a cada arquivo .call
> criado marcar na tabela para ser ignorado na próxima leitura.
>
>
>
>
> Att,
> *Rafael dos Santos Saraiva*
> <http://br.linkedin.com/pub/rafael-saraiva/52/aab/230>
>
>
> Em 5 de junho de 2014 14:43, Bernini Asterisk <asterisk_ti em yahoo.com.br>
> escreveu:
>
>
>
>
>
>
>
>  Boa tarde senhores
>
> Estou criando um discador em bash e asterisk
>
> porém me deparei com um problema
> ao jogar um arquivo txt com os números la dentro ele joga todos os .call
> criados
> aqui na empresa tenho 30 linha entrantes e saintes ou seja coloco mais de
> 1000 numeros  rsrs a pasta /var/spool/asterisk/outgoing/ tenta fazer os
> 1000 ao mesmo tempo
>
> existe alguma maneira de eu limitar isso ?
> por exemplo gostaria de enviar os 1000 arquivos .call
> porém o outgoing ia enviar 20 de umas vez , depois que liberar 1 linha ele
> manda mais um , liberou 3 linhas manda mais três
> existe alguma maneira de fazer isso ?
>
>
>
> Muito obrigado galera !
> assim que o discador ficar pronto posto aqui para todos
> se alguém gostar pode utilizar !
>
>
>
> valeuu
>
>
>
> _______________________________________________
>
> WORKOFFEE KHOMP: Eventos Khomp na sua cidade! Desenvolva seu
> conhecimento na tecnologia e portfólio Khomp. Próxima edição
> em BELO HORIZONTE, 26 de junho. Inscrições GRATUITAS.
> Garanta a sua vaga e saiba mais em: www.workoffee.com.br
> _______________________________________________
> ALIGERA – Fabricante e desenvolvedor nacional de Soluções para telefonia
> IP .
> Gateway Sip, Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Banco de Canais Analógicos  – Appliance Asterisk
>  Acesse www.aligera.com.br
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
>
>
>
>
>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20140605/5dbee466/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil