[Freeswitch-users] Mod_rad_auth issue for FS working with FreeRadius server
Tihomir Culjaga
tculjaga at gmail.com
Tue Aug 2 12:07:19 MSD 2011
<param name="dictionary" value="/usr/local/etc/radiusclient/dictionary"/>
this is your path to your dictionary ... you can put any path there.
[ ~]$ cd /usr/local/etc/radiusclient/
[radiusclient]$ ls -l
total 100
-rw-r--r-- 1 root root 7329 Aug 10 2010 dictionary
-rw-r--r-- 1 root root 21152 Apr 17 2010 dictionary.all
-rw-r--r-- 1 root root 11557 Mar 14 2010 dictionary.all.working
-rw-r--r-- 1 root root 12388 Aug 10 2010 dictionary.ascend
-rw-r--r-- 1 root root 5793 Mar 14 2010 dictionary.cisco
-rw-r--r-- 1 root root 1517 Aug 10 2010 dictionary.compat
-rw-r--r-- 1 root root 599 Aug 10 2010 dictionary.merit
-rw-r--r-- 1 root root 1117 Mar 11 2010 dictionary.rfc2869
-rw-r--r-- 1 root root 2489 Aug 10 2010 dictionary.sip
-rw-r--r-- 1 root root 135 Aug 10 2010 issue
-rw-r--r-- 1 root root 410 Aug 10 2010 port-id-map
-rw-r--r-- 1 root root 3299 Aug 10 2010 radiusclient.conf
-rw------- 1 root root 299 Aug 10 2010 servers
you cannot use just cisco dictionary. ... you either include cisco
dictionary in the radius client default dictionary or you append the values
you need.
use attached dictionary ... this one works fine.
T.
On Tue, Aug 2, 2011 at 9:50 AM, fieldpeak <fieldpeak at gmail.com> wrote:
> Hi Tihomir,
>
> Finally the answer coming, i see the hope, thanks for your reply, :)
>
> As your advise, i only use one attribute(h323-conf-id) in my dialplan, and
> only one attribute(h323-conf-id) in rad_auth.conf.xml, and using the
> attached dictionary (from ciso) which contains this attribute, however, it
> still prompt 'unknown attribute', so i suspected if it was reading
> /usr/local/etc/radiusclient/dictionary, so i copy the same dictionary to
> /usr/local/freeswitch/radius/, it did not any help at all... very strange...
>
> Log:
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:318 set default_realm :=
> .
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:318 set radius_timeout :=
> 3.
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:318 set radius_retries :=
> 2.
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:318 set radius_deadtime
> := 0.
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:318 set bindaddr := *.
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:371 ... radius:
> User-Name: 38516060333
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:380 ... radius:
> User-Password: 003282
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:396 ... radius:
> Called-station-Id: 16094191500
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:413 Handle attribute:
> h323-conf-id
> 2011-08-02 15:37:26.578217 [ERR] mod_rad_auth.c:428 Unknown attribute:
> key:h323-conf-id, not found in dictionary
> 2011-08-02 15:37:26.578217 [DEBUG] mod_rad_auth.c:538 abort sending radius
> packet.
> 2011-08-02 15:37:26.578217 [ERR] mod_rad_auth.c:546 An error occured during
> RADIUS Authentication(RC=-1)
> 2011-08-02 15:37:26.578217 [ERR] mod_rad_auth.c:702 An error occured during
> radius authorization.
>
> EXECUTE sofia/internal/1001 at 124.193.106.104 log(INFO AUTH_RESULT=)
>
>
>
> <extension name="unitest_rad-ANI-auth">
> <condition field="destination_number" expression="^601$">
> <!-- <action application="log" data="INFO Before Auth "/> -->
>
> <action inline="true" application="set" data="CALLID=h323-conf-id
> =${uuid}"/>
>
> <action inline="true" application="set" data="USERNAME=1001"/>
> <action inline="true" application="set" data="PASSWD=1111"/>
>
>
> <action application="sleep" data="2000"/>
> <action application="auth_function" data="in ${DIALED_NUMBER}, in
> ${USERNAME}, in ${PASSWD}, out AUTH_RESULT"/>
>
> </condition>
> </extension>
>
>
>
> <configuration name="rad_auth.conf" description="radius authentification
> module">
> <settings>
>
> </settings>
>
> <client>
> <param name="authserver" value="127.0.0.1:1812:gateway"/>
> <param name="dictionary"
> value="/usr/local/etc/radiusclient/dictionary"/>
> <param name="seqfile" value="/var/run/radius.seq"/>
> <param name="mapfile" value="/usr/local/etc/radiusclient/port-id-map"/>
> <param name="default_realm" value=""/>
> <param name="radius_timeout" value="3"/>
> <param name="radius_retries" value="2"/>
> <param name="radius_deadtime" value="0"/>
> <param name="bindaddr" value="*"/>
> </client>
>
> <vsas>
>
>
> <param name="h323-conf-id" id="24" value="CALLID" pec="9" expr="1"
> direction="in"/>
>
> </vsas>
> </configuration>
>
>
>
> 2011/8/2 Tihomir Culjaga <tculjaga at gmail.com>
>
>> hi,
>>
>> dictionary.all is just the name of a file containing all attributes i
>> needed at that time.
>>
>> you can include other dictionaries by putting #INCLUDE <pathname> at the
>> end of the dictionary file you reference in rad_auth.conf.xml.
>> if the INCLUDE doesn't work, just append dictionary.cisco to your
>> dictionary file... and make your own file.
>>
>>
>> check inline comments down below...
>>
>>
>> T.
>>
>>
>> On Sun, Jul 31, 2011 at 10:46 AM, fieldpeak <fieldpeak at gmail.com> wrote:
>>
>>> Hello Gurus,
>>>
>>> i met a issue when using
>>> mod_rad_auth(http://wiki.freeswitch.org/wiki/Mod_rad_auth) to works
>>> with freeradius server+mysql for AAA, the details is below, Could
>>> anyone give any hints, Thanks in advance.
>>>
>>> i setup a dial plan "unitest_rad-ANI-auth" as wiki above, however,
>>> when i dialed 601 to trigger the dial plan, the console show errors,
>>> it looks "h323-conf-id" is not in the directory, then i tried to add
>>> this attribute to the dictionary, however, it does not help, in the
>>> wiki, it mentioned the rad_auth.conf.xml contains <param
>>> name="dictionary"
>>> value="/usr/local/etc/radiusclient/dictionary.all"/>, however i did
>>> not find the file "dictionary.all" at that directory, so i use
>>> dictionary. BTW, the freeradius server + mysql works well.
>>>
>>
>> i just appended the information needed into dictionary.all file... (vendor
>> and attribute definition).
>>
>>
>>
>>>
>>> console errors:
>>>
>>> EXECUTE sofia/internal/1001 at 124.193.106.104 auth_function(in , in
>>> 38516060333, in 003282, out AUTH_RESULT)
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:301 allocate initial
>>> structure.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:313 initialzed
>>> configuration.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set authserver
>>> := 127.0.0.1:1812:gateway.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set dictionary
>>> := /usr/local/etc/radiusclient/dictionary.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set seqfile :=
>>> /var/run/radius.seq.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set mapfile :=
>>> /usr/local/etc/radiusclient/port-id-map.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set default_realm
>>> := .
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set radius_timeout
>>> := 3.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set radius_retries
>>> := 2.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set radius_deadtime
>>> := 0.
>>> 2011-07-31 16:23:24.717088 [DEBUG] mod_rad_auth.c:318 set bindaddr := *.
>>> 2011-07-31 16:23:24.737004 [DEBUG] mod_rad_auth.c:371 ... radius:
>>> User-Name: 38516060333
>>> 2011-07-31 16:23:24.737004 [DEBUG] mod_rad_auth.c:380 ... radius:
>>> User-Password: 003282
>>> 2011-07-31 16:23:24.737004 [DEBUG] mod_rad_auth.c:391 ... radius:
>>> Called-station-Id is empty, ignoring...
>>> 2011-07-31 16:23:24.737004 [DEBUG] mod_rad_auth.c:413 Handle
>>> attribute: h323-conf-id
>>> 2011-07-31 16:23:24.737004 [ERR] mod_rad_auth.c:428 Unknown attribute:
>>> key:h323-conf-id, not found in dictionary
>>> 2011-07-31 16:23:24.737004 [DEBUG] mod_rad_auth.c:538 abort sending
>>> radius packet.
>>> 2011-07-31 16:23:24.737004 [ERR] mod_rad_auth.c:546 An error occured
>>> during RADIUS Authentication(RC=-1)
>>> 2011-07-31 16:23:24.737004 [ERR] mod_rad_auth.c:702 An error occured
>>> during radius authorization.
>>> EXECUTE sofia/internal/1001 at 124.193.106.104 log(INFO AUTH_RESULT=)
>>> 2011-07-31 16:23:24.737004 [INFO] mod_dptools.c:1202 AUTH_RESULT=
>>> EXECUTE sofia/internal/1001 at 124.193.106.104 log(INFO billing_model=)
>>> 2011-07-31 16:23:24.737004 [INFO] mod_dptools.c:1202 billing_model=
>>> EXECUTE sofia/internal/1001 at 124.193.106.104 log(INFO credit_amount=)
>>> 2011-07-31 16:23:24.737004 [INFO] mod_dptools.c:1202 credit_amount=
>>> EXECUTE sofia/internal/1001 at 124.193.106.104 log(INFO currency=)
>>> 2011-07-31 16:23:24.737004 [INFO] mod_dptools.c:1202 currency=
>>> EXECUTE sofia/internal/1001 at 124.193.106.104 log(INFO preffered_lang=)
>>> 2011-07-31 16:23:24.737004 [INFO] mod_dptools.c:1202 preffered_lang=
>>>
>>> added below in the dictionary(/usr/local/etc/radiusclient/dictionary):
>>>
>>> ATTRIBUTE h323-conf-id 1008 string
>>>
>>
>> you need the vendor definition as well
>>
>>
>>>
>>>
>>> dial plan:
>>> <extension name="unitest_rad-ANI-auth">
>>> <condition field="destination_number" expression="^601$">
>>> <action application="log" data="INFO Before Auth "/>
>>>
>>> <action inline="true" application="set"
>>> data="CALLID=h323-conf-id=${uuid}"/>
>>> <action inline="true" application="set"
>>> data="SERVICENUM=h323-prompt-id=${destination_number}"/>
>>> <action inline="true" application="set"
>>> data="TRANSACTIONID=h323-ivr-out=transactionID:1234"/>
>>> <!-- <action inline="true" application="set"
>>> data="CALLINGNUMBER=${caller_id_number}"/> -->
>>> <action inline="true" application="set"
>>> data="CALLINGNUMBER=38516060333"/>
>>> <action inline="true" application="set"
>>> data="USERNAME=38516060333"/>
>>> <!-- <action inline="true" application="set"
>>> data="USERNAME=209354"/> -->
>>> <action inline="true" application="set" data="PASSWD=003282"/>
>>> <!-- <action inline="true" application="set"
>>> data="DIALED_NUMBER=16094191500"/> -->
>>>
>>> <action application="sleep" data="2000"/>
>>> <action application="auth_function" data="in ${DIALED_NUMBER},
>>> in ${USERNAME}, in ${PASSWD}, out AUTH_RESULT"/>
>>>
>>>
>>> <action application="log" data="INFO AUTH_RESULT=${AUTH_RESULT}"/>
>>> <action application="log" data="INFO
>>> billing_model=${billing_model}"/>
>>> <action application="log" data="INFO
>>> credit_amount=${credit_amount}"/>
>>> <action application="log" data="INFO currency=${currency}"/>
>>> <action application="log" data="INFO
>>> preffered_lang=${preffered_lang}"/>
>>> <action application="log" data="INFO credit_time=${credit_time}"/>
>>> <action application="log" data="INFO
>>> h323_ivr_duration=${h323_ivr_duration}"/>
>>> <action application="log" data="INFO return_code=${return_code}"/>
>>> <!-- <action application="execute_extension" data="AUTH XML
>>> default"/> -->
>>> </condition>
>>> </extension>
>>>
>>> radius_cdr.conf.xml:
>>> <configuration name="radius_cdr.conf" description="RADIUS CDR
>>> Configuration">
>>>
>>> <settings>
>>>
>>> <!-- location of the radius dictionary files -->
>>>
>>> <param name="dictionary"
>>> value="/usr/local/freeswitch/conf/radius/dictionary"/>
>>>
>>>
>> your dictionary file need to contain all the attributes you are trying to
>> use or to include other dictionaries (In this case dictionary.cisco) from
>> the dictionary file you are referencing here.
>>
>>
>>> <!-- number of retries for each server -->
>>>
>>> <param name="radius_retries" value="3"/>
>>>
>>> <!-- number of seconds to wait between retries -->
>>>
>>> <param name="radius_timeout" value="5"/>
>>>
>>> <!-- accounting servers, up to 8 allowed -->
>>>
>>> <!-- value is "host:port:secret", port is optional -->
>>>
>>> <!-- use IP ADDRESSES, not hostnames -->
>>>
>>> <param name="acct_server" value="127.0.0.1:1813
>>> :testing123"/>
>>>
>>>
>>> </settings>
>>>
>>> </configuration>
>>>
>>> the FS version:
>>> FreeSWITCH Version 1.0.head (git-492bc6b 2011-07-23 12-53-04 -0400)
>>>
>>> Regards,
>>> Charles
>>>
>>> _______________________________________________
>>> Join us at ClueCon 2011, Aug 9-11, Chicago
>>> http://www.cluecon.com 877-7-4ACLUE
>>>
>>> FreeSWITCH-users mailing list
>>>
>>> FreeSWITCH-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>>
>>
>>
>> _______________________________________________
>> Join us at ClueCon 2011, Aug 9-11, Chicago
>> http://www.cluecon.com 877-7-4ACLUE
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>>
>
> _______________________________________________
> Join us at ClueCon 2011, Aug 9-11, Chicago
> http://www.cluecon.com 877-7-4ACLUE
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110802/c2f4642d/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dictionary.all
Type: application/octet-stream
Size: 21151 bytes
Desc: not available
Url : http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110802/c2f4642d/attachment-0001.obj
More information about the FreeSWITCH-users
mailing list