Skip to content

Instantly share code, notes, and snippets.

@rodrigolang
rodrigolang / lld_pgsql_dbnames.sh
Created December 15, 2012 22:20
Script para low-level discovery de bancos de dados do PostgreSQL no Zabbix 2.0.
#!/bin/bash
# Autor: Rodrigo Lang
# Data: 08/12/2012
lines=$(psql --dbname postgres -Atc '\l' | grep '|' | cut -d'|' -f1 | wc -l)
loop=1
inicio="{\"data\":["
@rodrigolang
rodrigolang / install_fs.sh
Created December 15, 2012 22:29
Script para instalação do FreeSwitch 1.0.6 no Debian ou Ubuntu.
#!/bin/sh
[ `id -u` -eq 0 ] || { echo "You must have root privilege to run this script." && exit 0; }
check_network() {
echo "\nTesting your internet connection. This process may take a few seconds..."
ping 8.8.8.8 -W5 -c1 >/dev/null;
if [ $? != "0" ]; then
@rodrigolang
rodrigolang / extensions_followme.conf
Last active December 9, 2015 16:58
Exemplo de um contexto para desvio no Asterisk 1.6. Possuir três tipos de desvio: imediato, caso ocupado e tempo expirado.
[desvios]
include => desvio-imediato
include => desvio-ocupado
include => desvio-timeout
[desvio-imediato]
exten => *50,1,Answer(1)
exten => *50,2,Set(EXISTE=${DB_EXISTS(DesvioImediato/${CALLERID(num)})})
exten => *50,3,GotoIf($["${EXISTE}" = "0"]?continua:desliga)
exten => *50,4(continua),Playback(ramal)
@rodrigolang
rodrigolang / trapper_dbsize.sh
Last active December 9, 2015 22:59
Exemplo de script para enviar dados aos items configurados como "Zabbix trapper".
#!/bin/sh
# Autor: Rodrigo Lang
# Data: 02/01/2013
SENDER='/usr/local/zabbix/bin/zabbix_sender'
HOST='Zabbix server'
IP='127.0.0.1'
ALL_DBS=$(psql --dbname postgres -Atc "SELECT pg_database.datname, PG_DATABASE_SIZE(pg_database.datname) AS SIZE FROM pg_database")
@rodrigolang
rodrigolang / extensions_cadeado.conf
Last active August 8, 2022 17:20
Facilidade de cadeado para Asterisk versões 1.4, 1.6 e 1.8.
[cadeado]
;;;Ativa cadeado
exten => _*55,1,Answer()
exten => _*55,2,Wait(1)
exten => _*55,3,Set(Pass=${DB(Senha/${CALLERID(num)})})
exten => _*55,4,Authenticate(${Pass},d)
exten => _*55,5,Set(DB(Cadeado/${CALLERID(num)})=1)
exten => _*55,6,Playback(cadeado-ativo)
@rodrigolang
rodrigolang / extensions_cadeado.ael
Last active December 10, 2015 21:58
Facilidade de cadeado para Asterisk versões 1.4, 1.6 e 1.8 escrita em AEL.
context cadeado {
*55 => {
Answer();
Wait(1);
Set(Pass=${DB(Senha/${CALLERID(num)})});
Authenticate(${Pass},d);
Set(DB(Cadeado/${CALLERID(num)})=1);
Playback(cadeado-ativo);
}
*56 => {
@rodrigolang
rodrigolang / extensions_followme.ael
Last active July 1, 2016 13:54
Exemplo de um contexto para desvio no Asterisk 1.6. Possuir três tipos de desvio: imediato, caso ocupado e tempo expirado, escrito em AEL.
context desvios {
includes {
desvio-imediato;
desvio-ocupado;
desvio-timeout;
}
}
context desvio-imediato {
*50 => {
@rodrigolang
rodrigolang / extensions_password.conf
Created January 10, 2013 22:49
Saída de ligações com senha para Asterisk.
[saida-de-ligacoes]
exten => _X.,1,Answer()
exten => _X.,2,Wait(1)
exten => _X.,3,Set(Pass=${DB(Senha/${CALLERID(num)})})
exten => _X.,4,Authenticate(${Pass},d)
exten => _X.,5,Set(CDR(userfield)=${Pass})
exten => _X.,6,Dial(...)
exten => _X.,7,Hangup()
@rodrigolang
rodrigolang / extensions_password.ael
Created January 10, 2013 22:52
Saída de ligações com senha para Asterisk, escrita em AEL.
context saida-de-ligacoes {
_X. => {
Answer();
Wait(1);
Set(Pass=${DB(Senha/${CALLERID(num)})});
Authenticate(${Pass},d);
Set(CDR(userfield)=${Pass});
Dial(...);
Hangup();
}
@rodrigolang
rodrigolang / extensions_login.conf
Last active December 10, 2015 22:59
Exemplo de ligações por login e senha utilizando o AstDB do Asterisk.
[verifica-login]
exten => _X.,1,Answer()
exten => _X.,2,Wait(1)
exten => _X.,3,Playback(digite-login)
exten => _X.,4,Read(login,,4,,,)
exten => _X.,5,Set(pass=${DB(Senha/${login})})
exten => _X.,6,Authenticate(${pass},d)
exten => _X.,7,Set(CDR(userfield)=${login})
exten => _X.,8,Goto(${login},${EXTEN},1)
exten => _X.,9,Hangup()