Integración de Dolibarr ERP/CRM con Asterisk

Hoy veremos como instalar Dolibarr y integrarlo con Asterisk.

Dolibarr es un programa ERP (Entreprise Resource Planning) y al mismo tiempo CRM (Customer Relationship Management). El ERP se utiliza para planificar y gestionar los procesos operativos de una empresa mientras el CRM es para la gestión y relación comercial con los clientes. Dolibarr es pensado para pequeñas empresas y soporta distintos idiomas, entre los cuales, el español.

La instalación se realizará en un VPS de DigitalOcean con CentOS 64bit y 1GB de memoria RAM. El Asterisk tiene que estar ya instalado y en función.

Una vez conectados al servidor vías SSH, actualizamos el sistema:

yum update -y

Instalamos el editor nano y wget:

yum install nano wget -y

Continuamos con la configuración de la zona horaria (personalizar según su país):

rm /etc/localtime
ln -s /usr/share/zoneinfo/America/Bogota /etc/localtime

El idioma (español):

nano /etc/sysconfig/i18n

modificamos esta línea:

LANG="en_US.UTF-8"

para que quede:

LANG="es_CO.iso88591"

Guardamos los cambios.

Instalamos el paquete del network time protocol que se utiliza para tener actualizada la hora del servidor:

yum install ntp -y

Lo configuramos para que arranque en automático:

chkconfig ntpd on

Lo iniciamos:

service ntpd start

Creamos la partición de Swap ya que no viene por defecto:

dd if=/dev/zero of=/swapfile bs=1024 count=512k
mkswap /swapfile
swapon /swapfile

Configuramos la partición de swap para que arranque con el sistema:

nano /etc/fstab

al final del archivo añadimos la línea que sigue:

/swapfile          swap            swap    defaults        0 0

Guardamos los cambios y se cambiamos los permisos del archivo recién creado:

chmod 0600 /swapfile

Reiniciamos el sistema:

reboot

Volvemos a acceder al servidor y se cambia de carpeta:

cd /usr/src

Descargamos el paquete para CentOS:

wget http://downloads.sourceforge.net/project/dolibarr/Dolibarr%20installer%2...

Lo instalamos con todas sus dependencias:

yum install dolibarr-3.5.0-0.3.noarch.rpm

Ponemos en seguridad el servidor MySQL:

mysql_secure_installation

Enter current password for root (enter for none): [Envío]
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Entramos en MySQL:

mysql -u root  -psesamo

Creamos la base de datos para Dolibarr:

mysql> create database dolibarr;

Creamos un nuevo usuario con los respectivos permisos:

mysql> grant all privileges on dolibarr.* to 'doliuser'@'localhost' identified by 'sesamo';

Salimos del cliente:

mysql> quit

Configuramos el inicio automático para mysql y apache:

chkconfig mysqld on

chkconfig httpd on

Accedemos a la pagina de instalación de Dolibarr:

http://IPservidor/dolibarr/install

dolibarr1

El sistema comprobará que estén satisfechos todos los pre requisitos. Seleccionamos el botón que sigue:

dolibarr2

Configuramos los datos de conexión a la base de datos:

dolibarr3

Continuamos con el botón “Siguiente paso”. El sistema creará el archivo de configuración:

dolibarr4

Continuamos con el botón “Siguiente paso”. Aparecerá:

dolibarr5

Continuamos con el botón “Siguiente paso”. En la nueva pagina configuramos el nombre de usuario y la contraseña para acceder a la pagina de administración del programa. Terminamos con el botón “Siguiente paso”:

dolibarr6

Ya podemos acceder a la pagina de administración:

dolibarr7

Primero entramos en el menú Empresa/Institución para configurar los datos de la empresa:

dolibarr8

La parte importante es el numero de teléfono con el prefijo del país por delante. Guardamos los cambios con el botón “Grabar” y pasamos al menú Módulos –> Módulos Interfaz. Activamos el modulo “ClickToDial”:

dolibarr9

Entramos en la configuración del modulo. En la casilla “enlace por defecto” ponemos:

http://IPservidor/dolibarr/asterisk/wrapper.php?caller=__PHONEFROM__&cal...

