Archive for August, 2009

Atualizando Slackware 12.2 para 13.0

Monday, August 31st, 2009

Dia 26 de agosto foi lançada a versão numero 13.0 do Slackware Linux. Com kde 4, novo sistema de pacotes e toneladas de mudanças a atualização pode confundir algumas pessoas. Aqui fica meu passo a passo de como atualizar:

  1. Edite seu /etc/slackpkg/mirrors e coloque o repositório do 13.0
  2. slackpkg update

Aqui vem o macete. Primeiro atualize esses dois indivíduos e instale esse outro:

  1. slackpkg install xz
  2. slackpkg upgrade pkgtools
  3. slackpkg upgrade slackpkg

Por fim, é só executar o de sempre:

  1. slackpkg install-new
  2. slackpkg upgrade-all

Have fun com seu Slackware 13.0 :)

Ponto de vista é tudo

Saturday, August 29th, 2009

A nokia lança seu novo “itablet” ou “mid” (mobile internet device) em sucessão ao n810, chamando de computador portatil destinado a internet. O doce n900:

WANT!

WANT!

A info chama de smartphone, diz que é um concorrente do Symbian e do iPhone. Essas comparações só estragam a real intenção das companhias com alguns produtos. Enquanto a nokia pretende criar ou usar um nicho de mercado que o iphone não corre. Haverão milhões que reclamarão que o “telefone” da nokia é grande pesado e não tem uma maçã.

Ps. e ta certo que a nokia é da Finlândia mas a Europa nunca foi conhecida como continente gelado =P. (vide a segunda referência).

Referências: nokia e info.

Asimov, Isaac. Fundação

Wednesday, August 26th, 2009
fundacao

Li a versão em português da Editora ALEPH

Após a quebra do império galático galáctico, um bando de cientístas encarregados de fazer uma enciclopédia descobre que os planos para eles são um pouco mais complexos do que o esperado. Leitura super fluente e interessante. O livro vale cada paragrafo. É extremamente interessante a forma escarrada como é demonstrada os cenários políticos que vemos em nossa própria história.

Encontrei uma cópia da primeira edição de The Gods Themselves do Asimov na biblioteca da UFSC. Se for bom eu recomendo aqui também.

CDR no Asterisk, nada bom :(

Thursday, August 20th, 2009

O Call Detail Record no Asterisk PBX é feito por um modulo homônimo que aceita diversos backends para persistencia dos dados em SGDB’s, csv, odbc, etc. Sua força está na sua simplicidade quanto ao uso, já vem por padrão no Asterisk e funciona muito bem para a maioria dos casos. Mas nem tudo são flores, dentre seus problemas mais graves estão: inconsistencia na gravação do status da ligação em transferencias cegas, ligações que deveriam ser ANSWER estão NOANSWER. Nenhuma confiabilidade nos dados de transferencia assistida. O campo ‘uniqueidNÃO É UNICO.

Asterisk sobre Você

Asterisk sobre Você

Ainda há o fato da tabela do banco de dados ter uma estrutura travada e não mapeavel, o que faz com que a customização da mesma seja um processo doloroso e até mesmo inviável.

O que fazer? Fazer um só pra você horas. Todo bom nerd que se prese acha sabe que pode fazer melhor. Então vamos ver como poderemos criar nosso próprio cdr com ajudinha de alguns AGI’s.

Um script AGI que você executa após cada tentativa de Dial() e que grava automaticamente informações como DIALSTATUS, BILLSEC, DUURATION se mostra mais eficiente já que pode-se adaptar a gravação do log conforme a sua estrutura de controle de ligações.

Até ai tudo bem, podemos fazer o controle de ligações simples com as informações que eu bem entender, mas ainda nos resta as ligações que passam por filas de atendimento e ligações que são transferidas.

Filas: Aqui temos um problema, a forma nativa de executar um AGI dentro da app_queue não é satisfatória já que ela executa o script somente quando a ligação é atendida pelo membro da fila. Assim perdemos o status das primeiras ligações caso elas tenham sido recusadas e as informações são as mesmas que colcoar o agi para executar depois da execução do Queue() no dialplan.

Podemos nesse caso, implementar uma Queue via AGI ou Monitorar o Queue log em busca dessas informações.

A solução mais elegante ao meu ver é modificar a aplicação do Queue para que ao invés de implementar o dial diretamente seja possível direcionar para um contexto, assim é possível monitorar todo o comportamento da ligação e da fila em geral. (entra na TODO list)

Transferencias: As transferencias é um problema simples de resolver, ao setar a variavel global TRANSFER_CONTEXT para um contexto qualquer você consegue executar seu AGI lá dentro e resolver esse problema, com um pouco de esforço ainda se pode gerar uma estrutura complexa e bonita com árvore de chamada para não perder os dados da ligação geral e ainda ter o status da ligação primária.

Sempre há a possibilidade de se esperar pela próxima versão, não testei a versão 1.6 do asterisk ainda. Mas até onde fui informado ela teria solucionado esses bugs. Mas ainda sobra a rigidez estrutural.

update: encontrei uma boa discussão sobre o assunto e sobre esses problemas em uma lista de discussão da Digium: http://lists.digium.com/pipermail/asterisk-dev/2008-November/035305.html

update2: nessa discussão tem uma documentação que resume algumas coisas e explana outras, vale a leitura: http://svn.digium.com/svn/asterisk/team/murf/RFCs/

Aniversário do Papai Noel

Friday, August 7th, 2009

Mandar um salve la pro maddog da churupita :P . Esperando o próximo openbeach pra comemoração alcoólica do evento.

Lembrado via orkut e blog do michellazzo

Slackbuild: PHP

Sunday, August 2nd, 2009

Mais um slackbuild para o pub/. Este é o segundo script de construção de pacotes customizado por mim distruibuido aqui. Trata-se do slackbuild oficial do Slackware para PHP 5.2.10 modificado para incluir suporte a PostgreSQL. A lista de modificações é:

  • Suporte a PostgreSQL, também via PDO.
  • Compilado para i686.
  • Make com 3 jobs e não 7 (sou pobre).

É isso :) . Para download pub/slackware/packages/ ou pub/slackware/sources/php/.