Fabricantes de Terminales¶
Descripción general¶
IvozProvider soporta la provisión de terminales vía HTTP/HTTPS que cumplen con los siguientes requisitos:
Asumiendo un terminal recién desempaquetado, recién conectado y conectado a la red:
Solicitar dirección IP vía DHCP.
DHCP ha habilitado la opción 66 que apunta al portal de la plataforma
El primer archivo de provisión solicitado es un archivo estático (diferente para cada modelo) con el prefijo de la URL del paso anterior.
El archivo servido puede redefinir la URL para solicitudes adicionales
Cualquier modelo de terminal que pueda adaptarse a esta forma de provisión puede añadirse en la sección Configuración de la Plataforma > Fabricantes de Terminales.
Ejemplo Cisco SPA504G
Cisco SPA504G se enciende y solicita una dirección IP a DHCP
Recibe “http://provision.example.com/provision” como opción 66 de DHCP
Solicitar configuración HTTP desde http://provision.example.com/provision/spa504g.cfg
Todos los 504G solicitan el mismo archivo (spa504.cfg), con el prefijo de la URL dada
Este archivo solo contiene configuraciones básicas para el modelo y la URL para la siguiente solicitud (p.e. https://provision.example.com/provision/$MAC.cfg)
De esta manera, cada terminal (MAC debe ser único) solicita un archivo específico (y diferente) después de que se haya servido el genérico.
Este archivo contendrá la configuración específica para el terminal:
Usuario
Contraseña
Dominio SIP
Nota
El sistema de provisión de IvozProvider, en este momento, solo tiene un objetivo: proporcionar credenciales y configuraciones de idioma para los terminales.
Configuración de modelos soportados¶
IvozProvider utiliza un sistema de plantillas que permite al operador global (God) definir nuevos modelos y configurar qué archivos se servirán.
La sección de ayuda de Fabricantes de Terminales tiene ejemplos para algunos modelos que funcionan (en el momento de escribir esto) con el sistema de provisión de IvozProvider.
Consejo
Estos modelos estarán disponibles después de la instalación inicial, pero debe editarlos y cargar la configuración predeterminada antes de poder usar el sistema de provisión (opción Restaurar plantilla por defecto).
Error
Los cambios en el firmware de los UAC pueden hacer que los ejemplos dados dejen de funcionar. Intentaremos mantener las plantillas actualizadas, pero no podemos garantizar este punto.
Analizando las plantillas sugeridas puede tener una idea básica de la flexibilidad del sistema para configurar cualquier modelo de terminal existente en el mercado y adaptarlos a cambios eventuales en los ejemplos dados.
Aspectos técnicos¶
Imagine un entorno con esta configuración:
URLs de provisión:
Archivo genérico: http://PROV_IP/provision
Archivo específico: https://PROV_IP:PROV_PORT/provision
- TerminalModels.genericUrlPattern: y000000000044.cfg
¿Qué URLs solicitadas serán válidas?
Para el archivo genérico, solo una: http://PROV_IP/provision/y000000000044.cfg
Para el archivo específico, las solicitudes son correctas siempre que se cumplan estas reglas:
Todas las solicitudes HTTP son incorrectas.
Las solicitudes HTTPS al 443 son incorrectas (se debe usar PROV_PORT).
Los subrutas después de la URL de provisión se ignoran, tanto en la solicitud como en specificUrlPattern.
En la solicitud de archivo específico, la extensión debe coincidir siempre que se use la extensión en specificUrlPattern.
En la solicitud de archivo específico, el nombre del archivo debe coincidir exactamente una vez que se reemplace {mac}.
La dirección MAC no distingue entre mayúsculas y minúsculas y puede contener dos puntos o no (‘:’).
Analicemos los ejemplos a continuación para entender mejor estas reglas:
Ejemplo 1 - TerminalModels.specificUrlPattern: {mac}.cfg
Solicitudes correctas:
https://PROV_IP:PROV_PORT/provision/aabbccddeeff.cfg
https://PROV_IP:PROV_PORT/provision/aa:bb:cc:dd:ee:ff.cfg
https://PROV_IP:PROV_PORT/provision/aabbccdd:ee:ff.cfg
https://PROV_IP:PROV_PORT/provision/aabbccddeeff.cfg
https://PROV_IP:PROV_PORT/provision/AABBCCDDEEFF.cfg
https://PROV_IP:PROV_PORT/provision/subpath1/aabbccddeeff.cfg
https://PROV_IP:PROV_PORT/provision/subpath1/subpath2/aabbccddeeff.cfg
Solicitudes incorrectas:
https://PROV_IP:PROV_PORT/provision/aabbccddeeff.boot
https://PROV_IP:PROV_PORT/provision/subpath1/subpath2/aabbccddeeff.boot
Este ejemplo es idéntico a ‘t23/{mac}.cfg’, ya que se ignoran las subrutas.
Ejemplo 2 - TerminalModels.specificUrlPattern: {mac}
Todos los ejemplos anteriores son correctos, ya que se ignora la extensión si no se encuentra ninguna extensión en specificUrlPattern.
Este ejemplo es idéntico a ‘t23/{mac}’, ya que se ignoran las subrutas.
Ejemplo 3 - TerminalModels.specificUrlPattern: yea-{mac}.cfg
Todos los ejemplos anteriores son incorrectos, ya que no se encuentra ‘yea-‘ (la coincidencia de ‘yea’ distingue entre mayúsculas y minúsculas).
Solicitudes correctas:
https://PROV_IP:PROV_PORT/provision/subpath1/yea-aabbccdd:ee:ff.cfg
Solicitudes incorrectas:
https://PROV_IP:PROV_PORT/provision/subpath1/yea-aabbccdd:ee:ff.boot
https://PROV_IP:PROV_PORT/provision/subpath1/YEA-aabbccdd:ee:ff.cfg
Este ejemplo es idéntico a ‘t23/yea-{mac}.cfg’, ya que se ignoran las subrutas.
Ejemplo 4 - TerminalModels.specificUrlPattern: yea-{mac}
Como no se da ninguna extensión:
https://PROV_IP:PROV_PORT/provision/subpath1/yea-aabbccdd:ee:ff.cfg
https://PROV_IP:PROV_PORT/provision/subpath1/yea-aabbccdd:ee:ff.boot
Solicitudes incorrectas:
https://PROV_IP:PROV_PORT/provision/subpath1/YEA-aabbccdd:ee:ff.cfg
Este ejemplo es idéntico a ‘t23/yea-{mac}’, ya que se ignoran las subrutas.