tareas # 3984 (en curso): pruebas del directorio … · estado: en curso fecha de inicio:...
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
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