Núcleo Conmutado por Circuito (CS)
El dominio legado conmutado por circuito — voz y SMS 2G/3G — se despliega mediante el playbook services/cs.yml. Proporciona el BSC orientado a la radio, el conmutador de software OmniMSC y la pila de señalización SS7/SIGTRAN.
Descripción General
cs.yml ejecuta tres roles, cada uno contra su propio grupo de inventario:
| Componente | Rol | Grupo de inventario | Paquetes | Descripción |
|---|---|---|---|---|
| BSC | circuit_switched/bsc | bsc | osmo-bsc, osmo-mgw | Controlador de Estación Base + Puerta de Enlace de Medios (Osmocom) |
| MSC | circuit_switched/omnimsc | msc | omnimsc | Conmutador de Centro de Conmutación Móvil |
| SS7 | omniss7 | ss7 | omniss7 | Pila SS7/SIGTRAN (STP, HLR, SMSC, CAMEL, tester) |
- name: Setup MSC
hosts: msc
roles:
- {role: circuit_switched/omnimsc, become: yes}
BSC (circuit_switched/bsc)
Instala OsmoBSC y OsmoMGW de Osmocom desde el servidor APT de Omnitouch y configura ambos bajo /etc/osmocom/.
- Plantillas
osmo-bsc.cfg.j2→/etc/osmocom/osmo-bsc.cfgyosmo-mgw.cfg.j2→/etc/osmocom/osmo-mgw.cfg. - Instala una anulación de systemd para
osmo-mgwque desactiva la programación de CPU en tiempo real (CPUSchedulingPolicy/Priority/AmbientCapabilitiesborrados) — La programación RT no es compatible dentro de VMs. - Los controladores reinician cada servicio y luego verifican que alcance
active(6 reintentos, 5s de separación) antes de continuar.
MSC (circuit_switched/omnimsc)
Instala el paquete omnimsc y lo configura de manera similar a un NF de 5GC:
- Resuelve
group_vars_omnicorey derivalicense_server_api_urlsdel grupolicense_server. - Renderiza el
runtime.exs.j2incorporado a/etc/omnimsc/, o — siomnimsc_template_configestá configurado — una plantilla personalizada degroup_vars/. - Asegura un directorio de salida de CDR (
omnimsc_cdr_output_dir, por defecto/var/lib/omnimsc/cdr). - Genera un certificado TLS autofirmado para la interfaz web / API.
- Utiliza el patrón de configuración versionada + symlink
runtime.exs, reiniciando en caso de cambio.
SS7 (omniss7)
Un único rol que instala el paquete omniss7 y renderiza una plantilla de configuración por rol SS7, seleccionada por la variable de host ss7_role:
ss7_role | Plantilla | Función |
|---|---|---|
stp | stp.j2 | Punto de Transferencia de Señales (rutina SS7) |
hlr | hlr.j2 | Registro de Ubicación del Hogar |
smsc | ipsmgw.j2 | SMSC / IP-SM-GW |
camel | camel.j2 | Control de servicio CAMEL |
tester | tester.j2 | Agente de prueba/carga de señalización |
Selectores adicionales:
- Configurar
ss7_protocol: m2parenderizam2pa.j2(un endpoint M2PA) en lugar de la plantillatester. - Configurar
ss7_template_config(una ruta bajogroup_vars/) sobrescribe todas las plantillas incorporadas con una configuración específica del host.
Al igual que los otros componentes de Elixir, omniss7 utiliza el patrón de configuración versionada + symlink runtime.exs y refleja el symlink en /opt/omniss7/releases/*.
Documentación Relacionada
- Playbooks de Servicio - Todos los playbooks de servicio y la jerarquía de despliegue
- Núcleo 5G - El núcleo 5G Autónomo y el rol compartido
5gc_nf - Configuración de Variables de Grupo - Plantillas de configuración personalizadas (por ejemplo,
ss7_template_config,omnimsc_template_config) - Configuración de OmniCore: https://docs.omnitouch.com.au/docs/repos/OmniCore - Qué incluir en los archivos de configuración del componente