<div dir="ltr">To make it simple, <div><br></div><div>Is it possible to do following thing will FreeRadius?</div><div><br></div><div>1) collect auth request and response by itself.</div><div>2) collect accounting request and send it via TCP/IP to another process in the same host (say rad to dia converter). </div><div>3) collect response from the external process on same host (rad to dia converter) and send as radius response.</div><div><br></div><div>In that way, I can use freeRadius as upfront module to handle the incoming radius request and FreeRadius server will process request and response idependently i.e. asyncronus.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 24, 2014 at 8:35 PM, Iliya Peregoudov <span dir="ltr"><<a href="mailto:iperegudov@cboss.ru" target="_blank">iperegudov@cboss.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 24.11.2014 16:14, Alan DeKok wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Iliya Peregoudov wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Your radius-diameter-translator module should listen RADIUS protocol on<br>
UDP/4013 port. Translator should implement RADIUS server (receive<br>
requests, send responses) and Diameter client (send requests, receive<br>
answers). Flow diagram is following:<br>
</blockquote>
<br>
   i.e. he needs to implement a RADIUS proxy.  Just like FreeRADIUS.<br>
<br>
   Take it from me, that's a lot of work.  Anyone who asks for design<br>
diagrams on how to implement a RADIUS server has about 5 years of<br>
full-time work ahead of them.<br>
</blockquote>
<br></span>
There is nothing inherently sophisticated in the RADIUS protocol itself. Implementing a RADIUS-to-Diameter translator is not inherently harder than implementing anything-else-to-Diameter translator.<br>
<br>
Topic starter has already implemented something-else-to-Diameter translator as a standalone process. To integrate it with RADIUS he has to implement RADIUS-to-something-else translator as a freeradius module, and this module does not work well.<br>
<br>
The problem with freeradius is that it was not designed to be used as extensible protocol translator. One cannot write a freeradius module that will translate RADIUS to any other protocol in non-blocking manner because freeradius module interface is blocking. So mentioned earlier freeradius module *can not* work well.<div class="HOEnZb"><div class="h5"><br>
<br>
-<br>
List info/subscribe/unsubscribe? See <a href="http://www.freeradius.org/list/users.html" target="_blank">http://www.freeradius.org/<u></u>list/users.html</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Regards,<br>Srithar Durairaj<br>Alternate Mail I.D: <a href="mailto:srijeevadurai1@yahoo.co.in">srijeevadurai1@yahoo.co.in</a><br>Mobile: +919886251852<br><br><br></div>
</div>