我试图使用 Seagull 作为 Cx 接口的直径服务器。为了响应 MAR 请求,脚本需要发送带有“Digest-HA1”AVP 的 MAA 响应(分组的 SIP-Digest-Authenticate AVP 的一部分,而后者又是 SIP-Auth-Data-Item AVP 的一部分)包含 H(A1)。根据这个挑战,Diameter Client(CSM) 可以使用 H(A1) 来计算预期的摘要响应。
根据 Seagull 文档,我尝试了两种方式,即 SIP 身份验证和 Radius 身份验证,但无法成功按预期计算 HA1。
当我在我的场景文件中尝试如下 SIP 身份验证方式时,它抛出了“<em>2021-10-21.07:20:19.790|T|E_ACTION_SCEN_SET_VALUE_METHOD_EXTERN:使用外部方法(md5 或 AKA)时出现问题”错误。
<set-value name="Digest-HA1" method="authenticationSip"
format="username=alice;password=12345;auth=Digest realm=\"open-ims.test\", algorithm=MD5;method=REGISTER;uri=sip:testuri.com"></set-value>
当我在我的场景文件中尝试如下 Radius 身份验证方式时,我看到为 Digest-HA1 AVP 设置了垃圾值。
<set-value name="Digest-HA1" method="authenticationRadius" message_part="all"
format="shared_secret=9000000009@open-ims.test:open-ims.test:12345"></set-value>
在 MAA 响应中充满垃圾值的 Digest-HA1 AVP
AVP: Digest-HA1(121) l=24 f=-M- val=a\024\r\030�,����.�\032��\b
AVP Code: 121 Digest-HA1
AVP Flags: 0x40, Mandatory: Set
AVP Length: 24
Digest-HA1: a\024\r\030�,����.�\032��\b
我尝试了一些组合,例如硬编码少数/所有参数,使用“存储”操作从先前的消息中读取等,但未能成功。附加场景/字典文件供您参考。
您能否建议您是否知道我可以用来设置 Digest-HA1 AVP 的任何方法(例如用于 Radius Auth 的 crypto_method_radius)。提前致谢。