quarta-feira, 23 de fevereiro de 2011

GVT VOX IP com Asterisk (dicas)

Configurar o GVT VOX IP no Asterisk é tão simples quanto adicionar um novo peer SIP no seu servidor. Mas apesar de toda simplicidade seguem algumas dicas que podem ser muito úteis para que o serviço funcione de forma adequada.

Problema 1: ligações eventualmente são encerradas de forma abrupta

Para resolver essa questão, segundo a equipe técnica da GVT, "era preciso que o Asterisk, após o Trying, respondesse 180 Ringing ou 183 Session Progress. Sem isso a central não repassava a informação as operadoras que originaram a chamada temporizando assim a ligação."

Para ativar tais sinalizações abra o arquivo sip.conf e adicione/ajuste os seguintes parâmetros:
progressinband=yes
prematuremedia=no

Desde que tais parâmetros foram setados não houve mais ocorrências do problema, o que é um bom sinal. Como isso ocorria de forma aleatória, se o problema persistir eu atualizarei esse post com a informação.

Problema 2: chamadas que ficam mudas ao serem atendidas

Uma situação muito estranha do GVT VOX IP é que algumas ligações geradas fazem com que o usuário seja "direcionado" para o Music on hold (mesmo com a opção de forçar o ring ativada - parâmetro r do comando Dial) o que faz com que o mesmo acredite ter discado para seu próprio PBXIP. Tais ligações quando atendidas ficam mudas.

A solução desse problema foi dada pelo Anderson Eckhardt na lista AsteriskBrasil.

Segue a explicação do Anderson sobre o problema:
"Sobre a música em espera, também estou passando por isso com diversas versões do Asterisk(1.4/1.6/1.8), até o momento não tenho solução, e forçar o ring me agrada! No entanto observei que este fato ocorre somente com números portados. Se analisar os pacotes nestas chamadas, com alguma ferramenta de rede wireshark/tcpdump, vai notar o erro nas informações/portas SDP(parâmetro acima), e também podemos ver q existe um outro tipo de consulta/tráfego para estes casos, sendo neste momento que a chamada entra em espera, e por isso a música..."

Para resolver essa situação foi necessário editar o arquivo sip.conf e adicionar o seguinte parâmetro a configuração do SIP da GVT:
ignoresdpversion=yes

Tal configuração não solucionou a questão do Music on hold, mas possibilitou que as ligações funcionassem corretamente (agora quando as mesmas são atendidas não ficam mais mudas). Ainda é aguardada a posição/solução oficial da GVT sobre esse problema, e quando a mesma for enviada será publicada neste post.

Tem mais ?

Por enquanto é isso que posso relatar...

Na minha opinião é uma falha grave da GVT não repassar essas informações quando o serviço é instalado, já que encontrei várias pessoas reclamando dos mesmos problemas. No entanto, como o VOX IP é relativamente novo e normalmente a GVT presta um excelente serviço acho que vale dar um voto de confiança para a operadora.

Se você conhecer outras dicas relacionadas ao GVT Vox IP não deixe de compartilhá-las nos comentários do post.



terça-feira, 25 de janeiro de 2011

Clientes SIP que merecem ser testados

Sempre posto no blog falando de clientes XMPP. Para variar um pouco resolvi redigir esse post indicando dois cliente SIP que, na minha opinião, merecem ser testados. Ambos são projetos Open Source que implementam uma gama de recursos bastante interessante.


Um deles é o Blink que tem um visual bem bacana e parece ser bastante estável. Com bons recursos de áudio, a versão para MacOSX (que é bem mais completa que a versão para Linux, baseada em Qt) implementa Desktop Sharing, SMS, chat entre outra coisas. Leia mais sobre os recursos do Blink aqui.


O outro software é o SIP Communicator, que ainda está em estágio alpha, mesmo depois de mais de 2 anos de desenvolvimento. A vantagem do SIP Communicator é que além de ser um simples cliente SIP, ele também é um cliente XMPP e IM genérico (ICQ, MSN, etc...) com recursos de vídeo e com futuro suporte ao Jingle Nodes. A desvantagem clara é que o mesmo, por ser uma versão alpha, não deve ser usado em ambientes de produção. Isso não chega a ser um grande problema, já que a versão 1.0 deve ser lançada ainda no primeiro semestre de 2011. Veja o roadmap aqui.

Por estar mais ligado à comunidade e por adicionar mais recursos de comunicação, o SIP Communicator para mim é a melhor escolha, mas isso é algo que deve ser julgado por cada usuário. Saiba mais sobre os recursos do SIP Communicator aqui.



