PABX da Simples IP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
5.9 KiB

#!/bin/bash
export PGPASSWORD=ctepgSQL
#DADOS=$(psql -Atc "select numero,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,dispositivo||'/'||numero as dispositivo from pbx_ramais_pbx" -d pbx)
#DADOS=$(psql -Atc "select numero,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,dispositivo||'/'||numero as dispositivo from pbx_ramais_pbx union all select nome,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,dispositivo from pbx_iax_pbx union all select numero,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,dispositivo from pbx_dgv union all select nome,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,callerid,callerid2,conta_senha,dispositivo from pbx_sip_ramais" -d pbx)
#Incluido ramais dahdi, khomp e voicemal para todos os tipos de ramais.
DADOS=$(psql -Atc "select numero,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,dispositivo||'/'||numero as dispositivo,voicemail,ring_time from pbx_ramais_pbx union all select nome,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,dispositivo,mailbox,ring_time from pbx_iax_pbx union all select numero,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,dispositivo,voicemail,ring_time from pbx_dgv union all select nome,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,callerid,callerid2,conta_senha,dispositivo,mailbox,ring_time from pbx_sip_ramais union all select numero,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,dispositivo,voicemail,ring_time from pbx_dahdi union all select numero,espera,sigame_interno,sigame_externo,sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,gravacao_saida,senha_facilidade,identificador,identificador2,conta_senha,'Khomp/r'||numero,voicemail,ring_time from pbx_khomp where numero <> '0'" -d pbx)
echo "$DADOS" | while read LINHA; do
#Separando as informacoes em variaveis
RAMAL=$(echo "$LINHA" | cut -d "|" -f1)
CHAMADA_ESPERA=$(echo "$LINHA" | cut -d "|" -f2)
SIGAME_INTERNO=$(echo "$LINHA" | cut -d "|" -f3)
SIGAME_EXTERNO=$(echo "$LINHA" | cut -d "|" -f4)
SIGAME_NAOATENDE=$(echo "$LINHA" | cut -d "|" -f5)
SIGAME_OCUPADO=$(echo "$LINHA" | cut -d "|" -f6)
GRAVACAO_IN=$(echo "$LINHA" | cut -d "|" -f7)
MUSICA_ESPERA=$(echo "$LINHA" | cut -d "|" -f8)
NAOPERTUBE=$(echo "$LINHA" | cut -d "|" -f9)
CADEADO=$(echo "$LINHA" | cut -d "|" -f10)
GRAVACAO_OUT=$(echo "$LINHA" | cut -d "|" -f11)
SENHA=$(echo "$LINHA" | cut -d "|" -f12)
BINA=$(echo "$LINHA" | cut -d "|" -f13)
BINA_EXTERNO=$(echo "$LINHA" | cut -d "|" -f14)
CONTA_SENHA=$(echo "$LINHA" | cut -d "|" -f15)
DISPOSITIVO=$(echo "$LINHA" | cut -d "|" -f16)
VOICEMAIL=$(echo "$LINHA" | cut -d "|" -f17)
RING=$(echo "$LINHA" | cut -d "|" -f18)
if [ -z "$SIGAME_INTERNO" ] ; then
SIGAME_INTERNO="F"
fi
if [ -z "$SIGAME_EXTERNO" ] ; then
SIGAME_EXTERNO="F"
fi
if [ -z "$SIGAME_NAOATENDE" ] ; then
SIGAME_NAOATENDE="F"
fi
if [ -z "$SIGAME_OCUPADO" ] ; then
SIGAME_OCUPADO="F"
fi
if [ -z "$MUSICA_ESPERA" ] ; then
MUSICA_ESPERA="default"
fi
if [ -z "$BINA_EXTERNO" ] ; then
BINA_EXTERNO="\"\""
fi
if [ -z "$RING" ] ; then
RING="25"
fi
echo "RAMAL => $RAMAL"
echo $CHAMADA_ESPERA
echo $SIGAME_INTERNO
echo $SIGAME_EXTERNO
echo $SIGAME_NAOATENDE
echo $SIGAME_OCUPADO
echo $GRAVACAO_IN
echo $MUSICA_ESPERA
echo $NAOPERTUBE
echo $CADEADO
echo $GRAVACAO_OUT
echo $SENHA
echo $BINA
echo $BINA_EXTERNO
echo $CONTA_SENHA
echo $DISPOSITIVO
echo $VOICEMAIL
echo $RING
asterisk -rx "database put NAOPERTUBE $RAMAL $NAOPERTUBE"
asterisk -rx "database put SIGAME-INTERNO $RAMAL $SIGAME_INTERNO"
asterisk -rx "database put SIGAME-EXTERNO $RAMAL $SIGAME_EXTERNO"
asterisk -rx "database put CHAMADA-ESPERA $RAMAL $CHAMADA_ESPERA"
asterisk -rx "database put MUSICA-ESPERA $RAMAL $MUSICA_ESPERA"
asterisk -rx "database put GRAVACAO-IN $RAMAL $GRAVACAO_IN"
asterisk -rx "database put GRAVACAO-OUT $RAMAL $GRAVACAO_OUT"
asterisk -rx "database put SIGAME-OCUPADO $RAMAL $SIGAME_OCUPADO"
asterisk -rx "database put SIGAME-NAOATENDE $RAMAL $SIGAME_NAOATENDE"
asterisk -rx "database put DIAL $RAMAL $DISPOSITIVO"
asterisk -rx "database put SENHA $RAMAL $SENHA"
asterisk -rx "database put CADEADO $RAMAL $CADEADO"
asterisk -rx "database put BINA-EXTERNO $RAMAL $BINA_EXTERNO"
asterisk -rx "database put BINA-NOME $RAMAL $BINA"
asterisk -rx "database put CONTA-SENHA $RAMAL $CONTA_SENHA"
asterisk -rx "database put DIAL $RAMAL $DISPOSITIVO"
asterisk -rx "database put RING $RAMAL $RING"
if ! [ -z "$VOICEMAIL" ] ; then
asterisk -rx "database put VM $RAMAL $VOICEMAIL"
fi
done
export PGPASSWORD=ctepgSQL
DADOS=$(psql -Atc "select caixa_postal from pbx_voicemail_usuarios" -d pbx)
echo "$DADOS" | while read LINHA; do
asterisk -rx "database put VM $LINHA $LINHA"
done