tareas # 3984 (en curso): pruebas del directorio … · estado: en curso fecha de inicio:...

8
Proyectos VoIP - Tareas #4140 Tareas # 3984 (En curso): Pruebas del Directorio LDAP / PWM Incorporar Información VoIP en LDAP 03/06/2015 03:36 PM - Andrés Pías Status: En curso Start date: 03/09/2015 Priority: Normal Due date: 04/01/2015 Assignee: Andrés Pías % Done: 90% Category: Estimated time: 0.00 hour Target version: Spent time: 43.20 hours Description Voy a Investigar como incorporar la información telefónica de las Sedes en entidades dentro del LDAP y así generar XML para la agenda que levante Elastix. En la estructura que tenemos definida ahora tenemos Cenures, Sedes, Grupos y usuarios. Related issues: Related to Proyectos VoIP - Tareas # 3696: Consolidación de datos VoIP Cerrada 12/15/2014 02/20/2015 Related to Proyectos VoIP - Tareas # 5009: Script para exportar los CSV Nueva 11/26/2015 History #1 - 05/07/2015 05:42 PM - Andrés Pías - Project changed from Aprovisionamiento de Identidad to Proyectos VoIP Estuve investigando un poco el tema. Paso estos dos documentos oficiales al respecto. http://www.yealink.com/Upload/T2X/2014102/LDAP%20Phonebook%20on%20Yealink%20IP%20Phones_V72_1.pdf http://www.yealink.com/Upload/UCOne/20141231/T2X/AdminGuide/Yealink_SIP-T2xP_IP_Phones_Administrator_Guide_V73_40.pdf Parece que en las últimas versiones de los Yealink, después de los T20P, se agregó una tecla LDAP en el telefono que permite explorar un directorio. Tanto la lista de contactos como la agenda LDAP no se superponen son cosas complementarias. El tema que para la versión de teléfonos que tenemos, la config LDAP no nos va a funcionar, como dice en los tutoriales: LDAP feature is not applicable to SIP - T20P IP phones. Remote phone book is not applicable to SIP - T20P IP phones Hay que buscar por otro lado y lo mejor sería hacer un script que se conecte al LDAP y genere el XML. #2 - 05/07/2015 05:53 PM - Rodrigo Ferreira Nosotros en el CUT tenemos algunos T28, podriamos intentar hacer algunas pruebas con ellos si te parece. No se si uds tambien disponen de esas unidades... #3 - 05/07/2015 07:23 PM - Andrés Pías Rodrigo Ferreira escribió: Nosotros en el CUT tenemos algunos T28, podriamos intentar hacer algunas pruebas con ellos si te parece. No se si uds tambien disponen de esas unidades... 08/21/2018 1/8

Upload: hoangdung

Post on 21-Aug-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Proyectos VoIP - Tareas #4140

Tareas # 3984 (En curso): Pruebas del Directorio LDAP / PWM

Incorporar Información VoIP en LDAP

03/06/2015 03:36 PM - Andrés Pías

Status: En curso Start date: 03/09/2015

Priority: Normal Due date: 04/01/2015

Assignee: Andrés Pías % Done: 90%

Category: Estimated time: 0.00 hour

Target version: Spent time: 43.20 hours

Description

Voy a Investigar como incorporar la información telefónica de las Sedes en entidades dentro del LDAP y así generar XML para la agenda

que levante Elastix.

En la estructura que tenemos definida ahora tenemos Cenures, Sedes, Grupos y usuarios.

Related issues:

Related to Proyectos VoIP - Tareas # 3696: Consolidación de datos VoIP Cerrada 12/15/2014 02/20/2015

Related to Proyectos VoIP - Tareas # 5009: Script para exportar los CSV Nueva 11/26/2015

History

#1 - 05/07/2015 05:42 PM - Andrés Pías

- Project changed from Aprovisionamiento de Identidad to Proyectos VoIP

Estuve investigando un poco el tema. Paso estos dos documentos oficiales al respecto.

http://www.yealink.com/Upload/T2X/2014102/LDAP%20Phonebook%20on%20Yealink%20IP%20Phones_V72_1.pdf

http://www.yealink.com/Upload/UCOne/20141231/T2X/AdminGuide/Yealink_SIP-T2xP_IP_Phones_Administrator_Guide_V73_40.pdf

Parece que en las últimas versiones de los Yealink, después de los T20P, se agregó una tecla LDAP en el telefono que permite explorar un directorio.

