The documentation does not state that the return value could also be other constants like RADIUS_DISCONNECT_ACK and more.
(PECL radius >= 1.1.0)
radius_send_request — Sends the request and waites for a reply
After the Radius request has been constructed, it is sent by radius_send_request().
The radius_send_request() function sends the request and waits for a valid reply, retrying the defined servers in round-robin fashion as necessary.
If a valid response is received, radius_send_request()
returns the Radius code which specifies the type of the response. This will
RADIUS_ACCESS_CHALLENGE. If no valid response is
received, radius_send_request() returns