Saltar al contenido principal

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:

ComponenteRolGrupo de inventarioPaquetesDescripción
BSCcircuit_switched/bscbscosmo-bsc, osmo-mgwControlador de Estación Base + Puerta de Enlace de Medios (Osmocom)
MSCcircuit_switched/omnimscmscomnimscConmutador de Centro de Conmutación Móvil
SS7omniss7ss7omniss7Pila 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.cfg y osmo-mgw.cfg.j2/etc/osmocom/osmo-mgw.cfg.
  • Instala una anulación de systemd para osmo-mgw que desactiva la programación de CPU en tiempo real (CPUSchedulingPolicy/Priority/AmbientCapabilities borrados) — 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_omnicore y deriva license_server_api_urls del grupo license_server.
  • Renderiza el runtime.exs.j2 incorporado a /etc/omnimsc/, o — si omnimsc_template_config está configurado — una plantilla personalizada de group_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_rolePlantillaFunción
stpstp.j2Punto de Transferencia de Señales (rutina SS7)
hlrhlr.j2Registro de Ubicación del Hogar
smscipsmgw.j2SMSC / IP-SM-GW
camelcamel.j2Control de servicio CAMEL
testertester.j2Agente de prueba/carga de señalización

Selectores adicionales:

  • Configurar ss7_protocol: m2pa renderiza m2pa.j2 (un endpoint M2PA) en lugar de la plantilla tester.
  • Configurar ss7_template_config (una ruta bajo group_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