Tanto la lista de contactos como la agenda LDAP no se superponen son cosas complementarias.

El tema que para la versión de teléfonos que tenemos, la config LDAP no nos va a funcionar, como dice en los tutoriales:

LDAP feature is not applicable to SIP - T20P IP phones.

Remote phone book is not applicable to SIP - T20P IP phones

Hay que buscar por otro lado y lo mejor sería hacer un script que se conecte al LDAP y genere el XML.

#2 - 05/07/2015 05:53 PM - Rodrigo Ferreira

Nosotros en el CUT tenemos algunos T28, podriamos intentar hacer algunas pruebas con ellos si te parece. No se si uds tambien disponen de esas

unidades...

#3 - 05/07/2015 07:23 PM - Andrés Pías

Rodrigo Ferreira escribió:

Nosotros en el CUT tenemos algunos T28, podriamos intentar hacer algunas pruebas con ellos si te parece. No se si uds tambien disponen de

esas unidades...

08/21/2018 1/8

Préndanle cartucho nomas :) ...Los teléfonos que nosotros tenemos acá son T20 y el otro tipo es T21.

Por lo que vimos la configuración es en el archivo genérico y000000xx.cfg (alli está todos los parámetros LDAP).

En el T28 ustedes tienen o ven un botón/tecla (física) que diga LDAP?

#4 - 05/08/2015 09:16 AM - Rodrigo Ferreira

No tienen ninguna tecla fisica que diga LDAP. En el menu web de configuracion tiene una opcion para configurar un directorio de numeros por LDAP.

Estoy viendo como hacer para implementar la configuracion.

Aca en esta web explica algo de como se puede hacer...

http://www.voiceone.it/blog/how-to-setup-voiceone-ldap-directory-on-yealink-t28-267.html

#5 - 05/08/2015 11:32 AM - Andrés Pías

Rodrigo Ferreira escribió:

No tienen ninguna tecla fisica que diga LDAP. En el menu web de configuracion tiene una opcion para configurar un directorio de numeros por

LDAP. Estoy viendo como hacer para implementar la configuracion.

Ah ok esa opción la había visto y justo no está en los T20.

Aca en esta web explica algo de como se puede hacer...

http://www.voiceone.it/blog/how-to-setup-voiceone-ldap-directory-on-yealink-t28-267.html

Ok, genial.

Definí una nueva entidad dentro del LDAP para los telefonos, dentro de Recursos, creé VoIP y la idea es poner dentro los diferentes internos de las

diferentes Sedes.

Por eso te paso los parámetros para que compares que habría que configurar (los que use en el archivo, en la parte web pueden no ser exactamente los

mismos):

ldap.host = 164.73.68.12

ldap.port = 389

ldap.base = cn=voip,ou=recursos,dc=interior,dc=udelar,dc=edu,dc=uy

##Por ahora este usuario genérico, pero después va a ver uno específico con privilegios especificos

ldap.user = cn=admin,dc=interior,dc=udelar,dc=edu,dc=uy

##Por ahora usamos esta clave que también va a cambiar por una compleja por seguridad.

ldap.password = <Clave compartida en español>

ldap.name_attr = givenName

ldap.numb_attr = telephoneNumber

ldap.display_name = givenName

#Configure the LDAP version. The valid value is 2 or 3 (default).

ldap.version = 3

08/21/2018 2/8

En cuanto al tema del auto aprovisionamiento sería lo mejor si cada teléfono nuevo ya puede levantar la configuración de la conexión LDAP directo de la

central.

#6 - 05/08/2015 05:22 PM - Andrés Pías

Rodrigo Ferreira escribió:

No tienen ninguna tecla fisica que diga LDAP. En el menu web de configuracion tiene una opcion para configurar un directorio de numeros por

LDAP. Estoy viendo como hacer para implementar la configuracion.

El nombre de la tecla es Memory (Key) de los T26 y T28 es la tecla que aparece en el archivo de configuración de los teléfonos que se puede setear para

que consulte el LDAP o una agenda remota (REMOTE PHONE BOOK).

Para los modelos anteriores hay que buscar otra solución y no hay mucho vuelta que trabajar con la contact list local por lo que he podido ver. Las

diferentes conexiones LDAP que se pueden hacer para el PBX permitan levantar internos (extensiones) en tiempo real pero no sirven generar una

agenda.

#7 - 05/12/2015 05:35 PM - Andrés Pías

