跳到主要内容

电路交换核心 (CS)

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

概述​

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

组件角色库存组包描述
BSCcircuit_switched/bscbscBSC, MGW基站控制器 + 媒体网关 (用于 2G/3G 测试和验证)
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 服务器安装 BSC 和 媒体网关 (MGW) 以进行电路交换测试和验证。该角色配置这两项服务。

  • 从角色的模板渲染 BSC 和 MGW 配置文件。
  • 为 MGW 服务安装 systemd 覆���,禁用实时 CPU 调度。它清除 CPUSchedulingPolicy、Priority 和 AmbientCapabilities。虚拟机不支持实时调度。
  • 处理程序重新启动每个服务。每个处理程序然后 验证服务是否达到 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/*。

相关文档​