I was trying to use Seagull as a Diameter server for Cx interface. In response to a MAR request, the script needs to send a MAA response with “Digest-HA1” AVP (part of the grouped SIP-Digest-Authenticate AVP, which in turn is part of the SIP-Auth-Data-Item AVP) that contains H(A1). The Diameter Client(CSM) can use H(A1) to calculate the expected Digest response, according to this challenge.
Based on Seagull Documentation, I tried both ways i.e. SIP authentication and Radius authentication, but couldn’t succeed in getting HA1 calculated as expected.
When I tried the SIP Authentication way as below in my scenario file, it threw “2021-10-21.07:20:19.790|T|E_ACTION_SCEN_SET_VALUE_METHOD_EXTERN: problem when using external method (md5 or AKA)” error.
<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>
When I tried the Radius Authentication way as below in my scenario file, I see junk value being set for 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>
Digest-HA1 AVP filled with junk value in MAA response
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
I tried few combinations like hard coding few/all parameters, reading from previous message with the action “store” etc. but couldn’t succeed. Attaching scenario/dictionary files for your reference.
Can you please suggest if you are aware of any method (like crypto_method_radius for Radius Auth) which I can use to set Digest-HA1 AVP. Thanks in advance.