Bom, mas para testar os softwares indicados você precisa de uma conta SIP. Caso você não possua uma, recomendo que acesse o site sip2sip. O sip2sip é mantido pela AG Projects (desenvolvedora do Blink) e lá você poderá criar sua conta sip gratuita para usar nos clientes acima.

Divirta-se!

Leia também:

Asterisk - controle de horário de atendimento

Existe uma situação relacionada a telefonia que me incomoda bastante: você liga para uma empresa e o telefone chama sem parar até a ligação cair. Às vezes (e isso já aconteceu comigo) você acaba sendo atendido pelo vigia, que lhe informa que o expediente já terminou. Na minha opinião (considerando-se o porte da empresa, é claro) isso transmite uma sensação de amadorismo e descaso com o cliente.

Nessas horas eu sempre me pergunto: custava colocar uma mensagem informando o horário de funcionamento?

Temos sempre de lembrar que muitas empresas (principalmente as menores) ainda utilizam pequenas centrais telefônicas que dificultam (ou em alguns casos impossibilitam) que essa mensagem seja disponibilizada, mas se você utiliza o Asterisk isso pode ser configurado facilmente.

Para implementar o controle de horário no Asterisk vamos utilizar a aplicação GotoIfTime.

Com o GotoIfTime é possível realizar controles de fluxo no plano de discagem com base no horário atual (é SEMPRE MUITO IMPORTANTE manter o relógio de seu servidor atualizado - saiba mais sobre NTP).

Segue um exemplo que redireciona as chamadas de entrada com base no horário:

/etc/asterisk/extensions.conf

[from-pstn]
; contexto de chamadas recebidas da pstn

; inclui o contexto de controle de horário
include => horario

[horario]
; contexto de controle de horário

; Se a ligação foi recebida das 9 às 14:59 horas de segunda a sexta-feira
; segue para o contexto de ramais
exten => _XXXX,1,GotoIfTime(9:00-14:59|mon-fri|*|*?ramais,${EXTEN},1)

; Se a ligação foi recebida das 15 às 18 horas de segunda a sexta-feira
; segue para o contexto de fax
exten => _XXXX,1,GotoIfTime(15:00-18:00|mon-fri|*|*?ramais,${EXTEN},1)

; Nas ligações recebidas nos demais horários é executada a mensagem
; de horário de atendimento e a chamada é desligada
exten => _XXXX,n,Answer
exten => _XXXX,n,Wait(1)
exten => _XXXX,n,Playback(horario_de_atendimento)
exten => _XXXX,n,HungUp

[ramais]
; contexto de discagem para os ramais

exten => _XXXX,1,Answer
exten => _XXXX,n,Wait(1)
exten => _XXXX,n,Dial(SIP/${EXTEN},30)

[fax]
; contexto de discagem para o fax

exten => _XXXX,1,Answer
exten => _XXXX,n,Wait(1)
exten => _XXXX,n,Dial(DAHDI/g2/${EXTEN},30)

A aplicação, como pode-se perceber, abre um grande leque de possibilidades permitindo um controle minuscioso de horário para o tratamento das chamadas.

Adapte-a para seu ambiente e você certamente agregará muito valor a sua telefonia IP.

Asterisk - controlando o número máximo de chamadas recebidas por ramal


Apesar de não existir limite de número de chamadas simultâneas num ramal SIP (o que é eventualmente controlado pelo cliente em uso), se você precisa desse tipo de restrição é possível implementá-la diretamente no Asterisk.

Para isso podemos fazer uso de duas funções disponíveis no plano de discagem (que substituem o antigo parâmetro call-limit da configuração sip): GROUP e GROUP_COUNT. A função GROUP adiciona um canal em um grupo, enquanto a função GROUP_COUNT conta o número de canais de um grupo.

Abaixo um pequeno exemplo de como fazer com que os ramais SIP recebam somente uma chamada por vez (sem limites de chamadas originadas).

/etc/asterisk/extensions.conf
[ramais]
; contexto de recebimento de chamadas no ramais

exten => _XXXX,1,NoOp

; adiciona o ramal no grupo ramalXXXX
exten => _XXXX,n,Set(GROUP()=ramal${EXTEN})

; verifica o número de chamadas simultâneas no grupo ramalXXXX
exten => _XXXX,n,Set(SIMULTCALL=${GROUP_COUNT(ramal${EXTEN})})

exten => _XXXX,n,NoOp(Ligacoes em curso ramal ${EXTEN}: ${SIMULTCALL})

