Posts Tagged ‘haha’
Nossos Medidores Apontam Um Elevado Nível De Gambiarra
Friday, June 4th, 2010Uma transferência assistida no Asterisk gera os seguintes canais e links.
newchannel: SIP/192.168.10.252-00000008 newchannel: SIP/1001-00000009 link: SIP/192.168.10.252-00000008 - SIP/1001-00000009 unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009 link: SIP/192.168.10.252-00000008 - SIP/1001-00000009 unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009 link: SIP/192.168.10.252-00000008 - SIP/1001-00000009 unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009 link: SIP/192.168.10.252-00000008 - SIP/1001-00000009 unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009 newchannel: Local/1002@transferencias-aaa8,1 newchannel: Local/1002@transferencias-aaa8,2 newchannel: SIP/1002-0000000a link: Local/1002@transferencias-aaa8,2 - SIP/1002-0000000a link: SIP/1001-00000009 - Local/1002@transferencias-aaa8,1 unlink: SIP/1001-00000009 - Local/1002@transferencias-aaa8,1 link: SIP/1001-00000009 - Local/1002@transferencias-aaa8,1 unlink: Local/1002@transferencias-aaa8,2 - Local/1002@transferencias-aaa8,1hangup: Local/1002@transferencias-aaa8,1 hangup: Local/1002@transferencias-aaa8,2 unlink: SIP/1001-00000009 - SIP/1002-0000000a newchannel: Transfered/SIP/192.168.10.252-00000008 link: SIP/192.168.10.252-00000008 - SIP/1002-0000000a hangup: SIP/1001-00000009 hangup: Transfered/SIP/192.168.10.252-00000008 unlink: SIP/192.168.10.252-00000008 - SIP/1002-0000000a hangup: SIP/1002-0000000a hangup: SIP/192.168.10.252-00000008
Governments by Unix Fortune
Monday, April 26th, 2010Muito longo pra um tweet.
SOCIALISM:
You have two cows. Give one to your neighbour.
COMMUNISM:
You have two cows.
Give both to the government. The government gives you milk.
CAPITALISM:
You sell one cow and buy a bull.
FACISM:
You have two cows. Give milk to the government.
The government sells it.
NAZISM:
The government shoots you and takes the cows.
NEW DEALISM:
The government shoots one cow,
milks the other, and pours the milk down the sink.
ANARCHISM:
Keep the cows. Steal another one. Shoot the government.
CONSERVATISM:
Freeze the milk. Embalm the cows.
Conceitual X Real
Saturday, April 24th, 2010MobFloripa FAIL!
Tuesday, February 23rd, 2010Resumo do mês em imagens
Tuesday, December 1st, 2009Começando a semana com uma placa tirada na Rua Fúlvio Aducci na frente do Comper em Florianópolis.
Depois flagrando um Caixa Econômica Fail.
Instalando as máquinas Ubuntu para o SoLiSC vejo a seguinte tradução
E no SoLiSC nos deparamos com o rack do Centro de Eventos da UFSC.
E pra fechar com chave de ouro. E pra mandar pro thereifixedit.com
Oi Fail!
Saturday, November 21st, 2009Vivo Fail
Friday, September 11th, 2009CDR no Asterisk, nada bom :(
Thursday, August 20th, 2009O 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 ‘uniqueid‘ NÃO É UNICO.
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/










