OmniHSS 漫游控制
概述
OmniHSS 提供细粒度的漫游控制,允许您定义订阅者在漫游时可以访问哪些网络以进行数据和 IMS 服务。
漫游控制流程
漫游配置结构
组件
漫游规则
每条规则为特定网络(MCC/MNC 组合)指定操作。
字段:
name- 描述性名称mcc- 移动国家代码(3 位数字)mnc- 移动网络代码(2-3 位数字)data_action- "allow" 或 "deny"ims_action- "allow" 或 "deny"
漫游配置
定义默认行为并链接到规则。
字段:
name- 配置名称data_action_if_no_rules_match- "allow" 或 "deny"ims_action_if_no_rules_match- "allow" 或 "deny"
配置示例
允许所有漫游
# 创建允许所有内容的配置
curl -k -X POST https://hss.example.com:8443/api/roaming/profile \
-H "Content-Type: application/json" \
-d '{
"roaming_profile": {
"name": "Allow All",
"data_action_if_no_rules_match": "allow",
"ims_action_if_no_rules_match": "allow",
"roaming_rules": []
}
}'
拒绝所有漫游
# 创建阻止所有内容的配置
curl -k -X POST https://hss.example.com:8443/api/roaming/profile \
-H "Content-Type: application/json" \
-d '{
"roaming_profile": {
"name": "No Roaming",
"data_action_if_no_rules_match": "deny",
"ims_action_if_no_rules_match": "deny",
"roaming_rules": []
}
}'
允许特定网络(白名单)
# 创建 AT&T 规则
RULE1=$(curl -k -X POST https://hss.example.com:8443/api/roaming/rule \
-H "Content-Type: application/json" \
-d '{
"roaming_rule": {
"name": "Allow AT&T",
"mcc": "310",
"mnc": "410",
"data_action": "allow",
"ims_action": "allow"
}
}' | jq -r '.response.id')
# 创建 Verizon 规则
RULE2=$(curl -k -X POST https://hss.example.com:8443/api/roaming/rule \
-H "Content-Type: application/json" \
-d '{
"roaming_rule": {
"name": "Allow Verizon",
"mcc": "311",
"mnc": "480",
"data_action": "allow",
"ims_action": "allow"
}
}' | jq -r '.response.id')
# 创建默认拒绝并链接规则的配置
curl -k -X POST https://hss.example.com:8443/api/roaming/profile \
-H "Content-Type: application/json" \
-d "{
\"roaming_profile\": {
\"name\": \"US Carriers Only\",
\"data_action_if_no_rules_match\": \"deny\",
\"ims_action_if_no_rules_match\": \"deny\",
\"roaming_rules\": [$RULE1, $RULE2]
}
}"
允许数据,阻止语音
# 创建允许数据但阻止 IMS 的规则
curl -k -X POST https://hss.example.com:8443/api/roaming/rule \
-H "Content-Type: application/json" \
-d '{
"roaming_rule": {
"name": "Data Only - T-Mobile",
"mcc": "310",
"mnc": "260",
"data_action": "allow",
"ims_action": "deny"
}
}'
阻止特定网络(黑名单)
# 创建阻止昂贵网络的规则
RULE=$(curl -k -X POST https://hss.example.com:8443/api/roaming/rule \
-H "Content-Type: application/json" \
-d '{
"roaming_rule": {
"name": "Block Expensive Network",
"mcc": "206",
"mnc": "01",
"data_action": "deny",
"ims_action": "deny"
}
}' | jq -r '.response.id')
# 创建默认允许的配置
curl -k -X POST https://hss.example.com:8443/api/roaming/profile \
-H "Content-Type: application/json" \
-d "{
\"roaming_profile\": {
\"name\": \"Block Expensive Networks\",
\"data_action_if_no_rules_match\": \"allow\",
\"ims_action_if_no_rules_match\": \"allow\",
\"roaming_rules\": [$RULE]
}
}"
常见漫游场景
场景 1:仅国内漫游
订阅者可以在本国漫游,但不能国际漫游。
配置:
- 默认:拒绝所有
- 规则:允许所有美国 MCC 代码(310、311、312、313、314、315、316)
场景 2:仅漫游合作伙伴
订阅者只能在与商业协议的网络上漫游。
配置:
- 默认:拒绝所有
- 规则:明确允许每个合作伙伴网络(按 MCC/MNC)
场景 3:数据漫游,无语音漫游
订阅者可以在国外使用数据,但必须使用 WiFi 进行语音通话。
配置:
- 规则:
data_action: "allow",ims_action: "deny"
场景 4:紧急服务访问
始终允许紧急服务,即使漫游被阻止。
注意: 紧急服务处理通常在 MME/网络级别进行。OmniHSS 漫游规则适用于正常服务。
MCC/MNC 参考
常见国家代码(MCC)
| MCC | 国家 | 网络 |
|---|---|---|
| 310-316 | 美国 | AT&T, Verizon, T-Mobile 等 |
| 302 | 加拿大 | Rogers, Bell, Telus |
| 234-235 | 英国 | Vodafone, O2, EE |
| 262 | 德国 | Deutsche Telekom, Vodafone |
| 208 | 法国 | Orange, SFR, Bouygues |
| 222 | 意大利 | TIM, Vodafone, Wind |
| 214 | 西班牙 | Movistar, Vodafone |
常见美国运营商(MCC 310-316)
| MCC | MNC | 运营商 |
|---|---|---|
| 310 | 410 | AT&T |
| 311 | 480 | Verizon |
| 310 | 260 | T-Mobile |
| 310 | 120 | Sprint |
| 313 | 380 | (示例测试网络) |
完整列表: 请参见 ITU-T E.212 或 MCC/MNC 数据库
漫游执行点
S6a 接口(数据)
当订阅者连接到访问网络时:
Cx 接口(IMS)
当���阅者在访问网络中注册 IMS 时:
排查漫游问题
订阅者无法在访问网络中连接
检查漫游配置分配:
- 查询数据库以查看订阅者的分配漫游配置
- 验证配置名称和默认操作设置
检查访问网络是否存在规则:
- 查询数据库以获取与访问网络的 MCC/MNC 匹配的漫游规则
- 验证订阅者的漫游配置是否存在规则
- 检查该特定网络的 data_action 值
订阅者可以连接但无法注册 IMS
单独检查 IMS 操作:
- 查询访问网络的漫游规则
- 验证 data_action 和 ims_action 值
- 查找数据被允许但 IMS 被拒绝的情况
意外的漫游行为
查看漫游检查日志:
[info] Roaming check: IMSI 001001123456789, Visited PLMN 310-410
[info] Roaming rule matched: "Allow AT&T"
[info] Data action: allow, IMS action: allow
最佳实践
配置设计
- 开始限制性 - 默认拒绝,明确允许合作伙伴
- 彻底测试 - 在生产之前验证实验室中的规则
- 记录规则 - 保持允许网络的列表及原因
- 定期审查 - 随着漫游协议的变化进行更新
规则管理
- 使用描述性名称 - "Allow-ATT-Data-Only" 而不是 "Rule1"
- 验证 MCC/MNC - 与官方数据库进行双重检查代码
- 考虑两种服务 - 分别考虑数据和 IMS
- 监控使用情况 - 跟踪订阅者实际访问的网络
操作程序
- 紧急变更 - 有快速启用/禁用漫游的程序
- 批量更新 - 计划更新多个订阅者的漫游配置
- 报告 - 跟踪漫游使用情况和拒绝尝试
- 客户沟通 - 通知客户漫游政策的变化