[AsteriskBrasil] Limitar chamadas saintes da pasta /var/spool/aterisk/outgoing/
Bernini Asterisk
asterisk_ti em yahoo.com.br
Quinta Junho 5 17:23:45 BRT 2014
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
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
>
>
>
>
>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/90e1ceae/attachment-0001.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil