Configurando o Asterisk com autenticação LDAP

O Asterisk é um PBX VoIP capaz de integrar-se com a telefonia convencional. Esse tutorial tem como finalidade auxiliar na configuração do Asterisk utilizando como base de dados o serviço de diretórios LDAP.

[ Hits: 59.444 ]

Por: Fabrício Rodrigo em 22/06/2010


Povoando LDAP



8) Adicionando usuários ao LDAP

Para carregar informações dos usuários para o banco de dados do LDAP, basta criar um arquivo ".ldif" com os dados correspondentes. O exemplo abaixo define os atributos mínimos de usuário SIP.

Início do arquivo users.ldif:

dn: ou=sipusers,dc=dominio,dc=com
ou: sipusers
objectClass: top
objectClass: organizationalUnit

dn: cn=joao,ou=sipusers,dc=dominio,dc=com
objectClass: top
objectClass: AsteriskSIPUser
cn: joao
AstAccountCallerID: 1001
AstAccountHost: dynamic
AstAccountRealmedPassword: {MD5}a94775781e5bb7d3e4ec047c56f0acc5
AstAccountContext: default
AstAccountType: friend

dn: cn=maria,ou=sipusers,dc=dominio,dc=com
objectClass: top
objectClass: AsteriskSIPUser
cn: maria
AstAccountCallerID: 1001
AstAccountHost: dynamic
AstAccountRealmedPassword: {MD5}a94775781e5bb7d3e4ec047c56f0acc5
AstAccountContext: default
AstAccountType: friend

Onde:
  • cn: nome de usuário da conta SIP.
  • AstAccountCallerID: informação de identificação do usuário.
  • AstAccountHost: a host dinâmico permite que o usuário se registre com IP variável.
  • AstAccountRealmedPassword: senha da conta. O hash md5 pode ser criado através do aplicativo md5sum.
  • AstAccountContext: é o contexto que o usuário está inserido; contextos de extensão foram definidos no extensions.conf .
  • AstAccountType: define o tipo de cliente. O tipo "peer" apenas efetua chamadas e "friend" fazem e recebem chamadas.

Para carregar o arquivo através do comando ldapadd execute o comando:

ldapadd -x -D "cn=adminldap" -f users.ldif

9) Adicionando extensões ao LDAP

Após ter inseridos os usuários na base de dados, deve ser inserido o plano de discagem. Primeiramente será associado um número de telefone com cada usuário.

Início do arquivo extensions.ldif:

dn: ou=extensions,dc=dominio,dc=com
ou: extensions
objectClass: top
objectClass: organizationalUnit

dn: cn=1001-1,ou=extensions,dc=dominio,dc=com
cn: 1001-1
objectClass: top
objectClass: AsteriskExtension
AstContext: users
AstExtension: 1001
AstPriority: 1
AstApplication: Dial
AstApplicationData: SIP/joao,20

dn: cn=1002-1,ou=extensions,dc=dominio,dc=com
cn: 1002-1
objectClass: top
objectClass: AsteriskExtension
AstContext: users
AstExtension: 1002
AstPriority: 1
AstApplication: Dial
AstApplicationData: SIP/maria,20

Onde:
  • AstContext: contexto em que essa extensão existe.
  • AstExtension: identificador da extensão (número do ramal).
  • AstPriority: cada extensão pode executar vários comandos, a prioridade determina a ordem em que são executados.
  • AstApplication: o comando a ser executado quando a extensão recebe uma chamada. O Dial liga para outro usuário.
  • AstApplicationData: argumentos do comando a ser executado. O Dial tem dois argumentos; o primeiro é o usuário que a chamada irá conectar e o segundo é o tempo (segundos) que permanecerá chamando antes de sair.

Use ldapadd para adicionar o seguinte ao seu banco de dados LDAP através do comando:

ldapadd -x -D "cn=adminldap" -f extensions.ldif

10) Adicionando "echo" para teste

Será adicionada uma extensão ao plano de discagem, onde serão executados três comandos echo para teste. O número do ramal será '190'.

Início do arquivo echo.ldif:

dn: cn=190-1,ou=extensions,dc=dominio,dc=com
cn: 190-1
objectClass: top
objectClass: AsteriskExtension
AstContext: echo
AstExtension: 190
AstPriority: 1
AstApplication: Playback
AstApplicationData: demo-echotest

dn: cn=190-2,ou=extensions,dc=dominio,dc=com
cn: 190-2
objectClass: top
objectClass: AsteriskExtension
AstContext: echo
AstExtension: 190
AstPriority: 2
AstApplication: Echo

