<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
<br>Dear Tihomir,<div><br></div><div>Any update and help on the below please.</div><div><br></div><div>Abid<br><hr id="stopSpelling">From: abid_freeswitch@live.com<br>To: tculjaga@gmail.com<br>CC: neal@wanlink.com<br>Subject: Re: [Freeswitch-users] Radius/Authentication/Authorization<br>Date: Wed, 31 Mar 2010 19:35:32 +0500<br><br>



<style>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Verdana;}
</style>


<span class="ecxApple-style-span" style="font-family:'Segoe UI', Tahoma, Verdana, Arial, sans-serif;color:rgb(68, 68, 68)">Dear Tihomir,</span><div><span class="ecxApple-style-span" style="font-family:'Segoe UI', Tahoma, Verdana, Arial, sans-serif;color:rgb(68, 68, 68)"><br></span></div><div><span class="ecxApple-style-span" style="font-family:'Segoe UI', Tahoma, Verdana, Arial, sans-serif;color:rgb(68, 68, 68)">Thank you very much for the configuration example but in which files to place these configurations. Please bear with me because I am new to FreeSwitch and if you could provide complete steps.</span></div><div><span class="ecxApple-style-span" style="font-family:'Segoe UI', Tahoma, Verdana, Arial, sans-serif;color:rgb(68, 68, 68)"><br></span></div><div><span class="ecxApple-style-span" style="font-family:'Segoe UI', Tahoma, Verdana, Arial, sans-serif;color:rgb(68, 68, 68)">Also when I compile FS and load the module mod_rad_auth in conf/autoload_configs/modules.conf.xml, I get an error while starting FS as follows.</span></div><div><span class="ecxApple-style-span" style="font-family:'Segoe UI', Tahoma, Verdana, Arial, sans-serif;color:rgb(68, 68, 68)"><br></span></div><div><span class="ecxApple-style-span" style="font-family:'Segoe UI', Tahoma, Verdana, Arial, sans-serif;color:rgb(68, 68, 68)"><div>2010-03-31 19:32:29.399466 [CRIT] switch_loadable_module.c:882 Error Loading module /usr/local/freeswitch/mod/mod_rad_auth.so</div><div>**/usr/local/freeswitch/mod/mod_rad_auth.so: undefined symbol: rc_conf_str**</div><div><br></div><div>Please advise. Thanks.</div><div><br></div><div>Regards</div><div>-----------</div><div>Abid Saleem</div></span></div><div><span class="ecxApple-style-span" style="font-family:'Segoe UI', Tahoma, Verdana, Arial, sans-serif;color:rgb(68, 68, 68)"><br>--Forwarded Message Attachment--<br>From: tculjaga@gmail.com<br>CC: neal@wanlink.com<br>To: freeswitch-users@lists.freeswitch.org<br>Date: Tue, 30 Mar 2010 21:42:03 +0200<br>Subject: Re: [Freeswitch-users] Radius/Authentication/Authorization<br><br>hello,<br><br>here is an example<br><br><br><br>&lt;configuration name="rad_auth.conf" description="radius authentification module"&gt;<br>&nbsp; &lt;settings&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- backward compatibility to allow radiusclient config file instead of an embedded config --&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--&nbsp; &lt;param name="radius_config" value="/usr/local/etc/radiusclient/radiusclient.conf"/&gt;&nbsp;&nbsp; --&gt;<br>&nbsp; &lt;/settings&gt;<br><br>&nbsp; &lt;client&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="authserver" value="10.1.1.10:1812:gateway"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="dictionary" value="/usr/local/etc/radiusclient/dictionary.all"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="seqfile" value="/var/run/radius.seq"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="mapfile" value="/usr/local/etc/radiusclient/port-id-map"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="default_realm" value=""/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="radius_timeout" value="3"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="radius_retries" value="2"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="radius_deadtime" value="0"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="bindaddr" value="*"/&gt;<br>&nbsp; &lt;/client&gt;<br><br>&nbsp; &lt;vsas&gt;<br>&nbsp;&nbsp;&nbsp; &lt;!--&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; just a description<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; direct input or variable&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pec:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vendor ID (0 for default, 9 for cisco...)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; expr:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 for channel variable, 2 for direct input<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; direction:&nbsp; in for radius-request, out for radius-response<br>&nbsp;&nbsp;&nbsp; --&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;!-- mappings for radius request message; input attributes --&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="h323-conf-id" id="24" value="CALLID" pec="9" expr="1" direction="in"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="h323-prompt-id" id="104" value="SERVICENUM" pec="9" expr="1" direction="in"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="Cisco-AVPair" id="1" value="TRANSACTIONID" pec="9" expr="1" direction="in"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="Calling-Station-Id" id="31" value="CALLINGNUMBER" pec="0" expr="1" direction="in"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="NAS-Port-Type" id="61" value="0" pec="0" expr="0" direction="in"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="NAS-Port-Id" id="87" value="ISDN 3/0:D:14" pec="0" expr="0" direction="in"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="Login-User" id="1" value="1" pec="0" expr="0" direction="in"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;!-- mappings for radius-response message; output values from returning outributes --&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="BILING_MODEL" id="109" value="billing_model" pec="9" expr="0" direction="out"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="CREDIT_AMOUNT" id="101" value="credit_amount" pec="9" expr="0" direction="out"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="CURRENCY" id="110" value="currency" pec="9" expr="0" direction="out"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="PREFFERED_LANG" id="107" value="preffered_lang" pec="9" expr="0" direction="out"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="CREDIT_TIME" id="102" value="credit_time" pec="9" expr="0" direction="out"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;param name="H323-IVR-IN:DIRATION" id="1" value="h323_ivr_duration" pec="9" expr="0" direction="out"/&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;param name="RADIUS_RETURN_CODE" id="103" value="return_code" pec="9" expr="0" direction="out"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;!-- expr param is to be ignored here--&gt;<br><br>&nbsp; &lt;/vsas&gt;<br>&lt;/configuration&gt;<br><br><br><br><br>in the dialplan you need to trigger auth as:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="auth_function" data="in ${DIALED_NUMBER}, in ${USERNAME}, in ${PASSWD}, out AUTH_RESULT"/&gt;<br><br><br><br>there are two behaviours:<br><br>1. authorize the call according to username&amp;pass and dialed number - if authorized, the radius server returns credit time towards the dialed number<br>2. authorize the call according to username&amp;pass - if authorized, the radius server returns the current account balance<br><br><br><br><br><br><br><br>&nbsp; &lt;extension name="unitest_rad-ANI-auth"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;condition field="destination_number" expression="^601$"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; PRIJE RAD_AUTH "/&gt;<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="CALLID=h323-conf-id=${uuid}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="SERVICENUM=h323-prompt-id=${destination_number}"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="TRANSACTIONID=h323-ivr-out=transactionID:1234"/&gt;<br>&lt;!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="CALLINGNUMBER=${caller_id_number}"/&gt; --&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="CALLINGNUMBER=38516060333"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="USERNAME=38516060333"/&gt;<br><br>&lt;!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="USERNAME=209354"/&gt; --&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="PASSWD=003282"/&gt;<br><br>&lt;!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="DIALED_NUMBER=16094191500"/&gt;&nbsp; --&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="sleep" data="2000"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="auth_function" data="in ${DIALED_NUMBER}, in ${USERNAME}, in ${PASSWD}, out AUTH_RESULT"/&gt;<br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; AUTH_RESULT=${AUTH_RESULT}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; billing_model=${billing_model}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; credit_amount=${credit_amount}"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; currency=${currency}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; preffered_lang=${preffered_lang}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; credit_time=${credit_time}"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; h323_ivr_duration=${h323_ivr_duration}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; return_code=${return_code}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- &lt;action application="execute_extension" data="AUTH XML default"/&gt; --&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br>&nbsp; &lt;/extension&gt;<br><br><br>&nbsp; &lt;extension name="unitest_rad-ANI-balance"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;condition field="destination_number" expression="^602$"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; PRIJE RAD_AUTH "/&gt;<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="CALLID=h323-conf-id=${uuid}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="SERVICENUM=h323-prompt-id=${destination_number}"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="TRANSACTIONID=h323-ivr-out=transactionID:1234"/&gt;<br>&lt;!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="CALLINGNUMBER=${caller_id_number}"/&gt; --&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="CALLINGNUMBER=38516060333"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="USERNAME=38516060333"/&gt;<br><br>&lt;!--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="USERNAME=209354"/&gt; --&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="PASSWD=003282"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="DIALED_NUMBER=16094191500"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="sleep" data="2000"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="auth_function" data="in ${DIALED_NUMBER}, in ${USERNAME}, in ${PASSWD}, out AUTH_RESULT"/&gt;<br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; AUTH_RESULT=${AUTH_RESULT}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; billing_model=${billing_model}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; credit_amount=${credit_amount}"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; currency=${currency}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; preffered_lang=${preffered_lang}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; credit_time=${credit_time}"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; h323_ivr_duration=${h323_ivr_duration}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; return_code=${return_code}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- &lt;action application="execute_extension" data="AUTH XML default"/&gt; --&gt;<br><br>&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br>&nbsp; &lt;/extension&gt;<br><br><br>will update the wiki by the end of the week.<br><br><br>you have enough information for now.<br><br>Tihomir.<br><br><br><br><div class="ecxecxgmail_quote">On Tue, Mar 30, 2010 at 1:52 PM, Abid Saleem&nbsp;<span dir="ltr">&lt;<a href="mailto:abid_freeswitch@live.com" style="font-weight:inherit;text-decoration:underline;color:rgb(0, 104, 207);cursor:pointer">abid_freeswitch@live.com</a>&gt;</span>&nbsp;wrote:<br><br><blockquote class="ecxecxgmail_quote" style="padding-left:1ex"><br><br><br><br><div><br>Hi Neal and other Contributors to FS,<div><br></div><div>I recieved an answer on the list that mod_rad_auth is ready. I upgraded FS to download and install it by "make current" and it is successfully built and installed. Could you please outline the detailed steps to do all this configuration.</div><br><div><br></div><div>If it is still not ready, is there any other method that somebody has already implemented like perl scripts etc. Any help in this regard is badly required. THanks for your cooperation.</div><div><br></div><br><div>Regards</div><div>----------</div><div>Abid Saleem</div><div>Sr. Product Manager</div><div><br></div></div></blockquote></div></span></div>                                               <br><hr>Hotmail: Powerful Free email with security by Microsoft. <a href="https://signup.live.com/signup.aspx?id=60969">Get it now.</a></div>                                               <br /><hr />Hotmail: Powerful Free email with security by Microsoft. <a href='https://signup.live.com/signup.aspx?id=60969' target='_new'>Get it now.</a></body>
</html>