Turno en consola

Prioritarias—

Abiertas—

:5514

Investigación

Qué hace una central que habla SIA y Contact ID

Faro es una consola de estación central de demostración. Abajo está el mapa de funciones que comparten los sistemas de monitoreo profesionales, cómo entran las señales, y qué proyectos de GitHub se pueden reutilizar de verdad. La lectura de productos comerciales sale de documentación pública y comparativas de 2026, no de una licencia de cada uno.

La estación no es el panel

El panel está en el local. La estación central es la sala donde un operador recibe la señal de muchos abonados, sigue un procedimiento y deja constancia. El software convierte un código —un contacto de puerta, un detector de humo, un botón de pánico— en un evento con cuenta, zona, a quién llamar y en qué orden. Sin esa ficha, el protocolo solo entrega números.

Los compradores son empresas de monitoreo, mayoristas que monitorean para otros instaladores, guardias que combinan ronda y video, y centros de una empresa con muchos sitios. No es la app con la que una casa se automonitorea.

Dos protocolos, un mismo trabajo

Contact ID (Ademco, documentado por SIA como DC-05) nació para la línea telefónica. El panel marca, escucha un handshake de 1400 Hz y 2300 Hz, y manda 16 dígitos DTMF. La central contesta con un kissoff de 1400 Hz. El mensaje es cuenta (4), tipo 18 o 98, calificador, evento de 3 dígitos, partición, zona o usuario, y un checksum. El calificador 1 es evento o apertura, el 3 es restauración o cierre, el 6 es un estado que sigue presente. El dígito 0 vale 10 en la suma, y si el checksum cae en 0 se transmite F.

Ejemplo del propio estándar, perímetro en la zona 15 de la partición 1, cuenta 1234: 1234 18 1131 01 015 8. La apertura del usuario 3 en la partición 2 es 1234 18 1401 02 003 5.

SIA DC-09 es el estándar ANSI para llevar esos eventos por IP, TCP o UDP, entre el equipo del sitio y el receptor de la central. Una trama es salto de línea, CRC de 4 caracteres, largo 0LLL, cuerpo y retorno de carro. El cuerpo empieza con un token entre comillas. Una central compatible tiene que entender al menos SIA-DCS y ADM-CID. El asterisco (*SIA-DCS) marca cifrado AES-CBC. La cuenta va en claro en el encabezado y otra vez dentro de los datos. La secuencia es de la cuenta, no sube si el panel retransmite, y vuelve en el ACK.

La central contesta ACK, NAK o DUH. ACK acepta. NAK pide reintento, por ejemplo si el reloj de una trama cifrada cae fuera de la ventana (el texto del estándar usa +20/−40 segundos). DUH rechaza la cuenta. Un CRC malo o una trama que no se puede descifrar se descarta en silencio. NULL es la supervisión del enlace, no una alarma.

El ejemplo público de incendio/alarma general, sin cifrar, cierra así: CRC B368, largo 0040, token ADM-CID, cuenta 1234, evento 140, zona 007, marca de tiempo GMT. Faro verifica ese vector.

Dentro de SIA-DCS el evento es un código de dos letras. BA es intrusión, FA incendio, PA pánico, HA atraco, OP apertura, CL cierre, RP prueba automática, AT falla de red. ADM-CID mete el Contact ID en el mismo sobre: #cuenta|QEEE GG ZZZ.

La revisión 2026 de DC-09, anunciada por SIA en marzo, mantiene compatibilidad con los formatos viejos y agrega autocommissioning, rotación de llaves y más ejemplos. No cambia el trabajo del operador: sigue siendo recibir, priorizar, actuar y registrar.

Lo que repiten las consolas serias

Manitou, Immix, MASterMind, Patriot, Sentinel, SureView, Micro Key, Stages, SBN y KronosNET no se parecen en la interfaz. Sí se parecen en el trabajo que no pueden saltear:

  1. Recepción de más de un formato. DC-09 y Contact ID son el piso. Las centrales grandes suman receptores Sur-Gard, radio, GSM y formatos regionales.
  2. Cola con prioridad. Incendio, pánico, médica e intrusión pasan delante de una prueba o de una apertura en horario. El color o el orden no es decoración: es la forma de no perder la señal que importa cuando entran cientos.
  3. Ficha del abonado: zonas con nombre, particiones, contactos en orden, horario de apertura y cierre, autoridad y notas del sitio. El código 131 no dice “puerta de la bodega”.
  4. Plan de acción que el operador no puede saltarse para cerrar. Manitou lo muestra como pasos de color. Immix y Stages lo escriben como guion. DICE carga el documento de reacción al entrar la alarma.
  5. Coacción. Un código de duress (Contact ID 121, SIA HA) despacha en silencio. Llamar al sitio delata al operador y a la persona que está bajo amenaza.
  6. Aperturas y cierres fuera de ventana, y la prueba periódica que no llegó. Una cuenta sin supervisión es un sitio que puede estar mudo.
  7. Despacho con lista concreta: autoridad, guardia, contacto. No un botón genérico de “notificar”.
  8. Bitácora de lo que el operador vio, dijo e hizo. Immix la extiende a video y audio. Las certificaciones UL 1981, UL 827 y EN 50518 existen para poder demostrar esa traza.
  9. Falsas alarmas como categoría, no como un borrado. Sirven para el informe al abonado y para el municipio que pide permiso de alarma.
  10. Video, en las centrales que lo venden como servicio. Immix y SureView ponen la cámara al lado de la señal. Las de intrusión clásica lo tratan como un módulo, no como el centro.
  11. Enrutamiento por habilidad y redundancia. MASterMind documenta mandar lo prioritario al operador con más experiencia y escalar a millones de sistemas en una base.
  12. El resto del negocio, si la empresa es dealer y central a la vez: facturación, permisos, app del técnico. Micro Key y SBN meten eso en la misma base. No es monitoreo, pero es por lo que muchas estaciones eligen suite.

Cómo se reparten los productos

PlataformaEncaja cuandoLo distintivo
ManitouCentrales grandesPlanes de acción visuales en Manitou Neo, navegador, nube con certificación UL o instalación propia.
Immix CSVideo como servicioUna sola pantalla para alarma, cámara, audio y acceso. Guion obligatorio y auditoría multimedia. Biblioteca grande de integraciones.
MASterMindRedes corporativasMucho volumen, enrutamiento por prioridad y experiencia del operador, lista de llamada distinta por zona. Arquitectura cerrada.
PatriotEstaciones chicas y medianasReacción automática por evento, mapas, intrusión inalámbrica y filtro de falsos positivos.
SentinelReceptores en Reino Unido y EuropaAlineado a BS 50136, EN 50518 y UL 1981. Reenvío de video y horarios de analítica.
SureViewCentros de operaciónOperador virtual que clasifica, mira video y escala con un resumen. Mapa con cámaras y gente en terreno.
Micro KeyDealers en Estados UnidosMonitoreo, facturación y servicio en una sola base. Cola con color y prioridad.
StagesCentros que automatizanPlanes escritos como scripts, API abierta y despacho de guardias. Pensado para escala grande.
SBNSuite de backofficeMonitoreo más facturación. El vendor documenta UL 827 en la nube y UL 1981 en el núcleo.
KronosNETFormatos rarosReceptores y protocolos regionales que otras consolas no traen, más historial largo de transmisiones.
SIMSOperadores de tecladoVelocidad de la consola clásica, permisos policiales y documento de reacción por zona.
DICE MatrixOperación y administración juntasCarga el documento de reacción, detecta coacción y sigue el permiso municipal de la alarma.

Qué hay en GitHub, y qué no

No hay una estación central abierta del porte de Manitou o Immix. Lo que sí hay, y se puede usar, es la capa de protocolo: receptores, simuladores de panel y un decodificador de Contact ID telefónico. La consola de operador —cola, ficha, plan, bitácora— hay que construirla.

ProyectoLicenciaPara qué sirve
eavanvalkenburg/pysiaalarmMITReceptor TCP en Python. Es la base de la integración SIA de Home Assistant. ACK, cuentas y ventana de tiempo del cifrado.
schmupu/ioBroker.siaMITServidor TypeScript para SIA-DCS, ADM-CID y sus variantes cifradas, TCP y UDP. El CRC de Faro coincide con el suyo en el vector B368.
PiMo131/sia-dc09-panel-simulatorMITSimulador de panel con interfaz. Manda SIA-DCS y ADM-CID, en claro o AES, por TCP o UDP, y muestra si el receptor contestó.
fioletoven/dc09MITMarcador y receptor de laboratorio en Rust. ACK, NAK, DUH, TLS, llave por cuenta y métricas. No tiene cola de operador.
scudre/alarm-central-station-receiverApache-2.0Contact ID por teléfono, decodificando DTMF con un magicJack. Cubre el protocolo de línea, no el de IP.
artis101/sia-dc09-dev-receiverBSD-2-ClauseReceptor de desarrollo en Rust para probar integraciones contra un mensaje real.
Swissdotnet/sia-dc-09-libraryNo comercialLibrería Java de transmisión y recepción que SIA difundió. Uso comercial requiere licencia de Swissdotnet.
Supergiovane/node-red-contrib-sia-ultimateMITNodo de Node-RED para alarmas SIA-DCS, incluido Ajax. Útil si el flujo vive en Node-RED y no en una consola.

Faro no copia esos repositorios. El CRC-16 se contrastó con el vector público B368, el mismo resultado que obtiene el parser MIT de ioBroker.sia. El receptor TCP de esta consola responde ACK, NAK y DUH, y descarta un CRC malo sin contestar, como pide DC-09. Para dispararle tramas de verdad se puede usar el simulador de panel de PiMo131 o el marcador en Rust de fioletoven/dc09, ambos MIT, contra el puerto 5514.

La librería Java de Swissdotnet es la que SIA señaló como implementación abierta de DC-09. La licencia no comercial Polyform impide meterla en un producto. Hay que pedirles licencia aparte si el uso es comercial. pysiaalarm, en cambio, es MIT y es el receptor que usa Home Assistant; sirve como oráculo de un receptor, no trae cola de operador.

Qué cubre esta consola

En esta versión están la cola con prioridad, el plan que bloquea el cierre, la coacción silenciosa, la ficha con zonas y contactos, el horario, la prueba vencida, la bitácora, el decodificador y el receptor TCP. No están el video, el cifrado AES con llave por cuenta, el Contact ID por tono de teléfono, la facturación, la redundancia ni una certificación UL o EN. Los abonados y las señales iniciales son de demostración.