; verifica se o número de chamadas é 1 (a própria chamada)
; se for igual a 1 efetua a discagem, caso contrário nega o recebimento
exten => _XXXX,n,GotoIf($["${SIMULTCALL}" = "1"]?call:nocall)

; seção usada quando a chamada não pode ser realizada (ramal em uso)
exten => _XXXX,n(nocall),NoOp(Limite Excedido - ramal ${EXTEN})
exten => _XXXX,n(nocall),HungUp

; seção usada para realização da chamada
exten => _XXXX,n(call),NoOp(Ligacao OK - ramal ${EXTEN})
exten => _XXXX,n(call),Dial(SIP/${EXTEN},30,twxr)


[outgoing]
; contexto das ligações para a pstn

exten => _X.,1,NoOp
exten => _X.,n,Noop(CALLERID: ${CALLERID(all)})

; adiciona o ramal no grupo ramalXXXX
; apesar de não haver limite de chamadas originadas é preciso computar
; essa ligação, pois caso o ramal esteja em uso por ter originado uma ligação
; é preciso bloquear o recebimento de uma nova chamada neste
exten => _X.,n,Set(GROUP()=ramal${CALLERID(number)})

exten => _X.,n,Set(SIMULTCALL=${GROUP_COUNT(ramal${CALLERID(number)})})
exten => _X.,n,NoOp(Ligacoes em curso ramal: ${SIMULTCALL})

; Disca para a pstn
exten => _X.,n,Dial(DAHDI/g1/${EXTEN},60,TWXr)
exten => _X.,n,HungUp

Como pode-se perceber, o recurso pode ser facilmente implementado. O código acima é um modelo que pode ser facilmente aprimorado com o uso de voicemail ou de uma mensagem previamente gravada em caso de rejeição da chamada. Tudo de acordo com a necessidade específica de seu ambiente.

ATENÇÃO (17/02/2011): o recurso acima apresenta um problema: chamadas transferidas continuam sendo consideradas chamadas em andamento e só são removidas do grupo após a ligação original (já transferida) ser finalizada. Estou estudando como contornar a situação.

sexta-feira, 14 de janeiro de 2011

Propus inicia 2011 ampliando equipe de profissionais

Com o objetivo de manter a qualidade do atendimento dispensado aos clientes e suprir as demandas resultantes de novos negócios, a Propus lançou processo seletivo para contratação de profissionais e estagiários.

Os candidatos devem se inscrever diretamente no portal da empresa, preenchendo o cadastro e enviando currículo.

As oportunidades são das áreas de administração de redes de servidores Linux e de desenvolvimento de software Python/Django.

Acesse www.propus.com.br/vagas e cadastre seu currículo.

segunda-feira, 27 de dezembro de 2010

Notas de segunda (Pidgin e Nagstamon)


Nem bem a semana começou e já temos lançamentos:
  • Para começar, foi lançada a versão 2.7.9 do Pidgin. O novo release foi lançado exclusivamente para resolver um bug relacionado ao protocolo MSN, então se você utilizá-lo atualize o software agora.
  • O outro lançamento foi realizado na semana passada e eu acabei esquecendo de comentá-lo: tratasse do RC1 da versão 0.9.5 do Nagstamon. A nova versão, além de possibilitar a conexão com as novas versões dos servidores Centreon e Icinga ainda resolve uma grave falha de segurança, que fazia com que as senhas de acesso fossem armazenadas localmente.

sexta-feira, 24 de dezembro de 2010

Lançamentos da semana do Natal (Zimbra, Pidgin e OneTeam)

Na semana do Natal, Papai Noel trouxe três "presentes" para os usuários de XMPP e Zimbra ;-)
  • No início da semana houve o lançamento do Pidgin 2.7.8. A nova versão corrige uma série de problemas e adiciona algumas pequenas melhorias.
  • Também foi lançada nessa semana a versão 6.0.10 do Zimbra. Leia as notas de lançamento aqui.
  • E para finalizar a semana, a ProcessOne lançou hoje, como presente de natal, a versão beta 1 do cliente XMPP OneTeam (leia a análise da versão alpha publicada aqui no blog no início do ano). Com suporte ao Jingle Nodes, o lançamento oficial do cliente não poderia ter ocorrido em melhor ocasião, pois essa semana alguns problemas de estrutura deixaram o Skype (que, para quem não sabe, é uma solução P2P fechada) fora do ar (e, sinceramente, a explicação dada para o problema não me convenceu).
É chegada a hora de migrar definitivamente para um protocolo aberto e que não seja dependente de uma única empresa. Junte-se aos usuários de XMPP e Jingle Nodes e passe a utilizar o protocolo que irá se tornar o padrão universal de comunição real-time, segundo o Gartner Group.




segunda-feira, 20 de dezembro de 2010

Instalando o zimlet Asterisk no Zimbra 6.0.X

Quem utiliza o Zimbra sabe muito bem que os zimlets podem agregar recursos muito interessantes à ferramenta.

Dentro da grande gama de opções disponíveis na galeria, um zimlet que merece destaque é o de integração com o Asterisk (Asterisk PBX Integration).

A integração com o Asterisk permite que sejam realizadas ligações com um simples clique do mouse. Bastar clicar no número telefônico desejado na interface web do Zimbra (na lista de endereços ou no corpo de um e-mail, por exemplo) que a ligação é efetuada.

E como funciona ?

Ao clicar no número telefônico, o Zimbra (utilizando-se da AMI - Asterisk Manager Interface) faz o Asterisk discar para o ramal do usuário. Quando o usuário atende a ligação, o Asterisk então disca para o número de destino estabelecendo a chamada.

Certamente esse é um recurso muito útil, mas que, no entanto, tem um processo de instalação um pouco complicado se a versão do Zimbra for a 6.0.X.

Instalando o zimlet Asterisk PBX no Zimbra


Antes de mais nada é preciso ter ciência de que a última versão oficial desse zimlet (0.65) não é compatível com o Zimbra 6.0.X, o que impossibilita sua instalação.

Pesquisando nos fóruns do Zimbra encontrei um post que possui uma versão modificada que atende os requisitos do Zimbra 6.0.X. Baixe o zimlet compatível aqui.

Vamos então a instalação:
  • Logue como root no servidor zimbra e acesse o diretório /opt/zimbra/jetty/webapps/zimlet/WEB-INF ;
  • Renomeie o subdiretório lib para lib.old, por exemplo;
  • Crie os seguintes links simbólicos com os comandos:
ln -s /opt/zimbra/jetty/webapps/zimbra/WEB-INF/lib /opt/zimbra/jetty/webapps/zimlet/WEB-INF
ln -s /opt/zimbra/jetty/webapps/zimbra/WEB-INF/tags /opt/zimbra/jetty/webapps/zimlet/WEB-INF
ln -s /opt/zimbra/jetty/webapps/zimbra/WEB-INF/tlds /opt/zimbra/jetty/webapps/zimlet/WEB-INF
ln -s /opt/zimbra/jetty/webapps/service/WEB-INF/zimbra.tld /opt/zimbra/jetty/webapps/zimlet/WEB-INF
  • Instale o zimlet Asterisk PBX pela interface administrativa do Zimbra ;
  • Configure o Asterisk para ativar a AMI (Asterisk Manager Interface), editando o arquivo /etc/asterisk/manager.conf e alterando a opção enabled para yes. Crie também um usuário com todos poderes, que será posteriormente configurado no zimlet. Por exemplo:
[zimbra]
secret = password
read = system,call,log,verbose,command,agent,user,config, command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config, command,dtmf,reporting,cdr,dialplan,originate
  • Baixe o arquivo de configuração modelo (o arquivo gerado pelo zimlet tem um problema nas tags que dificulta seu uso) e edite-o colocando os dados de seu servidor Asterisk;
  • Logado como usuário zimbra em seu servidor, importe o arquivo de configuração modificado com o comando: zmzimletctl configure /path/do/arquivo/ch_bnc_asterisk_config.xml ;
  • Remova do diretório /opt/zimbra/jetty/webapps/zimlet/WEB-INF/lib, se existirem, os arquivos asterisk-java-1.0.0-m1.jar e/ou asterisk-java-1.0.0-m2.jar ;
  • Reinicie o mailboxd com o comando: zmmailboxdctl restart
Pronto, a instalação foi concluída.

Configuração do usuário

Para começar a discar, antes de mais nada, é necessário que o usuário configure o zimlet. Para isso ele deve clicar na opção Asterisk Integration do menu Zimlets da sidebar esquerda.

Configurando o zimlet

Na tela de preferências é preciso configurar obrigatoriamente o ramal e o contexto com o qual serão realizadas as chamadas (não esqueça de fornecer essa informação para seus usuários).

Preferências do Asterisk Integration

Com as configurações finalizadas, basta agora clicar nos números telefônicos para começar a realizar as chamadas.

domingo, 19 de dezembro de 2010

Ativando o suporte ao XMPP e ao Google Talk no Asterisk

Para quem não sabe, o Asterisk possui suporte a XMPP, o que permite a implementação de uma série de interações entre sua estrutura VoIP e seu servidor XMPP (Openfire, ejabberd, etc...).

Na Propus fazemos uso dessa integração para enviar para o cliente de IM os dados da ligação entrante (número e identificação, caso o mesmo já esteja cadastrado em nossa agenda), numa espécie de Bina customizada que garante um atendimento telefônico mais eficiente. E isso é só um pequeno exemplo do que pode ser implementado (Asterisk -> Cliente IM).

Além disso também é possível fazer a interação inversa (cliente IM -> Asterisk), com a qual você pode, por exemplo, desviar uma ligação entrante para um ramal específico enviando um comando via XMPP para o Asterisk.

E as vantagens não param por aí: você também pode fazer uso do canal Google Talk (chan_gtalk), que possibilita a realização de ligações de seu ramal para contas Google Talk e Google Voice sem a necessidade do uso de softwares específicos.

E como devo proceder para ativar tais recursos ?

A ativação desses recursos depende de uma biblioteca chamada iksemel. Basta fazer o download dos fontes e instalá-los:

wget http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
tar xvzf iksemel-1.4.tar.gz
cd iksemel-1.4
./configure
make
make install
Após instalar a biblioteca inicie o processo de compilação do Asterisk.

Ao final da execução do ./configure rode o comando make menuconfig e verifique no menu Resource Modules se a opção res_jabber está marcada. Veja no menu Channel Drivers se a opção chan_gtalk ficou marcada também.




Finalize então a instalação do Asterisk e divirta-se desenvolvendo novos recursos para seu PBXIP.

UPDATE 22/12/2010: Caso o módulo jabber do Asterisk não seja carregado automaticamente acesse o rasterisk rode o seguinte comando:
module load res_jabbber.so
Se você se deparar com o erro:
Error loading module 'res_jabber.so': libiksemel.so.3: cannote open
shared object file: No such file or directory
rode os seguintes comandos e reinicie o asterisk:
echo "/usr/local/lib" > /etc/ld.so.conf.d/iksemel.conf
ldconfig

Notas (super) rápidas da semana

  • Lançado o ejabberd 2.1.6 - Saiba mais aqui.
  • Lançado o Asterisk 1.8.1.1 - Leia o changelog aqui.

sexta-feira, 3 de dezembro de 2010

Nota (muito) rápida da semana

Uma semana com poucas novidades.

Quero citar o lançamento da versão final do ClamAV versão 0.96.5 que inclui uma série de correções de bugs e pequenos aprimoramentos de recursos, como melhor processamento das estatísticas de detecção, logs aprimorados e suporte a URLS de bancos de dados customizadas no freshclam. Leia o changelog para saber todas as mudanças da nova versão.

PS: creio que também seja "importante" citar o lançamento da versão alpha 1 do Ubuntu 11.04 (Natty Narwhatl).
PS2: outro lançamento da semana (passada) foi a versão 5.0.7 do Debian. Saiba mais aqui.

UPDATE 06/12/2010: Agradecimento ao Edson Bueno que percebeu que eu havia invertido o número da versão (0.95.6 ao invés de 0.96.5).

sexta-feira, 26 de novembro de 2010

Notas (realmente) rápidas da semana

Algumas notícias que merecem destaque:
  • Lançado o Pidgin 2.7.7. A nova versão corrige de forma definitiva o bug existente com a cadeia de certificados da rede MSN;
  • Pouco mais de um mês após o lançamento do Asterisk 1.8, já foi disponibilizada a versão 1.8.1-rc. Leia o changelog completo e, se quiser testá-lo, faça o download aqui;
  • Lançado o Horde Webmail Groupware Edition 1.2.9. Baixe o mesmo aqui;
  • Anunciado para o dia 29/11 o lançamento da versão 0.96.5 do ClamAV, que traz uma série de correções e pequenas melhorias (leia o changelog aqui). Os desenvolvedores contam com a ajuda dos sysadmins para testar (ou somente compilar) o novo release. Se tiver interesse em colaborar utilize o snapshot atualizado disponível no repositório Git do projeto.


quinta-feira, 4 de novembro de 2010

Google mod_pagespeed - acelerando seu servidor Apache

Depois de disponibilizar no ano passado o Page Speed (ferramenta para aceleração do carregamento de conteúdos de sites), o Google lançou essa semana o mod_pagespeed, um módulo para o servidor HTTP Apache (versão 2.2) que promete aumentar em até 50% a velocidade de carga de sites, otimizando 15 itens diferentes de forma automática.