Estoy investigando el framework de Node.js LDAPJS para crear una app que lea la agenda desde el LDAP y lo despliegue en XML sobre HTTPS.

Va el pedazo de código que conecta y hace una búsqueda:

var ldap = require('ldapjs');

var client = ldap.createClient({

url:'ldap://curie.csic.edu.uy:389'

});

//usar cuenta de login dentro de recursos Voip

client.bind('cn=admin,dc=interior,dc=udelar,dc=edu,dc=uy','secret', function(error) {

console.log("NOS CONTAMOS. Error:" + error );

client.search('ou=recursos,dc=interior,dc=udelar,dc=edu,dc=uy', {filter:'(objectclass=groupOfNames)', scope:'one'}, function(err, res) {

res.on('searchEntry', function(entry) {

console.log('entry: ' + JSON.stringify(entry.object));

});

res.on('searchReference', function(referral) {

console.log('referral: ' + referral.uris.join());

});

res.on('error', function(err) {

console.error('error: ' + err.message);

});

res.on('end', function(result) {

console.log('status: ' + result.status);

});

});

client.unbind();

});

08/21/2018 3/8

#8 - 05/13/2015 02:52 PM - Andrés Pías

- Status changed from Nueva to En curso

#9 - 05/14/2015 04:53 PM - Andrés Pías

El script va avanzado, estaría pronto. Sin embargo, para ponerlo en producción con seguridad me queda por completar esto:

Nodejs

- Instalarlo en Curie

- Instalar npm

- Instalar ldapjs

- Instalar xmbuilder

- Subir el script

seguridad:

- Hacer correr un usuario diferente y solo para ese servicio

- Configurar https

- Restricciones de ip?

- Ver alguna forma de esconder la contraseña de acceso del script

- Guardar un archivo de configuración con los datos de acceso fuera de /var/www.

Cambios en el LDAP:

- Crear una cuenta de login en LDAP solo para los recursos, con una clave autogenerada para usarla en el script.

- Diseñar un proceso para explicar como se agregar teléfonos al LDAP.

- Subir a mano todos los internos que la gente ya tenía en sus contact_list

Cambios en las centrales

- Hacer una prueba de que levante bien la agenda.

- En el archivo de configuración de cada teléfono setear la nueva lista de contactos:

;local_contact.data.url = tftp://192.168.10.1/contact_list.xml

local_contact.data.url = http://164.73.68.12:9996

#10 - 05/20/2015 04:31 PM - Andrés Pías

- % Done changed from 0 to 20

Ya logramos el soporte https, pero han surgido varios problemas para dejar funcionando NodeJs en Curie.

#11 - 05/21/2015 12:53 PM - Andrés Pías

- % Done changed from 20 to 30

Teníamos errores de este tipo:

W: Imposible obtener https://deb.nodesource.com/node_0.12/dists/wheezy/main/binary-amd64/Packages The requested URL returned error: 403

Al final lo que no me dejaba instalar el paquete, era nuestro apt-cacher-ng (espejo). Descomenté eso en

root@curie:/etc/apt/apt.conf.d/10proxy

08/21/2018 4/8

Y luego procedía a instalar nodejs, ya estamos en la versión 0.12

root@curie:/etc/apt/apt.conf.d# curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

root@curie:/etc/apt/apt.conf.d# sudo apt-get install -y nodejs

#12 - 06/02/2015 05:11 PM - Andrés Pías

Modifiqué el [[sauce:Script de Administración General|script de adminsitración del ldap]] para poder agregar recursos y ya empezamos a crear grupos de

recursos con el script y agregar internos con Apache DS Studio. Luego explico el procedimiento.

#13 - 11/17/2015 07:16 PM - Andrés Pías

- % Done changed from 30 to 40

Se definieron las ACLS correctas para que la cuenta login dentro de voip, recursos vea a toda la agenda

Y además para que cada administrador de Sede pueda agregar nuevos internos y así armar la agenda.

Asocié los diferentes administradores de sede a sus grupos de administración correspondientes.

Hay que empezar a llenar la agenda...

#14 - 11/17/2015 07:36 PM - Andrés Pías

- File 1-arbol-recursos.png added

- File 2-nuevo-telefono-ldap.png added

- File 3-inetorgperson-voipdap.png added

- File 4-rdn-voip-ldap.png added

- File 5-atributos-nuevotelefono.png added

- File 6-nuevo-atributo-voipldap.png added

