It is not yet capable of handling OTP requests, but all the elements are there: it can receive and decode Access-Request messages and respond with either Access-Accept or Access-Reject. All that remains is to refactor the guts of otpkey into libotp and plug them into otpradiusd.