[AsteriskBrasil] Elastix com OpenVox A1200P: Version 1.2

Ademir Costa Peixoto ademir em tellecom.com.br
Quinta Março 5 10:14:08 BRT 2009


Prezados,


    O equipamento acima (OpenVox A1200P: Version 1.2 ) estava funcionando num TRIXBOX.
    Aí durante uma tempestade ele parou de funcionar.  Os ramais FXS não davam linha e nem as FXO sinalizavam o toque de entrada (teoricamente o ráio queimou a placa).
    Partimos pra uma nova instalação com o Elastix. E a placa funcionou sem grandes problemas (apenas 2 módulos FXO não foram reconhecidos).
    Ele reconheceu  2 FXOs (4 ao todo) e ao tentar usar sempre recebo "all services are busy now".
    Olhando no zapata.conf vejo apenas os 2 que são "bons".
    O que pode estar acontecendo? Porque essa mensagem de "busy"?


    Ats,

    Ademir Peixoto

    

    


  ----- Original Message ----- 
  From: Rodrigo Vian 
  To: asteriskbrasil em listas.asteriskbrasil.org 
  Sent: Wednesday, March 04, 2009 3:19 PM
  Subject: Re: [AsteriskBrasil] RES: QUEUE - Enviar dados


  Oi Ciro, tudo bem?

  Não to falando que não é confiável o queue_log.
  Já pedi ajuda para um pessoal que programa em bash script e teoricamente o script está correto... ele funciona por alguns instantes, mas ele se perde depois de um tempo em funcionamento...

  Em anexo está meu programa. IMPORTANTE: Tem que rodar como daemon.
  comando para execução do script: ./asterqueue &

  Você teria como me enviar o seu script para eu ver?

  Ciro escreveu: 
Uso o queue_log como fonte de informação desde o * 1.0 e em produção.
Nunca tive problema, e digo mais, é completamente confiável.

Ciro

-----Mensagem original-----
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de
Leonardo Gomes Figueira
Enviada em: quarta-feira, 4 de março de 2009 13:01
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] QUEUE - Enviar dados


Rodrigo Vian escreveu:
  É exatamente o que fiz, ler os eventos do queue_log... mas não sei 
porque, está gerando-se processos filhos, ou seja, mais de um processo
    
  para o mesmo script e é ai que para de puxar as variáveis do queue_log
    
  corretamente...
    
Provavelmente há algum erro de lógica na criação das threads ou
processos do seu script.

  Você teria algum exemplo em manager e/ou agi???
    
Não.

  Leonardo
_______________________________________________
Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
rodando o Android da Google. http://www.neodroid.com

Compre uma camiseta da AsteriskBrasil.org! http://www.voipmania.com.br

Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro
na rede Freenode.net: #asterisk-br
_______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Openmoko Freerunner, primeiro telefone open source, disponível no Brasil rodando o Android da Google.
http://www.neodroid.com

Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br

Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br
_______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
  
  Rodrigo S. Vian
  Analista/Programador
  Porttal Tecnologia
  Soluções em Telefonia & PBX-IP
  http://www.porttaltecnologia.com.br
  fone/fax: (19) 3542-9667

  |-- Antes de imprimir, pense em sua responsabilidade com o Meio Ambiente --|