dn: cn=190-3,ou=extensions,dc=dominio,dc=com
cn: 190-3
objectClass: top
objectClass: AsteriskExtension
AstContext: echo
AstExtension: 190
AstPriority: 3
AstApplication: Playback
AstApplicationData: demo-echodone

A configuração básica do Asterisk e LDAP estão completas, agora basta reiniciar os serviços do Asterisk e LDAP e configurar os clientes VoIP.

Página anterior     Próxima página

Páginas do artigo
   1. Instalação do Asterisk com suporte ao LDAP
   2. Integrando o Asterisk ao LDAP
   3. Configurando LDAP
   4. Povoando LDAP
   5. Testando conexão com LDAP
   6. Instalando e configurando o cliente VoIP
Outros artigos deste autor

Instalação e configuração do Bacula com interface web (Bweb/Brestore)

Instalação e configuração do Snort Inline (modo IPS), Baynard2, Mysql e PulledPork no Debian Squeeze

Webacula - Instalação e Configuração no Ubuntu 10.04

Leitura recomendada

Compilando e instalando o Wine, WineTools e Internet Explorer(s) no Linux

Sincronizando o Linux com a Hora Legal Brasileira usando o NTP.br

Pós-instalação no Slackware 10

Slackware - Instalação com Tagfiles

Caso de Estudo: E-mail Server ISP

  
Comentários
[1] Comentário enviado por removido em 22/06/2010 - 11:03h

Alguem consegue me explicar oque é LDAP, por que parece isso não entra na minha cabeça.

[2] Comentário enviado por m4sk4r4 em 22/06/2010 - 14:57h

Bom o Artigo, já tem algum tempo que tenho tentado integrar o asterisk a uma base LDAP mas
não tinha sucesso, principalmente quando se tratava do schema do Asterisk para LDAP apresentava
incompatibilidade.

Vou testar seu artigo depois e ver como se comporta essa integração.

Me tire uma dúvida, numa base LDAP onde temos o Samba integrado como controlador de domínio
e onde os usuários modificam a senha através do windows pelo ctrl+alt+del, teriamos alguma forma
de utilizar a mesma senha de logon para as contas sip?

Abraço e Parabéns!!!

[3] Comentário enviado por renato_pacheco em 22/06/2010 - 21:48h

Poutz, mano! Muito fera o lance da integração do LDAP + Asterisk. Não sabia q isso era possível! Eu ainda não sei como faço pra instalar e fazer o Asterisk funcionar, mas o LDAP eu já aprendi anteriormente como se faz. Tem algum tuto ou algo semelhante q vc possa me passar sobre Asterisk? Add aos favoritos!!!

[4] Comentário enviado por fabriciorodrigo em 23/06/2010 - 08:29h

m4sk4r4, tecnicamente falando creio que tenha como fazer essa integração. No tópico 5, quando é mapeada as variáveis do asterisk para o LDAP,, é utilizado o mesmo login cn para identificação dos usuários, ou seja, com o login não teria problema. Porém o asterisk tem um atributo no schema responsável palo armazenamento da senha de acesso, que é o "AstAccountRealmedPassword".

Nessa situação que você me colocou, acho que existem duas possibilidades:
1. Fazer um script paralelo que quando o atributo de senha do usuário no samba é alterado, automaticamente seja alterado o atributo referente a senha no asterisk.
2. Alterar o mapa de variáveis direcionando o atributo de senha do asterisk para o correspondente no samba.

Tecnicamente falando creio que funcione, mas só testando mesmo pra saber. Se poder colaborar de alguma forma, fico a disposição.


renato, tem muita coisa na rede sobre o asterisk, tem algumas referências (as mais relevantes) no final do tutorial. Mais algumas interessantes são:
http://mestreasterisk.com.br/
http://www.dicas-l.com.br/dicas-l/20091213.php
http://www.asteriskonline.com.br
http://www.anderson.com.pt/asterisk-html
http://www.vivaolinux.com.br/artigo/Asterisk-O-PBX-de-codigo-aberto/




[5] Comentário enviado por fabriciorodrigo em 23/06/2010 - 08:33h

Victor, em poucas palavras, o LDAP é um "banco de dados" organizado de forma hierarquica. Tem muita coisa na rede sobre.

[6] Comentário enviado por thyago162 em 09/07/2015 - 10:03h

Otimo tutorial, porém to encontrando um problema. Quando vou cadastrar o usuário no softphone seja Zoipe ou X-litle, no terminal do asterisk está aparecendo "wrong password". Eu vi no arquivo res_ldap.conf que a senha tem que ser em MD5, mesmo gerando o MD5 e colocando a senha ele continua dando este erro. Alguma ideia?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts