SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
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
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 “)
*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
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
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)
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
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
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
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
[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>
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
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
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
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
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
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.
## 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
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
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.
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.
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.
DIAGRAMA DE RED
LISTA DE PROTOCOLOS UTILIZADOS


SIP
UDP
TCP
HTTP
MYSQL
SMTP
IP

Servicios
   asterisk
   dahdi
   slap
   httpd
   safe_asterisk
   asterisk-codec_g729a
   asterisk
   ldap
   sshd
   sm_cliente
   smartd
   sendmail
   mysql
   microode-ctl
   kudzu
   mcstrans
   isdm
   restorecond
   syslog
   network
   cpuspeed
   irqbalance
   portmap
   nfslock
   messagebuy
   bluetooth
   netfs
   pcscd
   acpid
   apmd
   haldaemon
      hidd
      lm_sensors
      autofs
      sshd
      cups
      rawdevices
      xinetd
      mysqld
      gpm
      httpd
      crond
      anacron
      atd
      yum-updatesd
      avahi-daemon
      dnsmasq
      firstboot
      local
      smartd
Codecs de video

      h.263

      h.263+(1998)

Codecs de Audio (enabled)

      BroadVoice-32

      G.711 aLaw, (G.711: bit-rate de 56 o 64 Kbps)

      G.711 uLaw

Más contenido relacionado

La actualidad más candente

José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]RootedCON
 
William fabricio manual de sistemas sas
William fabricio manual de sistemas sasWilliam fabricio manual de sistemas sas
William fabricio manual de sistemas sasRafael Toro
 
Gestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaGestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaPablo Aragón
 
Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Cosmosnet
 
Mejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningMejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningAntonio Ognio
 
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB  en Debian BullseyePostfix y Dovecot con cuentas MariaDB  en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB en Debian BullseyeHenry Cristian Cuesta Vega
 
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]RootedCON
 
Zimbra
ZimbraZimbra
Zimbrauni
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiTelefónica
 
Manual asterisk oigaa
Manual asterisk oigaaManual asterisk oigaa
Manual asterisk oigaaaiep
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuEcuteb Gv
 
Exploration1 capitulo11
Exploration1 capitulo11Exploration1 capitulo11
Exploration1 capitulo11jpalmaco
 
Creación de certificados digitales con openssl CA local
Creación de certificados digitales con openssl CA localCreación de certificados digitales con openssl CA local
Creación de certificados digitales con openssl CA localHenry Cristian Cuesta Vega
 
Vps local virtualbox
Vps local virtualboxVps local virtualbox
Vps local virtualboxBaruch Ramos
 

La actualidad más candente (20)

José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
 
William fabricio manual de sistemas sas
William fabricio manual de sistemas sasWilliam fabricio manual de sistemas sas
William fabricio manual de sistemas sas
 
Gestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaGestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consola
 
Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5Instalación Oracle 11gR2 en Linux Centos 5.5
Instalación Oracle 11gR2 en Linux Centos 5.5
 
Mejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningMejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - Hardening
 
2013 03 - rooted - free pbx-for fun and profit
2013 03 - rooted - free pbx-for fun and profit2013 03 - rooted - free pbx-for fun and profit
2013 03 - rooted - free pbx-for fun and profit
 
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB  en Debian BullseyePostfix y Dovecot con cuentas MariaDB  en Debian Bullseye
Postfix y Dovecot con cuentas MariaDB en Debian Bullseye
 
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
 
Xen - Taller practico
Xen - Taller practicoXen - Taller practico
Xen - Taller practico
 
Zimbra
ZimbraZimbra
Zimbra
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
 
Seguridades de redes
Seguridades de redesSeguridades de redes
Seguridades de redes
 
Manual asterisk oigaa
Manual asterisk oigaaManual asterisk oigaa
Manual asterisk oigaa
 
Manual FTP, SSH y OpenMedia Vault
Manual FTP, SSH y OpenMedia VaultManual FTP, SSH y OpenMedia Vault
Manual FTP, SSH y OpenMedia Vault
 
Despues de instalar fedora 14
Despues de instalar fedora 14Despues de instalar fedora 14
Despues de instalar fedora 14
 
Bulma 441
Bulma 441Bulma 441
Bulma 441
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntu
 
Exploration1 capitulo11
Exploration1 capitulo11Exploration1 capitulo11
Exploration1 capitulo11
 
Creación de certificados digitales con openssl CA local
Creación de certificados digitales con openssl CA localCreación de certificados digitales con openssl CA local
Creación de certificados digitales con openssl CA local
 
Vps local virtualbox
Vps local virtualboxVps local virtualbox
Vps local virtualbox
 

Similar a Planes de llamada

Instalacion de ubuntu y asterisk
Instalacion de ubuntu y asteriskInstalacion de ubuntu y asterisk
Instalacion de ubuntu y asteriskStar Bye
 
Sistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskSistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskGabriel Astudillo
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asteriskpavel
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asteriskpavel
 
VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010Gabriel Astudillo
 
Instalación de asterisk en linux mint 12
Instalación de asterisk en linux mint 12Instalación de asterisk en linux mint 12
Instalación de asterisk en linux mint 12Giovani Hernandez
 
Postfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian WheezyPostfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian WheezyHenry Cristian Cuesta Vega
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/LinuxMartin Gregorio
 
Receta red social
Receta red socialReceta red social
Receta red socialwalterose7
 
Manual de operación Asterisk en windows
Manual de operación Asterisk en windowsManual de operación Asterisk en windows
Manual de operación Asterisk en windowsPaulo Cortés Molina
 
ownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal JebariownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal Jebaribilaljbr
 
Configuracion de red en Ubuntu Linux
Configuracion de red en Ubuntu LinuxConfiguracion de red en Ubuntu Linux
Configuracion de red en Ubuntu LinuxFabian Ortiz
 
Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)javi belenguer
 
Requerimientos de instalación
Requerimientos de instalaciónRequerimientos de instalación
Requerimientos de instalaciónPrincezitha Ruiz
 
Bitácora de comandos montar un sitio en un server
Bitácora de comandos montar un sitio en un serverBitácora de comandos montar un sitio en un server
Bitácora de comandos montar un sitio en un serverLearn Pure Insanity
 
Manual De Instalacion De Asterisk
Manual De Instalacion De AsteriskManual De Instalacion De Asterisk
Manual De Instalacion De AsteriskCesar Pineda
 

Similar a Planes de llamada (20)

Instalacion de ubuntu y asterisk
Instalacion de ubuntu y asteriskInstalacion de ubuntu y asterisk
Instalacion de ubuntu y asterisk
 
Sistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskSistemas de VoIP con Asterisk
Sistemas de VoIP con Asterisk
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asterisk
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asterisk
 
VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010
 
CLASE 10 ASTERISK.pdf
CLASE 10 ASTERISK.pdfCLASE 10 ASTERISK.pdf
CLASE 10 ASTERISK.pdf
 
Instalación de asterisk en linux mint 12
Instalación de asterisk en linux mint 12Instalación de asterisk en linux mint 12
Instalación de asterisk en linux mint 12
 
Postfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian WheezyPostfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
Postfix y Dovecot con usuarios virtuales mysql en Debian Wheezy
 
Virtualización con Xen
Virtualización con XenVirtualización con Xen
Virtualización con Xen
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/Linux
 
VoIP con Asterisk 2009
VoIP con Asterisk 2009VoIP con Asterisk 2009
VoIP con Asterisk 2009
 
Receta red social
Receta red socialReceta red social
Receta red social
 
Manual de operación Asterisk en windows
Manual de operación Asterisk en windowsManual de operación Asterisk en windows
Manual de operación Asterisk en windows
 
ownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal JebariownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal Jebari
 
Configuracion de red en Ubuntu Linux
Configuracion de red en Ubuntu LinuxConfiguracion de red en Ubuntu Linux
Configuracion de red en Ubuntu Linux
 
PXE
PXEPXE
PXE
 
Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)Servidor Asterisk (Instalacion y Configuracion)
Servidor Asterisk (Instalacion y Configuracion)
 
Requerimientos de instalación
Requerimientos de instalaciónRequerimientos de instalación
Requerimientos de instalación
 
Bitácora de comandos montar un sitio en un server
Bitácora de comandos montar un sitio en un serverBitácora de comandos montar un sitio en un server
Bitácora de comandos montar un sitio en un server
 
Manual De Instalacion De Asterisk
Manual De Instalacion De AsteriskManual De Instalacion De Asterisk
Manual De Instalacion De Asterisk
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (10)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Planes de llamada

  • 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.
  • 23. LISTA DE PROTOCOLOS UTILIZADOS SIP UDP TCP HTTP MYSQL SMTP IP Servicios
  • 24. asterisk  dahdi  slap  httpd  safe_asterisk  asterisk-codec_g729a  asterisk  ldap  sshd  sm_cliente  smartd  sendmail  mysql  microode-ctl  kudzu  mcstrans  isdm  restorecond  syslog  network  cpuspeed  irqbalance  portmap  nfslock  messagebuy  bluetooth  netfs  pcscd  acpid  apmd
  • 25. haldaemon  hidd  lm_sensors  autofs  sshd  cups  rawdevices  xinetd  mysqld  gpm  httpd  crond  anacron  atd  yum-updatesd  avahi-daemon  dnsmasq  firstboot  local  smartd Codecs de video  h.263  h.263+(1998) Codecs de Audio (enabled)  BroadVoice-32  G.711 aLaw, (G.711: bit-rate de 56 o 64 Kbps)  G.711 uLaw