------------------------------------------------------------------------------


  #!/bin/sh

  #Source Library functions
  . /etc/rc.d/init.d/functions

  #Checa se o processo ja esta em execucao
  if [ -f /var/run/asterqueue.pid ]; then 
  OLDPID=`head -n 1 /var/run/asterqueue.pid` 
  if [ -f /proc/${OLDPID}/cmdline ] && ps -p ${OLDPID} >/dev/null 2>&1; then
  echo "Asterqueue ja esta sendo executado..."
  exit 1
  else 
  rm -f /var/run/asterqueue.pid 
  fi
  fi 

  #Pega o PID do Processo
  echo "$$" > /var/run/asterqueue.pid

  #Define Local de LOG
  LOGDIR="/var/log/asterisk"
  #Define Local do Arquivo de Log da Fila do Asterisk
  QUEUE_LOG="/var/log/asterisk/queue_log"
  #Define Filas a serem monitoradas
  QUEUEMON="9667"

  CHECK_LAST_LINE=""
  NCALL=0

  [ -f $LOGDIR/asterqueue.log ] || touch $LOGDIR/asterkria.log
  #DEBUG DAS VARIAVEIS - FASE DE TESTE
  [ -f $LOGDIR/debugasterqueue.log ] || touch $LOGDIR/debugasterkria.log

  while [ true ]
  do
  CHECK_QLOG=`tail -n 1 $QUEUE_LOG`
  CHECK_EVENT=`tail -n 1 $QUEUE_LOG | cut -d \| -f 5`
  CHECK_UNIQUEID=`tail -n 1 $QUEUE_LOG | cut -d \| -f 2`
  CHECK_QCID=`tail -n 1 $QUEUE_LOG | cut -d \| -f 7`
  CHECK_TIME=`tail -n 1 $QUEUE_LOG | cut -d \| -f 1`

  if [ "$CHECK_TIME" != "$CHECK_LAST_LINE" ] 
  then
  DATE=`date +%Y%m%d-%H%M%S`
  echo $DATE-$CHECK_QLOG >> $LOGDIR/asterqueue.log
  CHECK_LAST_LINE="$CHECK_TIME"
  if [ "$CHECK_EVENT" = "ENTERQUEUE" ]
     then
  QUEUES[$NCALL]="$CHECK_UNIQUEID-$CHECK_QCID"
  #DEBUG
  echo ENTERQUEUE - Variavel QUEUES ${QUEUES[$NCALL]} >> $LOGDIR/debugasterqueue.log
  tQL=$[${#QUEUES[*]} - 1]
  #DEBUG
                  echo ENTERQUEUE - Variavel tQL $tQL >> $LOGDIR/debugasterqueue.log
  if [ $NCALL = $tQL ]
  then
     ((NCALL++))
     #DEBUG
                     echo ENTERQUEUE   Variavel NCALL++ $NCALL >> $LOGDIR/debugasterqueue.log
  else
     NCALL=${#QUEUES[*]}
     #DEBUG
                     echo ENTERQUEUE - Variavel NCALLQUEUES $NCALL >> $LOGDIR/debugasterqueue.log
  fi
  fi

  if [ "$CHECK_EVENT" = "CONNECT" ]
     then
  tQL=${#QUEUES[*]}
  #DEBUG
  echo CONNECT - Variavel tQL $tQL >> $LOGDIR/debugasterqueue.log
  for (( i=0; i<${tQL}; i++ ));
    do
  CHECK_QUEUES=`echo ${QUEUES[$i]} | cut -d - -f 1`
  #DEBUG
  echo CONNECT - Variavel CHECK_QUEUES $CHECK_QUEUES >> $LOGDIR/debugasterqueue.log

  if [ "$CHECK_QUEUES" = "$CHECK_UNIQUEID" ]
     then
  SRC=`echo ${QUEUES[$i]} | cut -d - -f 2`
  #DEBUG
  echo CONNECT - Variavel SRC $SRC >> $LOGDIR/debugasterqueue.log
  GET_CHANNEL=`rasterisk -rx "core show channels concise" | grep $QUEUE | grep "Bridged Call" | grep $SRC | cut -d ! -f 1`
  #DEBUG
  echo CONNECT - Variavel GET_CHANNEL $GET_CHANNEL >> $LOGDIR/debugasterqueue.log
  echo CONNECT - Variavel CHECKQCID $CHECK_QCID >> $LOGDIR/debugasterqueue.log
  DST=`rasterisk -rx "core show channel $GET_CHANNEL" | grep dst | cut -d = -f 2`
  echo CONNECT $QUEUE:$SRC-$DST >> $LOGDIR/debugasterqueue.log
  NCALL=$i
  #DEBUG
  echo CONNECT - Variavel NCALL $NCALL  >> $LOGDIR/debugasterqueue.log
  break
  fi 
    done
  fi
  fi
  sleep 1
  done



------------------------------------------------------------------------------


  _______________________________________________
  Openmoko Freerunner, primeiro telefone open source, disponível no Brasil rodando o Android da Google.
  http://www.neodroid.com

  Compre uma camiseta da AsteriskBrasil.org!
  http://www.voipmania.com.br

  Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br
  _______________________________________________
  Lista de discussões AsteriskBrasil.org
  AsteriskBrasil em listas.asteriskbrasil.org
  http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20090305/2d9c90ce/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil