跳到主要内容

订阅者查找功能 (SLF)

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

这对于 SLg/SLh 位置服务请求非常有用。GMLC 需要到达给定订阅者的服务 MME,但不知道是哪一个 MME。

3GPP TS 29.172 和 3GPP TS 29.173 描述了位置服务的 SLF 概念。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

DRA 将通过学习到的绑定路由的请求转发到服务节点。它使用来自 diameter.request_timeout 设置的基本转发超时(���参见 Peer Connectivity 或 Configuration)。该模块不为这些路由请求定义自己的超时。

示例流程:位置服务请求​

管道位置​

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

配置​

在 config/runtime.exs 中的 module_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 小时。DRA 自动将 SLg 和 SLh 请求路由到正确的服务 MME。每当观察到同一订阅者的新注册消息时,模块会刷新绑定。

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

高流动环境​

在频繁移动的订阅者网络中使用此配置。过时的绑定必须快速过期。

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

工作原理: 绑定在 1 小时后过期。当订阅者经常在 MMEs 之间移动时使用此配置。过时的绑定会导致位置请求错误定向。清理间隔每 30 分钟运行。

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

指标​

绑定更新​

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

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

绑定删除​

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

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

路由请求​

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

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

故障排除​

位置请求未路由到服务 MME​

症状: DRA 不会将 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 条目。这些条目确认了绑定活动。

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

症状: DRA 将位置请求路由到不再为订阅者提供服务的 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(保留用于未来路由)