Veja um vídeo comparativo abaixo:




De fácil instalação, e com pacotes rpm e deb, o módulo (bem como a extensão já existente para Firefox) podem ser baixados aqui.



quarta-feira, 3 de novembro de 2010

Notas rápidas da semana (Pidgin e Asterisk)


Algumas notícias da semana que merecem destaque:
  • Lançado o Pidgin 2.7.5 , versão de correção de bugs do conhecido cliente IM (e que traz algumas pequenas melhorias). ChangeLog completo aqui.
  • Lançado também o Wiki do Asterisk (anunciado na Astricon 2010). O Wiki do Asterisk pretende ser uma grande fonte de referência para o software, disponibilizando documentações, informações sobre o desenvolvimento e muito mais. Se for tudo que promete, será a mina de ouro dos sysadmins da ferramenta.
  • Outra notícia relevante (anunciada na Astricon 2010) foi o lançamento do Asterisk SCF. O Asterisk SCF (Asterisk Scalable Communications Framework) é uma plataforma de comunicações e suite de aplicações que pretende ser extensível, escalável e distribuída (além, é claro, de ser open source). Suas metas são:
1. Escalabilidade
2. Alta disponibilidade e tolerância a falhas
3. Extensibilidade
4. Performance

Como, na minha opinião, só as notícias do Asterisk já valiam um post, as "Notas rápidas da semana" foram antecipadas de sexta para quarta. Se houverem mais notícias importantes, uma edição extra será lançada.

Uso de senhas fortes no samba

Um recurso muito útil (e nem sempre utilizado) do Samba é o controle da qualidade (e validade) da senha dos usuários.

Para implementar tal controle é possível fazer uso de duas ferramentas diferentes (que podem, e devem, ser usadas em conjunto): pdbedit e crackcheck.

pdbedit

O pdbedit é uma ferramenta que pode ser utilizada para, entre outras coisas, configurar algumas políticas de senha do samba.

Com o pdbedit é possível setar o seguinte:
  • maximum password age - validade máxima da senhas (em segundos);
  • minimum password age - validade mínima da senhas (em segundos);
  • min password length - tamanho mínimo (caracteres) da senha;
  • password history - histórico de senhas (não permite o uso das últimas X senhas);
  • bad lockout attempt - número máximo de erros da senha, antes que a conta seja bloqueada;
  • lockout duration - tempo de bloqueio da conta (em minutos);
  • reset count minutes - tempo necessário para resetar o contador de senhas erradas (em minutos);
Todas essas políticas podem ser facilmente visualizadas com o comando:
pdbedit -P "nome_da_política"

A alteração de uma determinada política pode ser realizada com o comando:
pdbedit -P "nome_da_política" -C novo_valor_da_política

Ou, de forma similar, com o comando:
net sam policy set "nome_da_política" novo_valor_da_política


ATENÇÃO:
a política de senhas é implementada para todo o domínio e não pode ser administrada por conta.

ATENÇÃO 2: as políticas do domínio respeitam as configurações específicas das contas. Por exemplo: se você configurar que as senhas dos usuários tem validade máxima de 90 dias, mas quiser que uma determinada conta não tenha sua senha expirada nunca, use o comando:
net sam set pwnoexp login yes

ATENÇÃO 3: se você utilizar o OpenLDAP como backend dos usuários e senhas do Samba, é fundamental que o arquivo samba.schema seja da mesma versão do Samba que você estiver rodando.

Como foi possível perceber, as políticas tratadas pelo pdbedit já implementam um relativo controle das senhas, mas somente o uso destas não garante que a senha do usuário seja forte. E e aí que entra em cena o crackcheck.

crackcheck

O crackcheck é uma ferramenta que já vem com o Samba, e que faz uso da cracklib para controlar a qualidade das senhas dos usuários.

Antes de mais nada, é preciso esclarecer que esse post não pretende discutir os aspectos técnicos da ferramenta, e nem tratar do desenvolvimento de dicionários próprios (algo que poderá gerar uma postagem futura). Neste vou simplesmente explicar como forçar o uso de senhas como as utilizadas no Windows NT e no AD.

