Unable to delete unwanted attributes from Disconnect-Request

Tasos Kotaras akota at intracom-telecom.com
Fri Jan 8 14:01:27 CET 2021


I'm struggling to remove some unwanted attributes from the disconnect 
message emitted after a failure in the rest module.

More specifically, in accounting mode, when I receive a 
Accounting-Request, I either return an Accounting-Response or 
Disconnect-Request, depending on the HTTP status returned in a REST 
interaction. Both cases work properly, the only issue is that the 
disconnect message also contains these attributes that nag NAS (they 
cause it to return a NAK):

|NAS-Port Teardown-Indicator (as 3GPP VSA) |

These attributes are not present in the request. If they were, I could 
easily remove them and this would also affect the generated disconnect. 
But apparently, these attributes are added at some point that I have no 
control. The "/update disconnect {...}/" has no effect, as I guess it is 
relevant only to received messages (not clear from the documentation).

I understand that disconenct belongs to a different connection, so it 
cannot be related and handled by tampering with 'reply' or anythig that 
freeradius provides me as variables. Still, I badly need to somehow 
solve the issue, as I have no control over the NAS itself.

Configuration details:


|accounting { uri = "http://x.x.x.x:yyyy/..." method = 'post' body = 
'json' tls = ${..tls} } |


|accounting { rest # this has no effect (same if placed inside rest 
{...}): update disconnect { NAS-Port !* ANY Teardown-Indicator !* ANY } } |

radius -X writes these:

|(0) rest: Sending HTTP POST to "http://x.x.x.x:yyyy/..." (0) rest: 
Encoding attribute "User-Name" (0) rest: Encoding attribute 
"Framed-IP-Address" (0) rest: Encoding attribute "Acct-Status-Type" (0) 
rest: Encoding attribute "Acct-Session-Id" (0) rest: Processing response 
header (0) rest: Status : 503 (Service Unavailable) (0) rest: ERROR: 
Server returned no data rlm_rest (rest): Released connection (0) Need 5 
more connections to reach 10 spares rlm_rest (rest): Opening additional 
connection (5), 1 of 27 pending slots used rlm_rest (rest): Skipping 
pre-connect, connect_uri not specified (0) [rest] = fail (0) } # 
accounting = fail (0) WARNING: Unknown destination for 
CoA request. (0) Not sending reply to client. (0) Finished request |

REST works OK and the 503 is expected for this particular case. I cannot 
see something wrong (the ERROR and WARNING are not a huge surprise)

I wonder if there is some workaround to persuade freeradius not to add 
these naughty attributes, or otherwise, give me the chance to remove them?

More information about the Freeradius-Users mailing list