跳到主要内容

订阅者查找功能 (SLF)

订阅者查找功能 (SLF) 通过观察通过 DRA 的 Diameter 信令流量动态学习哪个网络元素为每个订阅者提供服务。它使用这些学习到的绑定直接将后续请求(例如位置服务查询)路由到正确的服务节点,而无需静态路由规则。

这对于 SLg/SLh 位置服务请求特别有用,在这种情况下,GMLC 需要到达给定订阅者的服务 MME,但对哪个 MME 没有先前的了解。

SLF 概念在 3GPP TS 29.1723GPP TS 29.173 中描述了位置服务,而订阅者注册在 3GPP TS 29.272 中定义。

工作原理

该模块分为两个阶段:学习路由

学习阶段,模块被动观察通过 DRA 流动的注册和注销消息。当订阅者注册时(例如通过 S6a Update-Location-Request),模块记录哪个网络元素现在为该订阅者提供服务。

路由阶段,���请求到达需要到达订阅者服务节点时(例如 SLg Provide-Location-Request),模块查找绑定并直接路由到正确的对等节点。

如果不存在订阅者的绑定,请求将通过现有的路由逻辑(包括高级路由)进行处理。

绑定生命周期

学习:创建绑定的消息

模块通过以下 Diameter 消息学习订阅者与服务节点的绑定:

接口消息命令码创建的绑定IMSI 来源
S6aUpdate-Location-Request (ULR)316serving_mmeUser-Name AVP (1)
GxCredit-Control-Request Initial (CCR-I)272 (CC-Request-Type=1)serving_pgwSubscription-Id AVP (443)
CxServer-Assignment-Request (SAR)301 (Server-Assignment-Type=1)serving_cscfPublic-Identity AVP (601)

学习:移除绑定的消息

接口消息命令码移除的绑定
S6aCancel-Location-Request (CLR)317serving_mme
S6aPurge-UE-Request (PUR)321serving_mme
GxCredit-Control-Request Termination (CCR-T)272 (CC-Request-Type=3)serving_pgw
CxServer-Assignment-Request (SAR)301 (Server-Assignment-Type=4)serving_cscf

当最后一个绑定被移除时,整个订阅者记录将从表中删除。

路由:使用绑定的消息

接口消息命令码使用的绑定
SLgProvide-Location-Request (PLR)8388620serving_mme
SLhLCS-Routing-Info-Request (RIR)8388622serving_mme

通过学习到的绑定路由的请求使用 diameter.request_timeout 设置中的基本中继超时进行中继(请���见 Peer ConnectivityConfiguration)。该模块不为这些路由请求定义自己的超时。

示例流程:位置服务请求

管道位置

订阅者查找在请求处理管道中高级路由之前运行。如果 SLF 找到绑定并覆盖路由,高级路由仍然会运行,但 SLF 路由优先。

配置

该模块在 config/runtime.exsmodule_subscriber_lookup 下进行配置。

module_subscriber_lookup: %{
# 启用或禁用模块
enabled: false,

# 绑定在过期之前保持多长时间(秒)
binding_ttl_seconds: 86400
}

参数

参数类型必需默认描述
enabled布尔值false启用或禁用订阅者查找模块。当 false 时,所有请求未修改地通过,并且不会学习任何绑定。
children列表[]启用时在 DRA 主管下启动的进程。设置为 [DRA.Router.Modules.SubscriberLookup] 以便绑定表进程运行。
binding_ttl_seconds整数86400订阅者绑定过期并在清理期间被移除的时间(秒)。默认是 24 小时。清理在 TTL 间隔的一半运行,最小为 60 秒。

配置示例

标准部署

适用于大多数在 24 小时内重新注册的网络。

module_subscriber_lookup: %{
enabled: true,
binding_ttl_seconds: 86400
}

工作原理: 该模块从通过的流量中学习 MME/PGW/CSCF 绑定,并保持 24 小时。SLg 和 SLh 请求会自动路由到正确的服务 MME。每当观察到相同订阅者的新注册消息时,绑定会被刷新。

用例: 具有位置服务 (LCS) 要求的网络,其中 GMLC 需要在没有静态订阅者到 MME 映射的情况下到达���务 MME。

高流动环境

适用于频繁移动的订阅者的网络,过时的绑定应快速过期。

module_subscriber_lookup: %{
enabled: true,
binding_ttl_seconds: 3600
}

工作原理: 绑定在 1 小时后过期。当订阅者频繁在 MMEs 之间移动且过时的绑定会导致错误的位置信息请求时,这种方法是合适的。清理间隔每 30 分钟运行。

