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

Rafael dos Santos Saraiva rafaelsnsa em gmail.com
Quinta Junho 5 17:18:22 BRT 2014


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/8ce1f35a/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil