电路交换核心 (CS)
传统的电路交换领域 — 2G/3G 语音和 SMS — 由 services/cs.yml 剧本部署。它配置了面向无线的 BSC、OmniMSC 软件交换机和 SS7/SIGTRAN 信令栈。
概述
cs.yml 运行三个角色,每个角色对应自己的库存组:
| 组件 | 角色 | 库存组 | 包 | 描述 |
|---|---|---|---|---|
| BSC | circuit_switched/bsc | bsc | osmo-bsc, osmo-mgw | 基站控制器 + 媒体网关 (Osmocom) |
| 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 服务器安装 Osmocom OsmoBSC 和 OsmoMGW,并在 /etc/osmocom/ 下配置两者。
- 模板
osmo-bsc.cfg.j2→/etc/osmocom/osmo-bsc.cfg和osmo-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 | 模板 | 功能 |
|---|---|---|
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 - 组件配置文件中的内容