Show de bola!!!! Em quinta-feira, 5 de junho de 2014, Rafael dos Santos Saraiva < rafaels...@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...@yahoo.com.br > <javascript:_e(%7B%7D,'cvml','asterisk...@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 < >> rafaels...@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> >> > >
_______________________________________________ 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-unsubscr...@listas.asteriskbrasil.org