[RADIATOR] Custom AuthApplicationIds

Arthur kasjas at hot.ee
Sat Jun 7 13:24:59 CDT 2014


Hi Heikki,

Thanks for the detailed explanation.
I've changed AuthApplicationIds to the ETSI-E4, made simple 
DiaDict_16777231.pm:

# DiaDict_16777231.pm
# Dictionary for the Diameter ETSI-E4 application
# $Id: DiaDict_16777231.pm,v 1.0 2014/01/27 21:57:44 hvn Exp $

package Radius::DiaDict_16777231;
use strict;
use warnings;

# RCS version number of this module
$Radius::DiaDict_16777231::VERSION = '$Revision: 1.0 $';

#####################################################################
sub get_handle
{
     return *DATA;
}

# Here follows the Diameter attributes for Diameter Credit Control 
application
__DATA__

VALUE        Auth-Application-Id        ETSI_E4    16777231

and it works.
Thank you again.

Regards,
Arthur



7.06.2014 20:44, Heikki Vatiainen kirjutas:
> On 06/07/2014 12:25 PM, Arthur wrote:
>
>> DiameterDictionaryFile %D/diameter_attrs.dat
>> <ServerDIAMETER>
>>           OriginHost xx.xxx.xxxxx.xx
>>           OriginRealm xxx.xxxxx.xx
>>           Port 3868
>>           SupportedVendorIds DictVendors
>>           AuthApplicationIds ETSI_E4
>> </ServerDIAMETER>
> Hello Arthur,
>
> you need to use ETSI-E4, not ETSI_E4. The names Radiator tries to
> resolve are the same that it logs for the Application ID: header. The
> list of expected names is in Radiator/DiaMsg.pm. It does not use the
> values defined for Auth-Application-Id attribute in the dictionary. Look
> for appcode_to_name in DiaMsg.pm.
>
> I think this is how it has always worked with Radiator. What has changed
> recently is that it logs when it can not resolve the name to a number.
> Versions 4.11 and older were silent.
>
> To summarise: use a name from DiaMsg.pm or the number.
>
> The error about get_handle and Radius::DiaDict_16777231 is a bug in
> 4.13. It should have just defaulted to the base dictionary when it is
> not able to load the application specific dictionary. This will be
> patched for the next release.
>
> One major Diameter change in 4.13 is how the dictionaries are handled.
> The Diameter dictionaries are now application specific. This means you
> should define DiaDict_16777231.pm, see DiaDict_4.pm for an example, and
> put all the attributes application 16777231 uses in this module. You do
> not need to add attributes that are already in DiaDict.pm. These base
> attributes are loaded first and form the base for each application
> specific dictionary.
>
> If you do not wish to create an application specific dictionary, you
> need to change DiaUtil.pm to handle the absence of the dictionary module
> or wait for the patch. In this case Radiator will use the default
> dictionary with the attributes you have specified with
> DiameterDictionaryFile.
>
> Please let us know if the above gets it going.
>
> Thanks,
> Heikki
>



More information about the radiator mailing list