简介
本文档介绍如何对S6a接口上MME和HSS之间的“通知请求”消息下缺失的VNI进行故障排除。
先决条件
3GPP技术规格 — 29.272、29.229
请求注解(RFC)- 6733
要求
思科建议您了解StarOS-Mobility Management Entity(MME)管理员指南。
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
概述
通知请求和应答(NOR/NOA)是S6a/S6d接口上最简单的消息之一。此消息的基本思想是通知归属用户服务器(HSS)有关网络和用户设备信息的更改。
通知程序在MME和HSS之间使用,也在GPRS服务支持节点(SGSN)和HSS之间使用,以通知HSS:
- 为接入点名称(APN)分配/更改/删除分组数据网络(PDN)网关(GW)
- 当MME间位置更新未发生,但需要通知HSS需要向当前SGSN发送取消位置。
- 用户实体(UE)具有可用于接收一个或多个短消息的内存容量
- UE再次变得可访问
NOR-NOA的消息格式
< Notify-Request> ::= < Diameter Header: 323, REQ, PXY, 16777251 >
< Session-Id >
[ Vendor-Specific-Application-Id ]
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
[ Destination-Host ]
{ Destination-Realm }
{ User-Name }
* [ Supported-Features ]
[ Terminal-Information ]
[ MIP6-Agent-Info ]
[ Visited-Network-Identifier ]
[ Context-Identifier ]
[Service-Selection]
[ Alert-Reason ]
[ UE-SRVCC-Capability ]
[ NOR-Flags ]
[Homogeneous-Support-of-IMS-Voice-Over-PS-Sessions ]
*[ AVP ]
< Notify-Answer> ::= < Diameter Header: 323, PXY, 16777251 >
< Session-Id >
[ Vendor-Specific-Application-Id ]
[ Result-Code ]
[ Experimental-Result ]
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
[ OC-Supported-Features ]
[ OC-OLR ]
*[ Supported-Features ]
*[ AVP ]
*[ Failed-AVP ]
Process
- 启动:该过程通常在与UE相关的事件发生时由MME发起。
- NOR消息:MME向HSS发送NOR消息。此消息包括必要的标识符,例如国际移动用户身份(IMSI)和事件或变更的详细信息。
- HSS处理:HSS处理请求、更新其记录,并可根据收到的信息根据需要执行进一步操作。
- 通知响应:HSS将通知响应发送回MME,确认更新,并包括任何其他必要的数据或说明。
访问网络标识符AVP的作用是什么?
Visited-Network-Identifier(VNI)Attribute Value Pair(AVP)属于八位组字符串类型。此AVP包含一个标识符,帮助家庭网络识别受访网络(例如,受访网络域名)。
VNI AVP用于标识用户当前所在的网络或“访问”,主要用于漫游场景。此信息对以下各项至关重要:
- 路由决策:确保请求和响应在归属网络和受访网络之间正确路由。
- 策略实施:根据用户的位置和访问网络与家庭网络的协议应用适当的网络策略和计费规则。
Visited-Network-Identifier AVP的3gpp参考
呼叫流程
NOR呼叫流
Notify-Request/Answer呼叫流
- MME中的事件触发器
- 用户事件在MME中发生,需要通知HSS。示例包括:
- 位置更新
- 访问网络的变化(例如漫游)
- 订用状态更新(例如,活动或非活动)
- MME准备NOR消息
- MME发送通知请求
- MME使用以下密钥AVP构建NOR消息:
- 包含用户当前所在受访网络的公共陆地移动网络(PLMN)ID域名。
- 会话ID:Diameter会话的唯一标识符
- 源主机和源领域:将MME标识为发件人
- Destination-Host and Destination-Realm:将HSS标识为收件人
- IMSI(用户标识符):用户的唯一标识符
- VNI
- 身份验证会话状态:指示会话是有状态还是无状态
- HSS接收并处理Notify-Request
- HSS处理NOR并验证其AVP:
- 检查IMSI以查找用户的记录。
- 验证VNI以确保它对应于已知且受支持的网络。
- 更新用户数据,以反映新访问的网络或状态。
- 如果验证成功,则HSS会准备一个成功的响应。
- 如果有问题(例如,缺少VNI),HSS会准备错误响应。
- HSS发送通知应答(NOA)
- HSS向MME发送NOA消息:
- DIAMETER_SUCCESS(2001):表示处理成功
- DIAMETER_INVALID_AVP_VALUE(5004):如果VNI无效
- DIAMETER_MISSING_AVP(505):如果缺少VNI但需要
- MME处理通知应答
- 收到NOA后:
- 如果结果代码成功,则MME继续其操作
- 如果指示错误,则MME会分析失败的AVP(如果存在)以识别问题
故障排除
- 主要方面是检查所有“HSS服务”中的“通知请求”是否为“已启用”。 您可以通过执行以下CLI完成相同操作:
******** show hss-peer-service service all *******
Service name : hss<>
Notify Request Message : Enable
Service name : hss<>
Notify Request Message : Enable
- 选中此复选框后,您可以要求这些日志以进一步排除问题:
1. Request “config verbose”
2. Monitor Subscriber with all the required options:
monitor subscriber <imsi>, along with 19,33,34,35,A,S,X,Y,+++
3. Debug logs:
logging filter active facility diameter level debug
logging filter active facility sessmgr level debug
logging filter active facility mme-app level debug
logging active
no logging active // to deactivate
4. Logging monitor:
configure
logging monitor msid <imsi>
exit
5. Request syslogs which captures the issue.
有问题的场景
有问题的pcap
在此参考数据包捕获(PCAP)中,您可以看到“notify-answer”下缺少的“受访网络标识符”。
数据包190是“Notify request”,数据包191是“Notify Answer”。
此场景中的diameter结果代码为“Diameter_Missing_AVP”,您还可以看到指向“Visited-Network-Identifier”的“Failed AVP”,该代码随后显示“data empty”。
注意:失败的AVP是一个分组AVP,当由于特定AVP中的错误而导致请求被拒绝或未被完全处理时,该分组的AVP提供调试信息。
Failed-AVP的一些原因包括:
·未正确构建的AVP
·无法识别或不支持的AVP
·无效的AVP值
·缺少必需的AVP
·明确排除的AVP
·限制为0、1或0-1次出现的AVP,但存在两次或更多次出现
为了进一步排除故障,您必须确保继续完成所有请求的日志。
如前所述,首先必须检查有问题的节点的hss-peer-service配置。
参考配置:
hss-peer-service <>
diameter hss-endpoint <>
no diameter update-dictionary-avps
--- more lines ---
exit
在此配置中,您可以看到“no diameter update-dictionary-avps”。 当没有任何3gpp版本的更新词典映射时,问题很明显。此外,您可能会遇到CLI“diameter update-dictionary-avps 3gpp-r9/10”存在的几种情况,但问题仍很明显。
因此,根据StarOS管理员指南将其更新至最新版本,以纠正问题,即版本11。
参考配置如下:
Mode
Exec > Global Configuration > Context Configuration > HSS Peer Service Configuration
configure > context context_name > hss-peer-service service_name
Entering the above command sequence results in the following prompt:
[context_name]host_name(config-hss-peer-service)#
Syntax
diameter update-dictionary-avps { 3gpp-r10 | 3gpp-r11 | 3gpp-r9 }
no diameter update-dictionary-avps
no
Sets the command to the default value where Release 8 ('standard') dictionary is used for backward compatibility of previous releases.
3gpp-r10
Configures the MME /SGSN to signal additional AVPs to HSS in support of Release 10 of 3GPP 29.272.
3gpp-r11
Configures the MME /SGSN to signal additional AVPs to HSS in support of Release 11 of 3GPP 29.272.
Using this keyword is necessary to enable the MME to fully support inclusion of the Additional Mobile Station ISDN (A-MSISDN) flag of the Feature List AVP in Update Location Request (ULR) messages sent over the S6a interface to the HSS at the time a UE Attaches. For more information about supporting A-MSISDN, refer to the information for the a-msisdn command in the Call-Control Profile configuration mode.
3gpp-r9
Configures the MME/SGSN to signal Release 9 AVPs to HSS.
Usage Guidelines
Use this command to configure the 3GPP release that should be supported for this HSS peer service.
This command is only applicable for the 'standard' diameter dictionary as defined in the diameter hss-dictionary command.