Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Asterisk LDAP
Asterisk LDAP
11/07/06
ndice de contenido
## Introduccin ##.............................................................................................................................3
## LDAP ##........................................................................................................................................4
LDAP y bases de datos..................................................................................................................4
## Astirectory ##.......................................................................................... ......................................5
## Instalacin y Configuracin, Ejemplo Prctico ##...........................................................................6
Escenario......................................................................................................................................6
Instalacin de OpenLDAP............................................................................................................6
Instalacin de PHPldapAdmin......................................................................................................6
Instalacin y Configuracin de Astirectory.....................................................................................7
Instalacin.....................................................................................................................................7
asterisk.schema.............................................................................................................................8
Configuracin................................................................................................................................8
Consultas en tiempo real..................................................................................................................9
Configuracin esttica.......................................................................................................................9
11/07/06
## INTRODUCCIN ##
Por defecto Asterisk emplea el fichero sip.conf para almacenar la informacin concerniente a los
usuarios SIP. Este hecho acarrea ciertas limitaciones e inconvenientes:
El fichero sip.conf contiene no solamente la informacin de los usuarios, sino tambin todo lo
relacionado con la configuracin de SIP: proveedores, NAT, IP/puerto, DNS, etc.
No se permite integrar los datos de usuario para otros servicios como correo electrnico, agenda
de contactos, servidor de ficheros, etc.
Los datos del empleado X estn almacenados en dos sitios independientes: en el fichero sip.conf
para su uso por parte de Asterisk y en otro medio para su uso por parte del servidor de correo.
Cualquier modificacin de los datos empleado X requiere su actualizacin en 2 sitios.
11/07/06
## LDAP ##
En un entorno de trabajo en red se vuelve transcendental el acceso rpido y eficaz a la informacin.
Disponer de los datos de una manera desorganizada puede influir negativamente en el proceso de
bsqueda dentro de la intranet de la empresa:
Cul es el telfono del Sr. X en el departamento Y? y su correo electrnico?
Qu empleado tiene la extensin XYZ?
El servicio de directorio conforma la mejor respuesta a este problema, ofreciendo la informacin de
forma sencilla y estructurada mediante acceso y atributos estandarizados y bsquedas eficientes.
LDAP es un protocolo de red que permite el acceso a un servicio de directorio. Hoy en da la mayor
parte de los servicios soportan acceso LDAP (servicios de correo, ftp, comparticin de ficheros, etc),
pero tambin muchas aplicaciones cliente acceden a directorio LDAP (clientes de correo, de
mensajera instantnea, agenda de contactos, etc).
LDAP est diseado para permitir lectura de datos muy rpida, no as la escritura. Ello lo convierte
en solucin idnea para almacenar informacin acerca de usuarios, a la que por norma general se
realizan consultas mucho ms que modificaciones.
Con que frecuencia cambia la direccin de correo o la contrasea de un usuario?
Por lo general, cualquier aplicacin implementa acceso a servidor LDAP, no as a bases de datos.
Puede un cliente de correo conectarse a una base de datos en un servidor remoto para
bsqueda de contactos?
11/07/06
## ASTIRECTORY ##
Astirectory es un mdulo de Asterisk que permite delegar en un servidor LDAP los datos SIP de los
usuarios, manteniendo la configuracin general de SIP en el fichero sip.conf.
Astirectory facilita la integracin de usuarios y la administracin centralizada de los mismos. Gracias a
Astirectory, Asterisk puede consultar los datos SIP de cada usuario de igual manera que un servidor de
correo puede autenticar el acceso contra LDAP.
Astirectory ha sido desarrollado por Asterisk e.V: http://www.asterisk-ev.org
11/07/06
Instalacin de OpenLDAP
El paquete Debian se llama slapd:
apt-get install slapd
Instalacin de PHPldapAdmin
A continuacin instalaremos PHPldapAdmin, una aplicacin web que permite gestionar de forma
visual y sencilla los datos de nuestro servidor LDAP:
apt-get install phpldapadmin
Nota: Si no tenemos Apache2 con PHP el propio paquete phpldapadmin forzar la instalacin de las
dependencias necesarias (Apache2, mdulos PHP, etc).
Importante: Se recomienda configurar SSL en el servidor Apache2 para evitar el envo en texto plano
de los datos de autenticacin. No es objeto de este documento cmo configurar SSL en Apache2, pero
se localiza fcilmente en Internet.
11/07/06
Password: ********
Crearemos una subrama ou=People para albergar los datos de los empleados. Para ello expandimos el
rbol LDAP localizado en el marco izquierdo de la pgina, pulsamos en Create new entry here,
elegimos Organizational Unit y lo nombramos People.
Hemos creado la subrama ou=People,dc=admin,dc=irontec,dc=com.
Descomprimimos:
tar -zxvf astirectory-X.Y.tgz
Parcheamos e instalamos:
11/07/06
asterisk.schema
Astirectory incluye su propio esquema LDAP que debemos activar en nuestro servidor OpenLDAP. Para
ello copiamos el fichero asterisk.schema en el directorio /etc/ldap/schema y aadimos una lnea al
fichero /etc/ldap/slapd.conf:
include
/etc/ldap/schema/asterisk.schema
Configuracin
Nota: no es suficiente con un bind annimo ya que el proceso de registro de los telefnos SIP o
softphones necesita escribir en el servidor LDAP. El registro se realiza peridicamente, siendo su
intervalo de tiempo configurable por el cliente (por norma general se realiza cada 3600
segundos).
Importante: En nuestro ejemplo accedemos al servidor LDAP autenticndonos como admin, lo
que nos concede privilegios sobre todo el rbol del directorio (a nosotros y a quien, por un fallo
de seguridad, consiguiese los datos de acceso). Sera recomendable crear un usuario
cn=asterisk,dc=irontec,dc=com y dotarle de permisos de lectura y escritura nicamente
dentro de la rama ou=People,dc=irontec,dc=com (esto se configura en el archivo
/etc/ldap/slapd.conf y requiere de ciertos conocimientos en LDAP).
Activamos
el
mdulo
res_config_ldap.so
aadiendo
lo
siguiente
en
el
/etc/asterisk/modules.conf:
preload => res_config_ldap.so
archivo
11/07/06
Para especificar que se quiere consultar LDAP para obtener datos SIP de los usuarios se aade lo
siguiente en /etc/asterisk/extconfig.conf:
sipusers => ldap,asterisk,sipuser
sippeers => ldap,asterisk,sippeer
Para que los usuarios en LDAP figuren al hacer CLI> sip show peers/users se debe indicar en el
fichero sip.conf la opcin:
rtcachefriends=yes
Configuracin esttica
La configuracin no especfica de SIP (voicemail, queues, agents, meetme-rooms) puede ser cargada
desde LDAP de forma esttica. Esto significa que dicha configuracin requiere de un reinicio o recarga
de Asterisk para cargar nuevos datos.
Para ello debemos aadir en el fichero extconfig.conf:
voicemail.conf => ldap,/etc/asterisk/ldap_voicemail.conf,astVoicemail
De esta forma cargamos la informacin sobre voicemail desde LDAP en los objetos astVoicemail.
El fichero /etc/asterisk/ldap_voicemail.conf sera un fichero de mapeo para cargar informacin desde
distintos atributos especificados en el asterisk.schema. Algunos de los mapeos por defecto que se usan
aunque no exista ningn fichero de mapeo seran:
astVoicemailVoiceboxNr
astVoicemailPassword
astVoicemailEmailsubject
astVoicemailEmailbody
astVoicemailEmaildateformat
VoiceboxNr
Password
Emailsubject
Emailbody
Emaildateformat
11/07/06
Si por ejemplo queremos que el nmero de buzn sea el mismo que el nmero de telfono
podemos mapearlo de la siguiente manera en el fichero /etc/asterisk/ldap_voicemail.conf:
telephoneNumber
VoiceboxNr
astVoicemailGeneralConfig
astVoicemailVoiceboxNr
astVoicemailPassword
astVoicemailEmailsubject
astVoicemailEmailbody
astVoicemailEmaildateformat
Ahora,
al
reiniciar
recargar
ObjectClass_GeneralConfig
VoiceboxNr
Password
Emailsubject
Emailbody
Emaildateformat
Asterisk,
el
conector
LDAP
buscar
el
objeto
Creacin de usuarios
Una vez configurado todo el escenario slo nos queda introducir los datos de los empleados en el
servidor OpenLDAP. Lo haremos desde la propia aplicacin web PHPldapAdmin.
Nota: A efectos prcticos PHPldapAdmin es una aplicacin de carcter general y no constituye la forma
ms ptima de administrar los contactos. La solucin ms apropiada conllevara el desarrollo de una
aplicacin a medida que tuviese en cuenta slo los atributos y campos necesarios para detallar los datos
de nuestros empleados.
Partiremos de este usuario de ejemplo:
dn: cn=Manolito Gafotas,ou=People,dc=irontec,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: astSipGeneric
objectClass: astSipUser
objectClass: astSipPeer
cn: Manolo Gafotas
11/07/06
sn: Gafotas
telephoneNumber: 301
astname: 301
astUsername: 301
astSecret: *****
astHost: dynamic
astContext: oficina
astLanguage: es
astQualify: yes
Importante:
astname es el userid al que llamar Asterisk. La query LDAP se realiza precisamente en funcin
de este atributo.
telephoneNumber no tiene relacin alguna con Asterisk, este dato NO ser consultado durante la
query LDAP. Lo lgico es que coincida con astname por comodidad.
11/07/06
Integracin de servicios
Hemos organizado los datos de nuestros empleados en un servidor OpenLDAP. Las posibilidades de
ampliacin de este esquema son numerosas, por ejemplo:
Podemos instalar un servidor de correo para la empresa albergado en otra mquina, y configurarlo para
que autentique y lea configuraciones de los empleados en el servidor OpenLDAP. Tan slo habra que
aadir en cada empleado los atributos LDAP requisito del servidor de correo.
Lo mismo para servidores de ficheros, mensajera instantnea (Jabber) y todo tipo de servicios
habituales en una empresa. Incluso existen numerosas aplicaciones de tipo CRM que realizan consultas
de personas a un servidor LDAP.
Las posibilidades son infinitas. Tal vez el nico requerimiento sera disponer de una aplicacin a medida
(podra ser web) adecuada a nuestro entorno que permitiese fcilmente la administracin de los datos
de los empleados.
11/07/06
## LICENCIA ##
Este documento est protegido bajo la licencia Attribution-ShareAlike 2.5 de Creative Commons:
http://creativecommons.org/licenses/by-sa/2.5
http://creativecommons.org/licenses/by-sa/2.5