Navigation


Changes between Initial Version and Version 1 of app_radgw.fdx


Ignore:
Timestamp:
Jun 28, 2010, 4:04:14 PM (14 years ago)
Author:
Administrator
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • app_radgw.fdx

    v1 v1  
     1[[PageOutline(2-4)]]
     2== RADIUS/Diameter extensible gateway ==
     3
     4This extension provides an extensible framework to deploy RADIUS/Diameter translation functions. The basic flow is described bellow:
     5{{{
     6#!graphviz
     7digraph G {
     8    graph [bgcolor="#E8E8E8C8"]
     9    cli [
     10         label="RADIUS client"
     11         shape=none
     12    ]
     13    gw [
     14         label=<
     15<TABLE ALIGN="center" BORDER="1">
     16<TR><TD><TABLE ALIGN="center" BORDER="1">
     17    <TR><TD>rgwx 1</TD><TD>rgwx 2</TD><TD>...</TD></TR>
     18    <TR><TD COLSPAN="3">app_radgw.fdx</TD></TR>
     19    </TABLE></TD></TR>
     20<TR><TD>freeDiameter</TD></TR>
     21</TABLE>
     22>
     23         shape=box3d
     24    ]
     25    serv [
     26         label="Diameter server"
     27         shape=none
     28    ]
     29    cli -> gw [
     30         label=" (1) RADIUS Req.    "
     31         color=darkorange
     32    ]
     33    gw -> serv [
     34         label=" (2) Diameter Req.    "
     35         color=gold
     36    ]
     37    serv -> gw [
     38         label=" (3) Diameter Ans.    "
     39         color=gold
     40    ]
     41    gw -> cli [
     42         label=" (4) RADIUS Ans.    "
     43         color=darkorange
     44    ]
     45}
     46}}}
     47
     48The purpose is to allow a RADIUS client to work with a Diameter server, when the RADIUS and Diameter applications allow it -- some Diameter messages cannot be translated to RADIUS because of limitations in this protocol.
     49
     50The {{{app_radgw.fdx}}} extension provides the basic functions of the gateway, but additional plugins ({{{.rgwx}}} files) must be loaded in addition to translate specific RADIUS messages. See the [wiki:#Plugins Plugins] section bellow for additional details.
     51
     52=== Configuration ===
     53
     54{{{app_radgw.fdx}}} configuration file is mandatory. The complete configuration documentation for this extension can be found in the source package: [source:freeDiameter/doc/app_radgw.conf.sample app_radgw.conf.sample].
     55
     56The configuration file contains:
     57 * The list of plugins to load. These will influence how the messages are translated.
     58 * The list of RADIUS clients with their shared secrets.
     59 * The port and IP to use for listening to RADIUS messages.
     60
     61=== Plugins ===
     62
     63The RADIUS/Diameter extensible gateway comes with a number of plugins for translation of RADIUS messages. The following plugins are included:
     64 '''acct.rgwx'''::
     65   This plugin provides the translation of RADIUS Accounting messages to Diameter Base Accounting application. It supports the RADIUS attributes defined in RFC2866 (RADIUS Accounting), RFC5080 (fixes), RFC3162 (IPv6), RFC2868 (Tunnels), RFC2869 (extensions), and RFC3579 (EAP). The Diameter AVPs supported come from RFC3588 (Diameter Base) and RFC4005 (NASREQ).
     66
     67 '''auth.rgwx'''::
     68   This plugin provides the translation of RADIUS Access messages to Diameter NASREQ application or Diameter EAP application (if the request contains an EAP attribute). It supports the RADIUS attributes defined in RFC2865 (RADIUS), RFC5080 (fixes), RFC3162 (IPv6), RFC2868 (Tunnels), RFC2869 (extensions), and RFC3579 (EAP). The Diameter AVPs supported come from RFC3588 (Diameter Base), RFC4005 (NASREQ) and RFC4072 (EAP).
     69
     70 '''debug.rgwx''' and '''sample.rgwx'''::
     71   These plugins are mainly used for debug and development. The debug plugin displays the state of translation of each message. It can be used to check the behavior of other plugins for example. It does not take a real configuration file, but will display any string passed as configuration file in its output (useful if you use the extension several times for the same message). The sample plugin is just a skeleton that can serve as a base to develop a new plugin.
     72
     73 '''echodrop.rgwx'''::
     74   This simple plugin allows to handle a specific RADIUS attribute and either copy it verbatim in the RADIUS answer, or drop it. In both cases, the attribute is not translated in the Diameter message. See the [source:freeDiameter/doc/echodrop.rgwx.conf.sample echodrop.rgwx.conf.sample] file for more information on this plugin configuration.
     75
     76 '''sip.rgwx''' (work in progress)::
     77   See [wiki:diamsip] page for information.
     78
     79
     80=== Usage ===
     81
     82Once loaded properly, the extension does not require any interaction. It will be trigged by incoming RADIUS messages.
     83
     84=== Output ===
     85
     86This extension does not produce any particular output. It uses the debug facility from the {{{libfreeDiameter}}}, so the debug messages can be obtained in the same way as the daemon's (see [wiki:Documentation#Usage Usage section).
     87
     88=== Troubleshooting ===
     89
     90Translation of RADIUS messages to Diameter is quite a complex task. It is likely that the translation plugins need some fine-tunning to fit your particular needs. The first reflex to troubleshoot translation problems is to read the debug logs and search for errors. The {{{debug.rgwx}}} can also be a handy tool to understand the translation process.
     91