Esta web utiliza cookies, puedes ver nuestra la política de cookies, aquí Si continuas navegando estás aceptándola
Política de cookies +

Configuración de Hints y BLF en Asterisk con PJSIP

La funcionalidad BLF (Busy Lamp Field) permite que los teléfonos IP muestren el estado de otras extensiones o servicios mediante luces LED en sus teclas programables. Esto es especialmente útil en entornos de oficina, donde visualizar si un compañero está ocupado o si la centralita está en horario de atención puede mejorar la eficiencia y la atención al cliente.

¿Cómo funcionan los BLF y los Hints en Asterisk?

En Asterisk, los hints son etiquetas que asocian una extensión lógica con el estado de un recurso (por ejemplo, una extensión PJSIP). Cuando un teléfono se suscribe al estado de un hint, Asterisk envía notificaciones SIP NOTIFY para actualizar la luz BLF del teléfono según el estado real de la extensión o servicio monitorizado.

Configuración básica de BLF con PJSIP

Para que los BLF funcionen correctamente en un sistema Asterisk con PJSIP, es necesario realizar configuraciones tanto en pjsip.conf como en extensions.conf. Es importante que los endpoints tengan activada la suscripción y que existan los hints correspondientes en el contexto adecuado.

1. Configuración de endpoints en pjsip.conf

; Ejemplo de endpoint PJSIP con suscripción habilitada
[1001]
type = endpoint
context = blf-usuarios
allow_subscribe = yes
...

2. Definición de hints en extensions.conf

[blf-usuarios]
exten = 1001,hint,PJSIP/1001
exten = 1002,hint,PJSIP/1002
; Más extensiones según necesidad

Los teléfonos deben estar configurados para suscribirse a la extensión que desean monitorizar. Cuando la extensión 1001 está en llamada, el teléfono que tenga configurada la tecla BLF para 1001 verá el LED correspondiente encendido o parpadeando, según el estado.

Ejemplo 1: Marcar un teléfono como ocupado

Supongamos que queremos que la tecla BLF de la extensión 1002 se encienda cuando el usuario esté en llamada. Para ello:
  • En pjsip.conf:
[1002]
type = endpoint
context = blf-usuarios
allow_subscribe = yes
  • En extensions.conf:
[blf-usuarios]
exten = 1002,hint,PJSIP/1002
exten = 1002,1,Dial(PJSIP/1002)

Ahora, cualquier teléfono que tenga una tecla BLF configurada para la extensión 1002 verá el estado real (libre, sonando, ocupado) reflejado en su LED. Cuando 1002 esté en llamada, el LED se encenderá o cambiará de color según el modelo del teléfono.

Ejemplo 2: Mostrar si la centralita está en horario de atención telefónica

Para mostrar en una tecla BLF si la centralita está en horario de atención, podemos usar un hint asociado a una función personalizada.
  • Definimos una extensión lógica para el horario, por ejemplo, 7000.
  • En extensions.conf:
[blf-usuarios]
exten = 7000,hint,Custom:ATENCION
exten = 7000,1,NoOp(Horario de atención)
 same => n,Set(ESTADO=${IF($[${STRFTIME(${EPOCH},,%H)} >= 9 && ${STRFTIME(${EPOCH},,%H)} < 18]?IN:OUT)})
 same => n,Set(DEVICE_STATE(Custom:ATENCION)=${ESTADO})
 same => n,Hangup()
  • Este ejemplo marca el estado Custom:ATENCION como IN (dentro de horario) entre las 9:00 y las 18:00, y como OUT fuera de ese rango. El LED BLF de la extensión 7000 mostrará el estado en tiempo real.
  • Los teléfonos que tengan una tecla BLF configurada para 7000 verán el LED encendido cuando la centralita esté en horario de atención y apagado o de otro color cuando esté fuera de horario.

Resumen de pasos para configurar BLF en Asterisk con PJSIP

Comprobación y diagnóstico

Puedes verificar los hints activos y su estado ejecutando en la consola de Asterisk:
core show hints

Así verás el estado de cada extensión monitorizada y cuántos dispositivos están observando su estado.

Notas adicionales

Capa Tres Soluciones Tecnológicas es una empresa registrada en la CNMC como operador de telecomunicaciones.

Capa Tres Soluciones Tecnológicas S.L. CIF B63846984. Networkia Bussiness Center. Avda Portal de l'Angel, 36. 08002 Barcelona. Teléfono 935605424. Email comercial@capatres.com. Colloquor es una marca comercial registrada.