Hello, I've spent many hours searching the docs, examples, list posts, etc, plus AI generators - testing as many permutations I can think of - trying to find the correct syntax and method to do this with Unlang, but nothing seems to work π I'll try to explain in sudo-code what I mean: if (number of Framed-IP-Address attributes > 1) { ββββupdate control { ββββββββ# Save the first Framed-IP-Address to a temporary String (because I read ipaddr type isn't available). ββββββββ&Tmp-String-0 := &reply:Framed-IP-Address[0] ββββ} ββββupdate reply { ββββββββ# Remove all Framed-IP-Address entries currently in the reply. ββββββββ&Framed-IP-Address !* ANY ββββββββ# Re-create Framed-IP-Address with the first value we saved temporarily. ββββββββ# Cast as ipaddr because Framed-IP-Address needs that data type. ββββββββ&Framed-IP-Address := (ipaddr) &control:Tmp-String-0 ββββ} } Everything I've tried is either invalid syntax, or a comma is expected after the cast statement, or freeradius cannot resolve to IP address, or it just doesn't work. It's starting to drive me crazy π If anyone could please help me understand what I'm doing wrong, it would be very much appreciated. Thank you in advance for your time and consideration!