A política padrão de senhas do NT/AD implementa a seguinte regra: é preciso que a senha possua três entre quatro dos grupos de caracteres: letras maiúsculas, letras minúsculas, números e caracteres não alfabéticos (ex: #, $, *, etc...)

Se você utiliza Debian ou Ubuntu, a implementação desse recurso é bastante simples:
  • Instale os pacotes samba-doc, libcrack2-dev e libtool;
  • Acesse o diretório /usr/share/doc/samba-doc/examples/auth/crackcheck;
  • Compile o software e copie-o para o diretório /usr/local/sbin;
Adicione a seguinte linha a seu arquivo smb.conf e recarregue o samba:
check password script = /usr/local/sbin/crackcheck -s

Se você não quiser utilizar o crackcheck você poderá desenvolver seu próprio script de checagem de senhas, mas isso também é assunto para outra hora.

domingo, 31 de outubro de 2010

Asterisk 1.4 + MySQL - Como armazenar o uniqueid na tabela CDR

Essa semana me deparei com um "problema", que do meu ponto de vista é algo totalmente improdutivo (e, no mínimo, desnecessário).

Encontrei uma instalação do Asterisk que não gravava dados no campo uniqueid da tabela CDR do DB MySQL, e, resolver tal situação me tomou um tempo precioso.

Depois de muita pesquisa consegui encontrar a solução, que é bastante simples, mas que, do meu ponto vista, é injustificável.

Para quem não sabe, o suporte ao uso do CDR em um banco de dados MySQL é disponibilizado pelo pacote asterisk-addons. Não sei se por um erro, ou por uma decisão consciente dos desenvolvedores (que me parece ser uma das mais equivocadas que já vi), é preciso alterar o código fonte desse pacote para habilitar o suporte ao armazenamento do uniqueid na tabela.

Então, se você também está passando por situação semelhante, mãos à obra:
  • Vá no diretório dos fonte do asterisk-addons e edite o arquivo cdr_addon_mysql.c;
  • Adicione a linha #define MYSQL_LOGUNIQUEID no início do arquivo;
  • Compile o asterisk-addons e voilá;
Pesquisei nos fontes e percebi várias linhas se referindo a tal constante, mas a mesma não era declarada em lugar algum, o que fazia com que o suporte ao recurso não fosse habilitado.

Não achei uma explicação para tal comportamento, que, pelo que pude observar já existe há mais de 3 anos. Se alguém souber o motivo disso, por favor deixe seus comentários.

sexta-feira, 29 de outubro de 2010

Notas rápidas da semana (ClamAV, Horde, Ubuntu e outros)

Algumas notícias da semana que merecem destaque:
  • Lançado o ClamAV 0.96.4. A nova versão é um bugfix e sua instalação é altamente recomendada.
  • Ainda falando de correções de bugs, o framework Horde e seus demais módulos também ganharam novas versões. Destaque especial para o Horde Groupware Webmail Edition 1.2.8, que agrega os principais módulos do framework e é um boa ferramenta de groupware.
  • Também nessa semana, a GVT anunciou na Futurecom os novos planos e valores de sua banda larga, que passam a valer a partir da segunda quinzena de novembro. Destaque especial para a velocidade mínima que passou de 3Mbps para 5Mbps (a atualização para os assinantes será gratuita) e também para o novo valor do plano de 15Mbps que passou a custar R$ 79,90/mês com direito a modem wi-fi e pacote de segurança (esse último, totalmente dispensável para os usuários de Linux). Saiba mais no site da GVT.
  • Outro lançamento da semana é a versão 1.9.0 do Zabbix (primeiro alpha do Zabbix 2). Para quem não conhece, o Zabbix é uma dos melhores softwares de monitoramento open source do mercado. Conheça os novos recursos da versão aqui.
  • E, como último lançamento da semana, fica o destaque para a versão alpha 3 do OneTeam. O novo alpha, além das correções de bugs (que não foram totalmente concluídas) traz algumas novidades, como o suporte ao Firefox 4, melhorias na interface, redesign dos diálogos, entre outros.
Finalizando as notas da semana, a notícia que certamente causou muitas dúvidas e surpresas (e talvez polêmicas) foi o anúncio de que apartir do Ubuntu 11.04 (Natty Narwhall) a interface padrão do SO deixará de ser o Gnome e passará a ser o Unity, que já é utilizado atualmente na versão netbook.


Segundo Mark Shuttleworth, tal alteração ocorrerá devido a divergências na visão dos desenvolvedores do Gnome e na visão da Canonical sobre o futuro das interfaces para desktops. Outro ponto importante (na minha opinião), é que o novo window manager do Gnome, o Mutter, segundo informações tem problemas de performance (alguma semelhança com o window manager do KDE 4?), razão pela qual o Unity continuará usando o Compiz (que cá entre nós, funciona muito bem).

Sem sombra de dúvidas, a adoção do Unity é uma alteração radical (nas palavras do próprio Shuttleworth essa é a maior mudança já realizada e um passo arriscado) que poderá levar os usuários a abandonarem o Ubuntu, buscando distros com interfaces mais familiares. Mas se isso realmente ocorrerá, só o futuro dirá.

É bom lembrar que se o Gnome 3 fosse adotado como padrão, também seria necessária uma certa readaptação por parte dos usuários, então não parece haver uma decisão totalmente certa ou totalmente errada para essa questão.

E você, o que acha disso? Deixe seus comentários ou então responda a enquete no blog.

quinta-feira, 28 de outubro de 2010

Nasce mais um mirror brasileiro para o ClamAV

Apesar de já ter passado mais de um ano do lançamento da Campanha para criação de mirrors brasileiros para o projeto ClamAV, a mesma ainda está gerando frutos.

Agora foi a vez da Universidade Federal de Mato Grosso do Sul (UFMS) que, desde ontem, também passou a hospedar o projeto.

Fica aqui o meu agradecimento a UFMS e, em especial ao Brivaldo Júnior, que trabalhou na disponibilização do novo mirror.

Veja a lista completa dos mirrors brasileiros do projeto ClamAV aqui.


Leia também:

Zimbra 7 será lançado em breve

Participei ontem de um webminar com a apresentação de um live demo da versão 7.0 do Zimbra, que deverá ser lançada no final deste ano, ou, mais provavelmente, no início de 2011.

A grande meta da nova versão é facilitar a realização das tarefas cotidianas e aumentar a produtividade do usuário, e, pelo que pude perceber, eles conseguiram alcançar esse objetivo em muitos aspectos do software. Novos recursos foram disponibilizados e uma nova interface foi também criada para manter o aspecto ainda mais clean.

Entre as principais novidades, destaco:

E-mail

  • Possibilidade de agendar um horário para envio de mensagens (enviar depois);
  • Maior facilidade para adicionar anexos (agora é possível selecionar múltiplos anexos, ou até mesmo anexar um contato);
  • Ferramenta de recuperação de mensagens deletadas (inclusive e-mails deletados da lixeira);
  • Possibilidade de criação de filtros de saída de e-mails;
  • Novo sistema de assinatura de e-mails, com possibilidade de uso de assinaturas diferentes dependendo do tipo de mensagem (nova, encaminhada, etc...). Além disso também é possível enviar um vCard na mesma;
Agenda
  • Novo método de criação de agendamentos, que ficou muito similar com o a operação de envio de e-mails. Esse novo método facilita (e muito) a criação de reuniões, pois ao selecionar os participantes o sistema automaticamente tenta determinar os melhores slots para todos os participantes (e para os recursos);
  • Novo método de visualização quando houver concatenação de várias agendas;
  • Cópia de agendamento (instância ou série completa);
  • Possibilidade de salvar um agendamento, sem criar o mesmo definitivamente;
  • Nova agenda Lixeira, onde é possível ver os agendamentos já deletados de suas agendas;
Tarefas
  • Melhor visualização do progresso das tarefas;
  • Maior facilidade para concluir tarefas, inclusive em lote;
Porta-Arquivos
  • Melhorias no sistema do controle de versão e recuperação de versões anteriores;
Geral
  • Melhorias significativas no sistema de busca, com maior interatividade e uso dos resultados da busca;
  • Melhorias no console de administração;
  • Nova aba (Social), que integra o Zimbra com o Twitter e Facebook, por exemplo;

Fiquei ainda com algumas dúvidas (sobre o cliente XMPP, a interface ajax e a integração do LDAP do Zimbra com o Samba), as quais enviei para os desenvolvedores e estou aguardando retorno. Assim que receber as respostas estarei atualizando esse post.

E, para quem não pôde participar, em breve a apresentação estará disponível no site da empresa, então fique atento, ou então, se preferir, siga-me no Twitter para saber mais novidades.

sexta-feira, 22 de outubro de 2010

XMPP - Comunicando-se através de um protocolo aberto - Slides

Por diversas vezes (e por várias razões - nenhuma delas relacionada ao pessoal da e-Genial, quero deixar bem claro) minha palestra no Café com o Tom foi adiada, e, no final das contas, acabei cancelando a mesma para quem sabe apresentá-la no futuro.

No entanto, como já havia iniciado a criação da apresentação, e, como não gostaria de desperdiçar o trabalho já feito, atualizei os dados da mesma e resolvi publicá-la no SlideShare, para que possa ser utilizada como um material de referência para quem ainda não conhece o XMPP.



Espero que a mesma seja útil.