跳到主要内容

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": "允许所有",
"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": "不允许漫游",
"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": "允许 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": "允许 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\": \"仅限美国运营商\",
\"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": "仅限数据 - 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": "阻止昂贵网络",
"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\": \"阻止昂贵网络\",
\"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)​

MCCMNC运营商
310410AT&T
311480Verizon
310260T-Mobile
310120Sprint
313380(示例测试网络)

完整列表: 请参见 ITU-T E.212 或 MCC/MNC 数据库


漫游执行点​

S6a 接口(数据)​

当用户附加到访问网络时:

Cx 接口(IMS)​

当用户在访问网络中注册 IMS 时:


故障排除漫游问题​

用户无法在访问网络中附加​

检查漫游配置文件分配:

  • 查询数据库以查看用户分配的漫游配置文件
  • 验证配置文件名称和默认操作设置

检查访问网络是否存在规则:

  • 查询数据库以查找与访问网络的 MCC/MNC 匹配的漫游规则
  • 验证用户的漫游配置文件中是否存在规则
  • 检查该特定网络的 data_action 值

用户可以附加但无法注册 IMS​

单独检查 IMS 操作:

  • 查询访问网络的漫游规则
  • 验证 data_action 和 ims_action 值
  • 查找数据被允许但 IMS 被拒绝的情况

意外的漫游行为​

查看漫游检查的日志:

[info] 漫游检查: IMSI 001001123456789, 访问 PLMN 310-410
[info] 匹配的漫游规则: "允许 AT&T"
[info] 数据操作: 允许, IMS 操作: 允许

最佳实践​

配置文件设计​

  1. 从限制开始 - 默认拒绝,明确允许合作伙伴
  2. 彻底测试 - 在生产前验证实验室中的规则
  3. 记录规则 - 保持允许网络的列表及原因
  4. 定期审查 - 随着漫游协议的变化进行更新

规则管理​

  1. 使用描述性名称 - "Allow-ATT-Data-Only" 而不是 "Rule1"
  2. 验证 MCC/MNC - 对照官方数据库仔细检查代码
  3. 考虑两种服务 - 分别考虑数据和 IMS
  4. 监控使用情况 - 跟踪用户实际访问的网络

操作程序​

  1. 紧急变更 - 制定快速启用/禁用漫游的程序
  2. 批量更新 - 计划更新多个用户的漫游配置文件
  3. 报告 - 跟踪漫游使用情况和拒绝尝试
  4. 客户沟通 - 通知客户漫游政策的变更

← 返回操作指南 | 下一步:协议流程 →