Guardamos los cambios con el botón “modificar”. Pasamos al menú varios y insertamos los datos de conexión al servidor Asterisk:

dolibarr10

  • ASTERISK_HOST: la IP del servidor Asterisk
  • ASTERISK_INDICATIF: el prefijo que añadiremos a cada numero de los clientes para sacar la llamada
  • ASTERISK_PORT: el puerto  de la AMI de Asterisk (predefinido 5038)
  • ASTERISK_TYPE: Protocolo de la llamada para el DIAL:

Para terminar seleccionamos admin en alto a la derecha y luego la pestaña ClickToDial y el botón “Modificar”:

dolibarr11

  • ClickToDial Login: el nombre de usuario para conectarse a la AMI de Asterisk
  • ClickToDial Contraseña: la contraseña para conectarse a la AMI de Asterisk
  • ClickToDial ID llamante (teléfono): la extensión del usuario admin (que Asterisk llamará antes de realizar la llamada al cliente)

Guardamos los cambios con el botón “Grabar”

Terminada la configuración de Dolibarr pasamos a Asterisk:

nano /etc/asterisk/manager

Modificamos esta línea:

enabled = no

para que quede:

enabled = yes

al final del archivo añadimos el siguiente bloque:

[voztovoice]
secret=sesamo
deny=0.0.0.0/0.0.0.0
permit=1.2.3.4/255.255.255.255
read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
write = system,call,agent,user,config,command,reporting,originate

Cambiar 1.2.3.4 con la IP del servidor donde está instalado Dolibarr. Cambiar el parámetro secret con la contraseña que han configurado en la pestaña ClickToDial del usuario admin.

Por defecto el sistema de ClickToDial utiliza el contexto from-internal. Lo creamos en el dialplan:

nano /etc/asterisk/extensions.conf

[from-internal]
exten => _00XX.,1,NoOp(llamadas Dolibarr)
same => n,Dial(SIP/proveedorvoip/${EXTEN},30)
same => n,hangup

Cambiar proveedorvoip con el nombre de la troncal de su proveedor. Guardamos los cambios y entramos en la consola de Asterisk:

asterisk -rvvvvvvvvvvvvvvvvvv

recargamos la configuración de la AMI:

CLI> manager reload

y del dialplan:

CLI> dialplan reload

Si necesario abrimos el puerto 5038 en el firewall para la IP del servidor Dolibarr.

Para realizar la prueba volvemos a la pagina de administración de Dolibarr, menú Módulos –> Módulos interfaz –> configuración del modulo ClickToDial:

 dolibarr9

Damos click en el numero de teléfono que aparece en la pagina:

dolibarr12

El sistema primero llamará la extensión configurada para el usuario admin:

dolibarr13

Una vez que conteste, Asterisk llamará el numero de destino, en este caso 5753850962. En la AMI de Asterisk:

T 2014/02/14 10:18:37.356150 162.243.49.66:40394 -> 50.116.31.15:5038 [AP]
Action: login.

##
T 2014/02/14 10:18:37.356636 50.116.31.15:5038 -> 162.243.49.66:40394 [AP]
Asterisk Call Manager/1.1.

#
T 2014/02/14 10:18:37.416099 162.243.49.66:40394 -> 50.116.31.15:5038 [AP]
Events: off.
Username: voztovoice.
Secret: sesamo.
.
Action: originate.
Channel: SIP/1000.
WaitTime: 30.
CallerId: Dolibarr <10000>.
Exten: 005753850962.
Context: from-internal.
Priority: 1.
.
Action: Logoff.

T 2014/02/14 10:18:37.416797 50.116.31.15:5038 -> 162.243.49.66:40394 [AP]
Response: Success.

#
T 2014/02/14 10:18:37.416931 50.116.31.15:5038 -> 162.243.49.66:40394 [AP]
Message: Authentication accepted.

Perfecto. ya tenemos el sistema funcionando.

!Eso es todo! Les Luthiers

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo
Suscribirse a Comentarios de "Integración de Dolibarr ERP/CRM con Asterisk" Suscribirse a VozToVoice - Todos los comentarios