跳到主要内容

电路交换核心 (CS)

传统的电路交换领域 — 2G/3G 语音和 SMS — 由 services/cs.yml 剧本部署。它配置了面向无线的 BSC、OmniMSC 软件交换机和 SS7/SIGTRAN 信令栈。

概述

cs.yml 运行三个角色,每个角色对应自己的库存组:

组件角色库存组描述
BSCcircuit_switched/bscbscosmo-bsc, osmo-mgw基站控制器 + 媒体网关 (Osmocom)
MSCcircuit_switched/omnimscmscomnimsc移动交换中心软件交换机
SS7omniss7ss7omniss7SS7/SIGTRAN 栈 (STP, HLR, SMSC, CAMEL, 测试器)
- name: Setup MSC
hosts: msc
roles:
- {role: circuit_switched/omnimsc, become: yes}

BSC (circuit_switched/bsc)

从 Omnitouch APT 服务器安装 Osmocom OsmoBSCOsmoMGW,并在 /etc/osmocom/ 下配置两者。

  • 模板 osmo-bsc.cfg.j2/etc/osmocom/osmo-bsc.cfgosmo-mgw.cfg.j2/etc/osmocom/osmo-mgw.cfg
  • osmo-mgw 安装 systemd 重写,禁用实时 CPU 调度 (CPUSchedulingPolicy/Priority/AmbientCapabilities ���清除) — 在虚拟机中不支持 RT 调度。
  • 处理程序重启每个服务,然后在继续之前 验证其达到 active(6 次重试,每次间隔 5 秒)。

MSC (circuit_switched/omnimsc)

安装 omnimsc 包,并像 5GC NF 一样配置它:

  • 解析 group_vars_omnicore 并从 license_server 组派生 license_server_api_urls
  • 将内置的 runtime.exs.j2 渲染到 /etc/omnimsc/,或者 — 如果设置了 omnimsc_template_config — 从 group_vars/ 使用自定义模板。
  • 确保 CDR 输出目录 (omnimsc_cdr_output_dir,默认 /var/lib/omnimsc/cdr)。
  • 为 Web UI / API 生成自签名的 TLS 证书。
  • 使用版本化配置 + runtime.exs 符号链接模式,在更改时重启。

SS7 (omniss7)

一个单一角色,安装 omniss7 包并为每个 SS7 角色渲染 一个配置模板,由 ss7_role 主机变量选择:

ss7_role模板功能
stpstp.j2信号转移点 (SS7 路由)
hlrhlr.j2家庭位置注册
smscipsmgw.j2SMSC / IP-SM-GW
camelcamel.j2CAMEL 服务控制
testertester.j2信令测试/负载代理

附加选择器:

  • 设置 ss7_protocol: m2pa 渲染 m2pa.j2(一个 M2PA 端点),而不是 tester 模板。
  • 设置 ss7_template_config(在 group_vars/ 下的路径)覆盖 所有 内置模板,使用特定于主机的配置。

与其他 Elixir 组件一样,omniss7 使用版本化配置 + runtime.exs 符号链接模式,并��符号链接镜像到 /opt/omniss7/releases/*

相关文档