用例: 密集城市网络或高订阅者流动性的事件。

指标

绑定更新

指标: diameter.subscriber_lookup.binding.update
类型: 计数器
描述: 每次创建或更新订阅者绑定时递增。
标签:

  • imsi - 订阅者的 IMSI
  • binding_type - 绑定类型: serving_mme, serving_pgw, 或 serving_cscf
  • serving_host - 服务网络元素的 Origin-Host

绑定删除

指标: diameter.subscriber_lookup.binding.delete
类型: 计数器
描述: 每次通过注销消息显式移除订阅者绑定时递增。
标签:

  • imsi - 订阅者的 IMSI
  • binding_type - 移除的绑定类型

路由请求

指标: diameter.subscriber_lookup.route.count
类型: 计数器
描述: 每次成功使用学习到的绑定路由 SLg/SLh 请��时递增。
标签:

  • imsi - 订阅者的 IMSI
  • binding_type - 用于路由的绑定类型(当前始终为 serving_mme
  • serving_host - 请求路由到的对等方的 Origin-Host

故障排除

位置请求未路由到服务 MME

症状: SLg Provide-Location-Requests 或 SLh LCS-Routing-Info-Requests 未路由到预期的 MME,而是通过默认路由处理。

可能原因:

  • 订阅者尚未通过此 DRA 注册,因此不存在绑定
  • 绑定已过期(TTL 超过)
  • 服务 MME 对等方未连接到此 DRA
  • enabled 设置为 false

解决方案:

  1. 验证配置中模块是否已启用
  2. 检查订阅者的 S6a ULR 流量是否通过此 DRA(绑定仅从观察到的流量中学习)
  3. 验证 binding_ttl_seconds 是否足够长,以覆盖注册和位置请求之间的间隔
  4. 确认服务 MME 作为对等方已连接

绑定未被学习

症状: 尽管 S6a/Gx/Cx 流量通过 DRA,绑定表仍然为空。

可能原因:

  • 模块未启用
  • 模块进程未运行(检查主管)
  • 消息未在预期的 AVP 中包含有效的 IMSI

解决方案:

  1. 验证配置中 enabled: true
  2. 确认在配置更改后 DRA 已重新启动
  3. 检查 DRA 调试日志中的 SubscriberLookup: Learned 条目以确认绑定活动

过时的绑定导致请求错误路由

症状: 位置请求被路由到不再为订阅者提供服务的 MME。

可能原因:

  • Cancel-Location-Request (CLR) 或 Purge-UE-Request (PUR) 未通过此 DRA
  • binding_ttl_seconds 对于网络的移动模式设置过高

解决方案:

  1. 减少 binding_ttl_seconds 以匹配预期的订阅者重新注册间隔
  2. 确保所有 S6a 注销流量通过此 DRA

参考

应用程序 ID

ID接口描述参考
16777251S6a/S6dMME/SGSN 到 HSS 认证和订阅管理3GPP TS 29.272
16777238GxPCEF 到 PCRF 策略和计费控制3GPP TS 29.212
16777216CxI-CSCF/S-CSCF 到 HSS IMS 注册3GPP TS 29.229
16777255SLgGMLC 到 MME 位置服务3GPP TS 29.172
16777291SLhGMLC 到 HSS/DRA LCS 路由信息3GPP TS 29.173

命令码

代码名称接口描述
272Credit-Control-Request/Answer (CCR/CCA)Gx会话级别的策略和计费控制
301Server-Assignment-Request/Answer (SAR/SAA)CxIMS 注册和注销
316Update-Location-Request/Answer (ULR/ULA)S6a在 MME 处更新订阅者位置
317Cancel-Location-Request/Answer (CLR/CLA)S6aHSS 发起的位置取消
321Purge-UE-Request/Answer (PUR/PUA)S6aMME 发起的 UE 清除
8388620Provide-Location-Request/Answer (PLR/PLA)SLg向服务 MME 发送位置服务请求
8388622LCS-Routing-Info-Request/Answer (RIR/RIA)SLhLCS 路由信息查找

绑定类型

绑定类型来源使用描述
serving_mmeS6a ULRSLg PLR, SLh RIR当前为订阅者提供服务的 MME
serving_pgwGx CCR-I处理订阅者会话的 PGW(保留用于未来路由)
serving_cscfCx SAR (Registration)为订阅者的 IMS 注册提供服务的 S-CSCF(保留用于未来路由)