7.5. Failed-AVP AVP
7.5. Failed-AVP AVP
Failed-AVP AVP (AVP 代码 279) 的类型为 Grouped, 在因特定 AVP 中的错误信息导致请求被拒绝或未完全处理时提供调试信息。Result-Code AVP 的取值将说明 Failed-AVP AVP 的原因。Diameter 应答消息应当包含与 Result-Code AVP 所指错误相对应的 Failed-AVP AVP 实例。实务上, 该 Failed-AVP 通常指向 Diameter 节点遇到的第一个 AVP 处理错误。
出现此 AVP 的可能原因包括: AVP 构造不当, 不支持或未识别的 AVP, AVP 取值无效, 缺少必需 AVP, 出现明确排除的 AVP (见第 10 节中的表), 或某 AVP 被限制为 0、1 或 0-1 次出现却出现了两次或更多次。
Diameter 消息应当包含一个 Failed-AVP AVP, 内含无法成功处理的完整 AVP。若失败原因是缺少必需 AVP, 将添加一个 AVP, 带有缺失的 AVP 代码、缺失的 Vendor-Id, 以及按所缺 AVP 要求的最小长度填零的载荷。若失败原因是 AVP 长度无效, 且报告长度小于最小 AVP 头长度或大于报告的消息长度, 应当添加违规 AVP 头部的副本以及按最小要求长度填零的载荷。
若违规 AVP 嵌套在 Grouped AVP 内, Failed-AVP 可以包含该分组 AVP, 其中再包含单个违规 AVP。若分组 AVP 又嵌套在另一分组 AVP 中, 亦可采用相同方式。此时 Failed-AVP 可以包含直至单个违规 AVP 的分组 AVP 层次结构。这使接收方能够定位嵌套在组内的违规 AVP。
AVP 格式 (AVP Format)
::= < AVP Header: 279 >
1* {AVP}