Archive for July, 2009

SlackBuild: Asterisk

Wednesday, July 22nd, 2009

Está no pub/ a minha modificação do SlackBuild do slackbuilds.org para Asterisk. Esse script faz a automatização da compilação e geração do pacote para asterisk 1.4.26. Dentre as modificações, além da atualização da versão, estão:

  • Remoção da geração dos arquivos de configuração de exemplo do asterisk. (make samples) – uma modificação na configuração do slackbuild traz esses arquivos de volta.
  • Compilação usando make -j2
  • Plataforma i686 como padrão
  • Inclusão automática da app_pickup2

Para download siga o caminho dourado até pub/slackware/packages/ ou pub/slackware/sources/asterisk.

Pub/ do guax.net

Wednesday, July 22nd, 2009

pub

Está no ar o incrível diretório pub/ do guax.net. Disponível em www.guax.net/pub ele contém alguns arquivos que eu quero compartilhar com esse mundão velho sem porteiras. :)

Esses arquivos são SlackBuilds de softwares e seus pacotes gerados assim como mirrors para meus próprios projetos.

Lá vocês já vão encontrar um README (duh!) e o primeiro slackbuild (asterisk) que eu modifiquei e estou redisponibilizado para quem quiser. Em outro post eu explico ao certo qual é a desse slackbuild. :)

Ps. Lembrando a piadinha infame do cd pub/; more beer; :D

Capturas por grupo no Asterisk

Saturday, July 11th, 2009

AsteriskUm dos problemas que enfrentamos em sistemas com Asterisk é a captura por grupo. Elas não funcionam quando se tem tecnologias diferentes em ramais e/ou se usa driver de canais de terceiros. Administrar isso se torna uma tarefa monstruosa e épica caso seu sistema seja muito grande, já que apesar de macros e modelos nos arquivos de configuração de tecnologias você precisa administrar vários deles, tarefa esta que se torna especialmente dolorosa em sistemas integrados com ramais espelhados em banco de dados.

Uma solução que eu implementei com sucesso até agora é a implementação manual de um sistema de capturas usando um script AGI e a app Pickup presente por padrão no Asterisk.

A aplicação Pickup efetua capturas de ligações recebendo como parâmetro uma extensão em um contexto. Esse tipo de captura não me ajuda em nada na maioria das vezes mas a app Pickup tem uma boa carta na manga: o contexto PICKUPMARK.

Quando o contexto passado como parâmetro para a aplicação é PICKUPMARK a aplicação vai procurar ligações que contenham a variável de canal definida como o conteúdo do exten.  Ex: Pickup(desenvolvimento@PICKUPMARK) irá procurar ligações que contenham a variável PICKUPMARK definida como ‘desenvolvimento’.

Para marcar e  capturar é necessário encontrar o real realizador da chamada e resolver seu grupo, para isso eu uso um script AGI que faz a identificação do grupo de captura baseado no callerid do originador da chamada.

;Configuração para extensão de captura
exten => _*8,1,AGI(resolv_pickup_group.php,${CALLERID(num)})
exten => _*8,n,Pickup(${PICKUPGROUP}@PICKUPMARK)
exten => _*8,n,Hangup

O funcionamento desse AGI é muito simples, o que ele faz é uma consulta no banco de dados onde estão configurados meus ramais e retornar o grupo de captura referente ao ramal passado como parâmetro.

Usa-se o mesmo script para definir o grupo da ligação quando uma ligação é efetuada para o ramal, não esqueça de executar isso antes de cada dial para o ramal que se deseja ter essa feature ativa.

;Configuração para extensão de captura
exten => _X.,1,AGI(resolv_pickup_group.php,${CALLERID(num)})
exten => _X.,n,Set(__PICKUPMARK=${PICKUPGROUP})
exten => _X.,n,Dial(${EXTEN},60,twk)
exten => _X.,n,Hangup

Perceba o pulo do gato: ao atribuir a variável eu estou usando dois _ (underlines) antes do nome da variável para determinar herença infinita na variável. Assim não é necessário defini-la como variável global e sem isso a captura não funciona quando se tem ligações concorrentes.

Mirror próprio para Slackware e Geração de CD’s

Friday, July 10th, 2009
Slackware Linux

Slackware Linux

Sexta a noite a nerdeada do dia é gerar um cd do Slackware Linux usando um mirror próprio :D .

A dica vem da ultima edição do Slackware Zine.

Its aliiiiiiiiiive…

Friday, July 3rd, 2009

Sem o conteúdo devolta, mas estamos de volta :^)

Brincando com algumas outras coisas agora mas em breve o guax.com.br (ou guax.net agora) terá mais atenção.

Hello world!

Thursday, July 2nd, 2009

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!