Este documento proporciona instrucciones detalladas para instalar y configurar un sistema de telefonía IP basado en Asterisk con FreePBX en Debian. Los pasos incluyen instalar dependencias, compilar e instalar Asterisk y addons, configurar la base de datos MySQL, instalar FreePBX, configurar el correo electrónico y más.
1. 2011
PLANES DE LLAMADAS
Asterisk, LDAP, FreePBX
INTEGRANTES:
CONTRERAS CRUZ, HECTOR FERNANDO
MIRA HUEZO, KARLA REBECA
QUIÑONEZ GUERRERO, ROSA ESMERALDA
YENSI G
[Escriba el nombre de la compañía]
01/01/2011
2. Planes de Llamada
Asterisk 1.6 con interfaz gráfica de administración FreePBX 2.5 para nuestra central.
X-lite como nuestro softphone.
Ldap
Pasos para la instalación de Asterisk
Teniendo Debian como SO instalado ingresamos a la consola como usuario root y ejecutamos el
siguiente comando:
# apt-get install ssh
Do you want to continue [Y/n]? presionamos ENTER para continuar
Ahora podemos conectarnos vía ssh, desde una PC con Windows con el cliente Putty
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Ejecutamos:
# apt-get install vim
Do you want to continue [Y/n]? presionamos ENTER para continuar
Editamos el archivo vimrc con el siguiente comando:
# vi /etc/vim/vimrc
Editamos 03 líneas del archivo para que quede de la siguiente manera:
syntax on (quitamos las comillas iniciales “)
set noai (agregamos)
set background=dark (quitamos la comillas iniciales “)
3. *Para borrar usamos Supr
*Para insertar presionamos i
*Para salir grabando los cambios presionamos Esc y :x
*Para salir sin grabar los cambios presionamos Esc y :q!
Ahora instalamos las siguientes dependencias para poder instalar Asterisk (esto toma su tiempo
dependiendo de la velocidad de conexión de 30 ~ 35min)
Los paquetes q a continuación se instalaran podrá ser instalado todos de una vez siempre y
cuando se respeten los espacios, además antes de todo hacer el cual me indicará el kernel
#uname-r
Obtenido el kerne se sustituirá en `uname -r`
# apt-get install linux-headers-`uname -r` build-essential cvs libnewt-dev
libusb-dev libssl-dev libssl0.9.8 modconf php5 php5-mysql php5-gd php5-cgi mimeconstruct
libxml2 libxml2-dev libtiff4 libtiff4-dev apache2 mysql-server mysql-client
libmysqlclient15-dev php-pear openssl expat perl flex bison libaudiofile-dev libncurses5-
dev curl sox mpg123 speex libspeex-dev libiksemel-dev hdparm
Do you want to continue [Y/n]? presionamos ENTER para continuar
En una parte de la instalación nos solicita ingresar la contraseña de
administrador de la base de datos MySQL
4. Instalamos los paquetes necesarios para PERL
# perl -MCPAN -e 'install +YAML'
Continuamos con la instalación:
# perl -MCPAN -e "install Net::Telnet"
# perl -MCPAN -e "install IPC::Signal"
# perl -MCPAN -e "install Proc::WaitStat"
Instalamos la aplicación TFTP
# apt-get install atftpd
# vi /etc/inetd.conf
Aquí modificamos la línea /var/lib/tftpboot y la dejamos solo como /tftpboot
# mkdir /tftpboot
5. Creación de enlaces simbólicos
# mkdir /usr/src/linux-2.6
# mkdir /usr/src/linux
# ln -s /usr/src/linux-headers-2.6.26-2-686 /usr/src/linux-2.6
# ln -s /usr/src/linux-headers-2.6.26-2-686 /usr/src/linux
Ahora copiamos todos los archivos necesarios (previamente descargados de la página
www.asterisk.org) para la instalación de nuestra central asterisk al directorio: /usr/src haciendo
uso de FileZilla FTP Client
http://filezilla-project.org/download.php?type=client
Instalación de lame (http://lame.sourceforge.net/)
asterisk: /usr/src# tar xzvf lame-3.98-2.tar.gz
asterisk: /usr/src# cd lame-3.98-2
asterisk: /usr/src/lame-3.98-2# ./configure --prefix=/usr --sysconfdir=/etc
asterisk: /usr/src/lame-3.98-2# make
asterisk: /usr/src/lame-3.98-2# make install
Instalación de asterisk-perl (http://asterisk.gnuinter.net/)
asterisk: /usr/src # tar xzvf asterisk-perl-1.01.tar.tar
asterisk: /usr/src# cd asterisk-perl-1.01
asterisk: /usr/src/asterisk-perl-1.01# perl Makefile.PL
asterisk: /usr/src/asterisk-perl-1.01# make all
asterisk: /usr/src/asterisk-perl-1.01# make install
Creación de los usuarios de la Base de Datos (BD)
asterisk: /usr/src # mysql –u root –p (el password de la BD la colocamos al comienzo
de la instalación)
mysql > show databases;
mysql > use mysql;
mysql > grant all privileges on *.* to asterisk@localhost identified by "asteriskperu28";
mysql > flush privileges;
mysql > exit
Nos validamos con el usuario asterisk creado
asterisk: /usr/src # mysql –u asterisk –p (el password del usuario asterisk es asteriskperu28)
mysql > create database asteriskcdrdb;
mysql > create database asterisk;
mysql > create database avantfax; (para el Avantfax)
mysql > create database mya2billing; (para el A2Billing)
mysql > create database qstat; (para el Asternic Call Center Stats)
6. mysql > exit
Pasamos el esquema y la información de los scripts a la Base de Datos de FreePBX
asterisk: /usr/src # tar xzvf freepbx-2.5.1.tar.gz
asterisk: /usr/src# cd freepbx-2.5.1
asterisk: /usr/src/freepbx-2.5.1# mysql -u asterisk -p asterisk < /usr/src/freepbx-
2.5.1/SQL/newinstall.sql
Enter password: asteriskperu28
asterisk: /usr/src/freepbx-2.5.1# mysql -u asterisk -p asteriskcdrdb < /usr/src/freepbx-
2.5.1/SQL/cdr_mysql_table.sql
Enter password: asteriskperu28
Creamos el usuario y grupo que manejara los procesos de asterisk y creamos el directorio asterisk
asterisk: /usr/src # groupadd asterisk
asterisk: /usr/src # useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
asterisk: /usr/src # mkdir /var/run/asterisk
asterisk: /usr/src # chown asterisk:asterisk /var/run/asterisk
Cambiamos el usuario propietario de Apache
asterisk: /usr/src # vi /etc/group
www-data:x:33:asterisk
7. Cambiar el usuario y grupo de $(APACHE_RUN_USER) a asterisk
asterisk: /usr/src # vi /etc/apache2/apache2.conf
User ${APACHE_RUN_USER} cambiar a User asterisk
Group ${APACHE_RUN_USER} cambiar a Group asterisk
Edición de php.ini para aumentar el tamaño de archivos que se suben al servidor web, para esto
modificamos los siguientes valores
asterisk: /usr/src # vi /etc/php5/apache2/php.ini
upload_max_filesize = 40M
max_execution_time = 120
max_input_time = 120
Sigamos, tendremos que decirle al php.ini del paquete php5-cgi que utilice la extension mysql.so
con esto le permitimos a este paquete realizar consultas contra el motor de bases de datos mySQL
asterisk: /usr/src # vi /etc/php5/cgi/php.ini
extension=mysql.so
Instalación de asterisk
asterisk: /usr/src # tar xzvf asterisk-1.4.26.1.tar.gz
asterisk: /usr/src# cd asterisk-1.4.26.1#
asterisk: /usr/src/ asterisk-1.4.26.1# ./configure
asterisk: /usr/src/ asterisk-1.4.26.1# make menuselect (para ver las opciones)
asterisk: /usr/src/ asterisk-1.4.26.1# make
asterisk: /usr/src/ asterisk-1.4.26.1# make install
8. asterisk: /usr/src/ asterisk-1.4.26.1# make samples
Instalación de asterisk-addons
asterisk: /usr/src # tar xzvf asterisk-addons-1.4.9.tar.gz
asterisk: /usr/src# cd asterisk-addons-1.4.9
asterisk: /usr/src/asterisk-addons-1.4.9# ./configure
asterisk: /usr/src/asterisk-addons-1.4.9# make menuselect (para ver las opciones)
asterisk: /usr/src/asterisk-addons-1.4.9# make
asterisk: /usr/src/asterisk-addons-1.4.9# make install
asterisk: /usr/src/asterisk-addons-1.4.9# make samples
Modificamos y reiniciamos el servidor web apache
asterisk: /usr/src # vi /etc/apache2/sites-available/default
agregar en:
DocumentRoot /var/www/asterisk
asterisk: /usr/src # /etc/init.d/apache2 restart
Editamos el archivo de configuracion de asterisk
asterisk: /usr/src # vi /etc/asterisk/asterisk.conf
agregar en:
astrundir=/var/run/asterisk
Asignamos los permisos
asterisk: /usr/src # chown -R asterisk:asterisk /var/run/asterisk
Modificar en:
asterisk: /usr/src # vi /usr/src/freepbx-
2.5.1/amp_conf/bin/retrieve_op_conf_from_mysql.pl
reemplazar:
zapata.conf por chan_dahdi.conf
zapata-auto.conf por dahdi-channels.conf
9. IMPORTANTE : Si actualizas el freePBX estos cambios se borraran y tendrás que hacerlo
nuevamente, esta vez en el archivo :
#vi /var/lib/asterisk/bin/retrieve_op_conf_from_mysql.pl
Iniciar Asterisk para poder hacer la instalación de freePBX
asterisk: /usr/src # asterisk start
Continuamos con la instalación de freePBX
asterisk: /usr/src/ # cd /usr/src/freepbx-2.5.1
Instalamos los paquetes para gestión de bases de datos en PHP
asterisk: /usr/src/freepbx-2.5.1 # pear install db
asterisk: /usr/src/freepbx-2.5.1 # mkdir /var/www/asterisk/
asterisk: /usr/src/freepbx-2.5.1 # chown asterisk:asterisk /var/www/asterisk
asterisk: /usr/src/freepbx-2.5.1 #./install_amp
Después de ejecutar ./install_amp pedirá los valores para crear el archivo de configuración
En primer lugar introducir el usuario de la base de datos que se creo previamente
[asteriskuser] asterisk
Introducir el password de usuario de la base de datos creada para asterisk
[amp109] asteriskperu28
Introducir el nombre del servidor de la base de datos, si está de forma local, intoducir localhost
(igual
que este caso), de lo contrario introducir la dirección IP o nombre de dominio del servidor de base
de
datos
[localhost] ENTER
Introducir el nombre de usuario del administrador que se usara como admin del AMI de asterisk
[admin] asterisk
Password del usuario admin de AMI, importante para conectar aplicaciones terceras a Asterisk
10. [amp111] ENTER
Ruta de instalación del servidor de asterisk
[/var/www/html] /var/www/asterisk
Dirección IP del servidor asterisk
[xx.xx.xx.xx] 192.168.1.201 (para este caso: es la dirección IP de mi servidor asterisk)
Password para poder operar FOP
[passw0rd] ENTER
Use simple Extensions extensions admin or separate Devices and Users deviceanduser?
[extensions] ENTER
Enter directory in which to store AMP executable scripts:
[/var/lib/asterisk/bin] ENTER
Enter directory in which to store super-user scripts:
[/usr/local/sbin] ENTER
Configuramos los permisos para el directorio de asterisk
asterisk: /usr/src/ # chown -R asterisk:asterisk /var/lib/asterisk/
Paramos previamente la ejecución de asterisk
asterisk: /usr/src/ # ps aux | grep asterisk
asterisk: /usr/src/ # kill -s 9 9248 (el valor de 9248 es solo para este caso)
Creamos el siguiente archivo y lo editamos:
asterisk: /usr/src/ # vi /etc/default/asterisk
RUNASTERISK=yes
Realizamos algunos cambios para el freePBX
asterisk: /usr/src/ # vi /var/www/asterisk/admin/views/panel.php
debe quedar:
src="../panel/index_amp.php?context='.$deptname.'">'
asterisk: /usr/src/ # vi /var/www/asterisk/index.html
<a href="index.php"><img src="admin/images/freepbx.png"/></a>
debe quedar:
<a href="admin/index.php"><img src="admin/images/freepbx.png"/></a>
11. Ejecutamos amportal
asterisk: /usr/src/ # amportal start
Abrir en un navegador de preferencia Firefox la dirección del servidor asterisk
http://192.168.1.201
Por default no nos pedirá password, pero hay que ir a administrator y cambiar el nombre de
usuario y
password del administrador
Ingresamos a freePBX Administration => Administrators => admin.
Username: admin
Password: asteriskperu28
Cerramos la ventana de explorador del freePBX y editamos el siguiente archivo:
asterisk: /usr/src/ # vi /etc/amportal.conf
AUTHTYPE=database
Para usar DAHDI en el freePBX
ZAP2DAHDICOMPAT=true
Ahora al volver a conectarnos al servidor asterisk vía web, nos pedirá el usuario
y password
Para iniciar asterisk y freePBX al arrancar el servidor, editamos el siguiente archivo:
asterisk: /usr/src/ # vi /etc/rc.local
/usr/local/sbin/amportal start
exit 0
12. la siguiente dirección: http://www.asterisk-peru.com/node/1405
CONFIGURACIÓN DEL CLIENTE EXIM4 PARA EL ENVIO DE LOS VOICEMAIL
Objetivo
Evitar problemas cuando se envían los voicemail a las cuentas de correos y estos no llegan
asterisk: /usr/src/ # dpkg-reconfigure exim4-config
Seleccionar mail sent by smarthost; received via SMTP or fetchmail
Indicar el nombre del servidor de correo
13. IP-adresses to listen on for incoming SMTP connections: 127.0.0.1
Other destinations for which mail is accepted: DEJAR VACIO
Machines to relay mail for: DEJAR VACIO
14. IP address or host name of the outgoing smarthost :
Hide local mail name in outgoing mail? NO
Keep number of DNS-queries minimal (Dial-on-Demand) ? NO
15. Split configuration into small files? YES
Ahora editamos el archivo:
asterisk: /usr/src/ # vi /etc/exim4/passwd.client
mail.asteriskperu.com:nombre_de_usuario:clave_de_usuario
Protegemos nuestros datos
asterisk: /usr/src/ # chown root:Debian-exim /etc/exim4/passwd.client
asterisk: /usr/src/ # echo "root@localHost: nombre_de_usuario@mi_dominio.com"
>> /etc/exim4/email-addresses
asterisk: /usr/src/ # update-exim4.conf
Editamos el archivo voicemail.conf
asterisk: /usr/src/ # vi /etc/asterisk/voicemail.conf
mailcmd=/usr/sbin/exim –t
16. Ahora realizamos un TEST para verificar la configuración
asterisk: /usr/src/ # echo “Cuerpo de email” |mail -s “Encabezado Prueba de
email” manzurek@asteriskperu.com
IMPORTANTE : El administrador del servidor de correo debe hacer un relay de la
dirección IP del servidor Asterisk, permitiendo de esta manera que el servidor de
correo reciba los voicemail enviados por Asterisk.
17. ## LDAP ##
En un entorno de trabajo en red se vuelve transcendental el acceso rápido y eficaz a la
información. Disponer de los datos de una manera desorganizada puede influir
negativamente en el proceso de búsqueda dentro de la intranet de la empresa: ¿Cuál es
el teléfono del Sr. X en el departamento Y? ¿y su correo electrónico?
¿Qué empleado tiene la extensión XYZ?
El servicio de directorio conforma la mejor respuesta a este problema, ofreciendo la
información de forma sencilla y estructurada mediante acceso y atributos estandarizados
y búsquedas eficientes.
LDAP es un protocolo de red que permite el acceso a un servicio de directorio. Hoy en día
la mayor parte de los servicios soportan acceso LDAP (servicios de correo, ftp,
compartición de ficheros, etc), pero también muchas aplicaciones cliente acceden a
directorio LDAP (clientes de correo, de mensajería instantánea, agenda de contactos,
etc).
LDAP y bases de datos
A modo de resumen, las diferencias básicas entre ambos modelos serían: LDAP está
diseñado para permitir lectura de datos muy rápida, no así la escritura.
Ello lo convierte en solución idónea para almacenar información acerca de usuarios, a la
que por norma general se realizan consultas mucho más que modificaciones. ¿Con que
frecuencia cambia la dirección de correo o la contraseña de un usuario? LDAP propone
una estructura jerarquizada de información frente a la organización relacional de una base
de datos.
LDAP no soporta complejos mecanismos de actualización o consulta. Las aplicaciones
acceden al servicio de directorio LDAP de manera sencilla y eficiente.
Por lo general, cualquier aplicación 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 búsqueda de contactos?
## INSTALACIÓN Y CONFIGURACIÓN, EJEMPLO PRÁCTICO ##
Escenario
Instalaremos un servidor OpenLDAP en una Debian Sarge (192.168.0.100) para
mantener los datos de los empleados de la empresa. Instalaremos Astirectory en la
máquina que alberga nuestro Asterisk (192.168.0.1) y lo configuraremos para que acceda
al servidor LDAP.
Instalación de OpenLDAP
El paquete Debian se llama slapd:
✗ apt-get install slapd
A continuación el gestor de paquetes DebConf nos realizará algunas preguntas:
DNS domain name: irontec.com (nuestra raiz será dc=irontec, dc=com)
Name of your organization: Irontec
18. Admin password: ********
Database backend to use: BDB
Con esto ya tenemos nuestro servidor OpenLDAP funcionando.
Instalación de PHPldapAdmin
A continuación instalaremos PHPldapAdmin, una aplicación 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
instalación de las dependencias necesarias (Apache2, módulos PHP, etc).
Importante: Se recomienda configurar SSL en el servidor Apache2 para evitar el envío en
texto plano de los datos de autenticación. No es objeto de este documento cómo
configurar SSL en Apache2, pero se localiza fácilmente en Internet.
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 añadimos una línea al fichero /etc/ldap/slapd.conf:
✗ include /etc/ldap/schema/asterisk.schema
Configuración
Creamos el fichero /etc/asterisk/res_ldap.conf con la configuración de acceso
al servidor LDAP:
✗ ldapuser = cn=admin,dc=irontec,dc=com
✗ ldapuri = ldap://192.168.0.100 (¡Ojo! en la documentación oficial
pone "ldaphost", pero está equivocado)
✗ ldappass = ********
✗ ldapbasedn = ou=People,dc=irontec,dc=com
Nota: no es suficiente con un bind anónimo ya que el proceso de registro de los telefónos
SIP o softphones necesita escribir en el servidor LDAP. El registro se realiza
periódicamente, 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 autenticándonos 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). Sería 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 módulo res_config_ldap.so añadiendo lo siguiente en el archivo
/etc/asterisk/modules.conf:
✗ preload => res_config_ldap.so
19. Consultas en tiempo real
Las consultas a LDAP se hacen cada vez que se requieren datos, por lo que se pueden
añadir o modificar usuarios en LDAP sin necesidad de reiniciar o recargar Asterisk.
Para especificar que se quiere consultar LDAP para obtener datos SIP de los usuarios
se añade lo siguiente en /etc/asterisk/extconfig.conf:
✗ sipusers => ldap,asterisk,sipuser
✗ sippeers => ldap,asterisk,sipper
Para que los usuarios en LDAP figuren al hacer CLI> sip show peers/users se debe
indicar en el fichero sip.conf la opción:
✗ rtcachefriends=yes
Configuración estática
La configuración no específica de SIP (voicemail, queues, agents, meetme-rooms) puede
ser cargada desde LDAP de forma estática. Esto significa que dicha configuración
requiere de un reinicio o recarga de Asterisk para cargar nuevos datos.
Para ello debemos añadir en el fichero extconfig.conf:
✗ voicemail.conf => ldap,/etc/asterisk/ldap_voicemail.conf,astVoicemail
De esta forma cargamos la información sobre voicemail desde LDAP en los objetos
astVoicemail.
El fichero /etc/asterisk/ldap_voicemail.conf sería un fichero de mapeo para cargar
información desde distintos atributos especificados en el asterisk.schema. Algunos de
los mapeos por defecto que se usan aunque no exista ningún fichero de mapeoserían:
✗ astVoicemailVoiceboxNr VoiceboxNr
✗ astVoicemailPassword Password
✗ astVoicemailEmailsubject Emailsubject
✗ astVoicemailEmailbody Emailbody
✗ astVoicemailEmaildateformat Emaildateformat
Si por ejemplo queremos que el número de buzón sea el mismo que el número de
teléfono podemos mapearlo de la siguiente manera en el fichero
/etc/asterisk/ldap_voicemail.conf:
✗ telephoneNumber VoiceboxNr
También podemos incluir información general de la configuración:
✗ astVoicemailGeneralConfig ObjectClass_GeneralConfig
✗ astVoicemailVoiceboxNr VoiceboxNr
✗ astVoicemailPassword Password
✗ astVoicemailEmailsubject Emailsubject
✗ astVoicemailEmailbody Emailbody
✗ astVoicemailEmaildateformat Emaildateformat
Ahora, al reiniciar o recargar Asterisk, el conector LDAP buscará el objeto
astVoicemailGeneralConfig y usará sus atributos y valores como configuración general.
Nota: De la misma forma, podemos cargar desde LDAP la configuración para
queues.conf, agents.conf y meetme.conf.
20. Creación de usuarios
Una vez configurado todo el escenario sólo nos queda introducir los datos de los
empleados en el servidor OpenLDAP. Lo haremos desde la propia aplicación web
PHPldapAdmin.
Nota: A efectos prácticos PHPldapAdmin es una aplicación de carácter general y no
constituye la forma más óptima de administrar los contactos. La solución más apropiada
conllevaría el desarrollo de una aplicación a medida que tuviese en cuenta sólo 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
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 función de este atributo.
telephoneNumber no tiene relación alguna con Asterisk, este dato NO será consultado
durante la query LDAP. Lo lógico es que coincida con astname por comodidad.
Copiamos el texto anterior, vamos al navegador en https://192.168.0.100/phpldapadmin y
pulsamos en import en el marco izquierdo. Pegamos el texto en el cuadro habilitado para
ello y pulsamos Proceder. Ahora vamos al marco izquierdo y pulsamos en refrescar, con
lo que aparece nuestro primer usuario pudiendo modificar sus datos o añadir nuevos
atributos. Tal vez la forma más sencilla de gestionar los empleados con PHPldapAdmin
sea partir del usuario de ejemplo con todos los atributos necesarios y generar copias del
mismo
adecuando los atributos a cada empleado. Para ello, una vez seleccionado el usuario de
ejemplo pulsaremos en Copy or move this entry, introduciremos el nombre y apellido del
empleado en cuestión y modificaremos sus datos (teléfono, password, etc).
Integración de servicios
Hemos organizado los datos de nuestros empleados en un servidor OpenLDAP. Las
posibilidades de ampliación de este esquema son numerosas, por ejemplo: Podemos
instalar un servidor de correo para la empresa albergado en otra máquina, y configurarlo
para que autentique y lea configuraciones de los empleados en el servidor OpenLDAP.
21. Tan sólo habría que añadir en cada empleado los atributos LDAP requisito del servidor de
correo. Lo mismo para servidores de ficheros, mensajería instantánea (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 sería disponer de una aplicación a medida (podría
ser web) adecuada a nuestro entorno que permitiese fácilmente la administración de los
datos de los empleados.