<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
Hi Tihomir and All,<div><br></div><div>Could anyone please help me with this mod_rad_auth problem. I need help badly. Thanks.</div><div><br></div><div>Regards</div><div>=========</div><div>Abid Saleem<br><br><hr id="stopSpelling">From: abid_freeswitch@live.com<br>To: freeswitch-users@lists.freeswitch.org<br>Date: Fri, 5 Nov 2010 09:57:23 +0500<br>Subject: Re: [Freeswitch-users] Radius AAA<br><br>

<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML">
<style>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Tahoma;}

</style>


This is what I am saying that these variables do exist in returning radius messages. My Radius response is as below for reference<div><br></div><div><div>Sending Access-Accept of id 224 to 119.158.138.83 port 1027</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;h323-credit-amount := "h323-credit-amount=5"</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;h323-return-code := "h323-return-code=0"</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;h323-credit-time := "h323-credit-time=120"</div><div>Finished request 0.</div><div><br></div><div>Please help me with this. Thanks.</div><div><br></div><div>Regards</div><div>------------</div><div>Abid Saleem</div><br><hr id="ecxstopSpelling">Date: Thu, 4 Nov 2010 15:14:57 +0100<br>From: tculjaga@gmail.com<br>To: freeswitch-users@lists.freeswitch.org<br>Subject: Re: [Freeswitch-users] Radius AAA<br><br>as i said you need to evaluate the returning value from app_function and act accordingly...if the result is "OK" it measn authorizes if its "NOK" it means its failed. Im not going into your application and how you are doing it... you have an example on how to do it in my prev e-mail.<br>
<br>you cannot populate variables that doesn't exist in the returning radius messages:<br><br><br>No found out attribute id: 109, pec:9<br>No found out attribute id: 101, pec:9<br>No found out attribute id: 110, pec:9<br>
<br>and so on ... simply, Access Accept messages doesn't have these attributes that you are trying to map into channel variables.<br><br><br><br><br><div class="ecxgmail_quote">On Thu, Nov 4, 2010 at 2:35 PM, Abid Saleem <span dir="ltr">&lt;<a href="mailto:abid_freeswitch@live.com">abid_freeswitch@live.com</a>&gt;</span> wrote:<br>
<blockquote class="ecxgmail_quote" style="padding-left:1ex">



<div>
Hi,<div><br></div><div>Thanks. This is good for Calling Card type IVR application but I am using it for my SIP UA for authorization only where authorization is required when I make a call from extension 1000. 1000 is a registered user in billing. Can you please provide a simple example with this ANI Authorization scenerio. Also I am getting the following in debug which means radius response values are not being populated in credit_amount, credit_time and return_code attributes. Please help me.&nbsp;</div>
<div><br></div><div><div>2010-11-04 18:09:53.396212 [DEBUG] mod_rad_auth.c:491 sending radius packet ...</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:497 RADIUS Authentication OK</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:519 Handle attribute: BILING_MODEL</div>
<div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:529 &nbsp; No found out attribute id: 109, pec:9, (BILING_MODEL)</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:519 Handle attribute: CREDIT_AMOUNT</div><div>
2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:529 &nbsp; No found out attribute id: 101, pec:9, (CREDIT_AMOUNT)</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:519 Handle attribute: CURRENCY</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:529 &nbsp; No found out attribute id: 110, pec:9, (CURRENCY)</div>
<div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:519 Handle attribute: PREFFERED_LANG</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:529 &nbsp; No found out attribute id: 107, pec:9, (PREFFERED_LANG)</div><div>
2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:519 Handle attribute: CREDIT_TIME</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:529 &nbsp; No found out attribute id: 102, pec:9, (CREDIT_TIME)</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:519 Handle attribute: H323-IVR-IN:DIRATION</div>
<div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:529 &nbsp; No found out attribute id: 1, pec:9, (H323-IVR-IN:DIRATION)</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:519 Handle attribute: RADIUS_RETURN_CODE</div>
<div>2010-11-04 18:09:54.571999 [DEBUG] mod_rad_auth.c:529 &nbsp; No found out attribute id: 103, pec:9, (RADIUS_RETURN_CODE)</div><div class="ecxim"><div>EXECUTE sofia/internal/<a href="mailto:1000@192.168.0.100">1000@192.168.0.100</a> set(execute_on_answer=sched_hangup + &nbsp;/&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;action application=)</div>
</div><div>2010-11-04 18:09:54.571999 [DEBUG] mod_dptools.c:816 sofia/internal/<a href="mailto:1000@192.168.0.100">1000@192.168.0.100</a> SET [execute_on_answer]=[sched_hangup + &nbsp;/&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;action application=]</div>
<div>EXECUTE sofia/internal/<a href="mailto:1000@192.168.0.100">1000@192.168.0.100</a> log(INFO &nbsp;biling_model=)</div><div>2010-11-04 18:09:54.571999 [INFO] mod_dptools.c:946 &nbsp;biling_model=</div><div class="ecxim">
<div>EXECUTE sofia/internal/<a href="mailto:1000@192.168.0.100">1000@192.168.0.100</a> log(INFO &nbsp;credit_amount=)</div></div><div>2010-11-04 18:09:54.571999 [INFO] mod_dptools.c:946 &nbsp;credit_amount=</div><div class="ecxim">
<div>EXECUTE sofia/internal/<a href="mailto:1000@192.168.0.100">1000@192.168.0.100</a> log(INFO &nbsp;currency=)</div></div><div>2010-11-04 18:09:54.571999 [INFO] mod_dptools.c:946 &nbsp;currency=</div><div class="ecxim">
<div>EXECUTE sofia/internal/<a href="mailto:1000@192.168.0.100">1000@192.168.0.100</a> log(INFO &nbsp;preffered_lang=)</div></div><div>2010-11-04 18:09:54.571999 [INFO] mod_dptools.c:946 &nbsp;preffered_lang=</div><div class="ecxim">
<div>EXECUTE sofia/internal/<a href="mailto:1000@192.168.0.100">1000@192.168.0.100</a> log(INFO &nbsp;credit_time=)</div></div><div>2010-11-04 18:09:54.571999 [INFO] mod_dptools.c:946 &nbsp;credit_time=</div><div><br>
</div><br><hr>Date: Thu, 4 Nov 2010 00:10:28 +0100<div class="ecxim"><br>From: <a href="mailto:tculjaga@gmail.com">tculjaga@gmail.com</a><br>To: <a href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a><br>
Subject: Re: [Freeswitch-users] Radius AAA<br><br></div><div><div></div><div class="h5">hello, <br><br>auth_function application returns a "OK" or "NOK" result in a channel variable (in this example ANI_AUTH_RESULT). You need to evaluate the result and act accordingly.<br>
<br>here is some example (part of my IVR) that checks the user's ANI id if its known to the billing just prompts for destination number if not, prompts for PIN.<br>
<br><br>&nbsp; &lt;extension name="ANIorPIN"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;condition field="destination_number" expression="^ANIorPIN$"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="CALLINGNUMBER=${caller_id_number}"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="auth_function" data="in ${DIALED_NUMBER}, in ${caller_id_number}, in 1234, out ANI_AUTH_RESULT"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="CheckANI XML NXIVR"/&gt;<br>

&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br>&nbsp; &lt;/extension&gt;<br><br><br>&nbsp; &lt;extension name="CheckANI"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;condition field="destination_number" expression="^CheckANI$"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;condition field="${ANI_AUTH_RESULT}" expression="^NOK$"&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO ################# UNKNOWN ANI, go to ENTER PIN ################\n"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="EnterPIN XML NXIVR"/&gt;<br>

<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO ################# I KNOW WHO YOU ARE go to get destination number ################\n"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;anti-action inline="true" application="export" data="UNAME=${caller_id_number}"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;anti-action inline="true" application="export" data="PASSWD=1234"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;anti-action application="execute_extension" data="GetDstNum XML NXIVR"/&gt;<br>

&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br>&nbsp; &lt;/extension&gt;<br><br><br>&nbsp;&lt;extension name="EnterPIN"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;condition field="destination_number" expression="^EnterPIN$"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="playback_delimiter=!"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="playback_terminators=#*0123456789"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="read" data="${PIN_MIN_DIG} ${PIN_MAX_DIG} ${PIN_ERR_PR}!${CARD_NUMBER_PR} PIN ${PIN_TIMEOUT} *"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="credit_amount=h323-credit-amount=0"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="PIN_RETRIES=${expr(${PIN_RETRIES}+1)}"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="ParsePIN XML NXIVR"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; PIN=${PIN}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; UNAME=${UNAME}"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="log" data="INFO&nbsp; PASSWD=${PASSWD}"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="export" data="DIALED_NUMBER="""/&gt;<br>

<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="auth_function" data="in ${DIALED_NUMBER}, in ${UNAME}, in ${PASSWD}, out AUTH_RESULT"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="auto_hunt=true"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="PARSE_RET_CODE XML NXIVR"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="CheckPIN XML NXIVR"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br>

&nbsp; &lt;/extension&gt;<br><br><br>&nbsp;&lt;extension name="GetDstNum"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;condition field="destination_number" expression="^GetDstNum$"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="bind_meta_key=#"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="bind_meta_app" data="0 a a transfer::LongDTMF XML NXIVR"/&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="playback_delimiter=!"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="playback_terminators=#*0123456789"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="read" data="${DST_MIN_DIG} ${DST_MAX_DIG} ${DST_ERR_PR}!${ENTER_DEST_PR} DN ${DST_TIMEOUT} *"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="TranslateLocal XML NXIVR"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action inline="true" application="set" data="DST_RETRIES=${expr(${DST_RETRIES}+1)}"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="ParseDN XML NXIVR"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="auth_function" data="in ${DIALED_NUMBER}, in ${UNAME}, in ${PASSWD}, out AUTH_RESULT"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="set" data="CALLINGNUMBER=${caller_id_number}"/&gt;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="PARSE_RET_CODE XML NXIVR"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action application="execute_extension" data="CheckDstNum XML NXIVR"/&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/condition&gt;<br>

&nbsp; &lt;/extension&gt;<br><br><br><br><br><br><br><br><br><br><br><br>
<br></div></div><div class="ecxim">_______________________________________________
FreeSWITCH-users mailing list
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a></div></div>                                               </div>
<br>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>
<br>_______________________________________________
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</div>                                               
<br>_______________________________________________
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</div>                                               </body>
</html>