<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@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@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@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@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@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@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@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@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@124.193.106.104 log(INFO  currency=)
2011-07-31 16:23:24.737004 [INFO] mod_dptools.c:1202  currency=
EXECUTE sofia/internal/1001@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 listhttp://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@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@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org