- File 7-todos-atributos-voipldap.png added

1.

2. 2-nuevo-telefono-ldap.png

08/21/2018 5/8

3.

4.

5. 5-atributos-nuevotelefono.png

08/21/2018 6/8

6. 6-nuevo-atributo-voipldap.png

7. 7-todos-atributos-voipldap.png

#15 - 03/01/2016 03:50 PM - Andrés Pías

- % Done changed from 40 to 50

No había quedado andando bien el script que maneja el servicio de la agenda.

Ahora si se levanta y se detiene bien y se inicia siempre al prender/reiniciar el servidor Curie.

Forma de manejarlo: service nodevoip {start/stop}

Además, agregué que a través de este servicio se levante además de la agenda xml, la html

Hubo que modificar el script del servicio por esta razón.

En el firewall de Curie además hay que dejar abiertos los puertos de esuccha: 9666 y 9667

Ahora lo voy a poner en funcionamiento en Varela para que quede activo en producción.

Vamos a pasar este instructivo a una wiki también.

#16 - 03/09/2016 04:02 PM - Andrés Pías

- % Done changed from 50 to 60

Quedó la puesta en producción en Varela de la Agenda en la wiki: [[Guía Teléfonica de la UdelaR en el Interior]].

Falta configuramos la correcta apertura de los puertos de Firwall, abriendo el rango 9996-9999 (no hay iptables en Varela).

#17 - 03/09/2016 04:03 PM - Andrés Pías

- Related to Tareas #5009: Script para exportar los CSV added

#18 - 03/15/2016 12:09 PM - Andrés Pías

- Status changed from En curso to Resuelta

- Assignee changed from Andrés Pías to Daniel Viñar Ulriksen

- % Done changed from 60 to 90

Quedó finalmente funcionando la agenda en producción, en este link .

Para acceder a la agenda XML, entrar acá

Quedó todo documentado, sobre como administrar el servicio y/o como subir internos a la agenda en [[Guía Teléfonica de la UdelaR en el Interior]].

#19 - 06/10/2016 01:51 PM - Andrés Pías

Quedó solucionado un asunto que teníamos con la Agenda en versión XML, debido a que la librería constructora de XML por respetar los estándares

agregaba un etiqueta root principal que impedía que la agenda se viera en los teléfonos. Hicimos un pequeño hack para solucionar esto, llendo en contra

del estándar por eso la versión XML no se va a ver por web pero si en los teléfonos.

#20 - 10/25/2016 03:06 PM - Andrés Pías

- % Done changed from 90 to 100

08/21/2018 7/8

La agenda quedó con certificados SSL válidos (usé let's encrypt). Las distintas versiones quedaron todas accesibles en urls comunes sobre https. La

versión HTML acá:

https://telefonos.interior.edu.uy/

La versión XML acá:

https://telefonos.interior.edu.uy/xml/

Los antiguos accesos en puertos 9999 y 99998 se siguen manteniendo también.

#21 - 09/14/2017 03:06 PM - Andrés Pías

- Status changed from Resuelta to En curso

- Assignee changed from Daniel Viñar Ulriksen to Andrés Pías

- % Done changed from 100 to 90

Debido a que tenemos el problema de que los teléfonos VoIP Yealink muestran solo hasta 5 grupos de contactos en su display, vamos a hacer una

personalización del servicio de agenda VoIP para el CENUR Litoral Norte. Sin afectar lo que ya funciona, voy a poner en marcha una ruta distinta dentro

de telefonos.interior.edu.uy que permita bajar un archivo XML donde solo aparezcan 5 grupos:

- Sede Artigas

- Sede Paysandú

- Sede Rionegro

- Sede Salto

- Otros: grupo para englobar todos los números que no correspondan con el CENUR.

Files

1-arbol-recursos.png 115 KB 11/17/2015 Andrés Pías

2-nuevo-telefono-ldap.png 134 KB 11/17/2015 Andrés Pías

3-inetorgperson-voipdap.png 34.1 KB 11/17/2015 Andrés Pías

4-rdn-voip-ldap.png 38.1 KB 11/17/2015 Andrés Pías

5-atributos-nuevotelefono.png 54.3 KB 11/17/2015 Andrés Pías

6-nuevo-atributo-voipldap.png 34.6 KB 11/17/2015 Andrés Pías

7-todos-atributos-voipldap.png 56.2 KB 11/17/2015 Andrés Pías

08/21/2018 8/8