电路交换核心 (CS)
传统的电路交换域 (2G/3G 语音和 SMS) 是通过 services/cs.yml 剧本部署的。它配置了面向无线电的 BSC、OmniMSC 软件交换机和 SS7/SIGTRAN 信令栈。
概述
cs.yml 运行三个角色,每个角色针对其自己的库存组:
| 组件 | 角色 | 库存组 | 包 | 描述 |
|---|---|---|---|---|
| BSC | circuit_switched/bsc | bsc | BSC, MGW | 基站控制器 + 媒体网关 (用于 2G/3G 测试和验证) |
| MSC | circuit_switched/omnimsc | msc | omnimsc | 移动交换中心软件交换机 |
| SS7 | omniss7 | ss7 | omniss7 | SS7/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 | 模板 | 功能 |
|---|---|---|
stp | stp.j2 | 信号传输点 (SS7 路由) |
hlr | hlr.j2 | 家庭位置寄存器 |
smsc | ipsmgw.j2 | SMSC / IP-SM-GW |
camel | camel.j2 | CAMEL 服务控制 |
tester | tester.j2 | 信令测试/负载代理 |
附加选择器:
- 设置
ss7_protocol: m2pa会渲染m2pa.j2(一个 M2PA 端点),而不是tester模板。 - 设置
ss7_template_config(group_vars/下的路径)会覆盖 所有 内置模板,使用主机特定的配置。
与其他 Elixir 组件一样,omniss7 使用版本化配置 + runtime.exs 符号链接模式,并将符号链接镜像到 /opt/omniss7/releases/*。
相关文档
- 服务剧本 - 所有服务剧本和部署层次结构
- 5G 核心 - 5G 独立核心和共享的
5gc_nf角色 - 组变量配置 - 自定义配置模板(例如
ss7_template_config、omnimsc_template_config) - OmniCore 配置: https://docs.omnitouch.com.au/docs/repos/OmniCore - 组件配置文件中的内容