[freeside-commits] freeside/fs_selfservice/FS-SelfService/SelfService FreeRadiusVoip.pm, 1.5, 1.6

Ivan,,, ivan at wavetail.420.am
Fri Oct 24 14:22:21 PDT 2008


Update of /home/cvs/cvsroot/freeside/fs_selfservice/FS-SelfService/SelfService
In directory wavetail.420.am:/tmp/cvs-serv10481/SelfService

Modified Files:
	FreeRadiusVoip.pm 
Log Message:
rlm_perl hook for prepaid voip radius, RT#4100

Index: FreeRadiusVoip.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- FreeRadiusVoip.pm	24 Oct 2008 19:59:03 -0000	1.5
+++ FreeRadiusVoip.pm	24 Oct 2008 21:22:19 -0000	1.6
@@ -2,25 +2,15 @@
 # perl {
 #   #path to this module
 #   module=/usr/local/share/perl/5.8.8/FS/SelfService/FreeRadiusVoip.pm
-#   func_authenticate = authenticate
+#   func_authorize = authorize;
 # }
 #
 #In the Authorize section 
 #Make sure that you have 'files' uncommented. Then add a line containing 'perl'
 # after it. 
 #
-#In the Authentication section add 
-# Auth-Type Perl { 
-#   perl 
-# } 
-#
 # #N/A# Add a line containing 'perl' to the Accounting section. 
 # 
-# In the users file comment the 'DEFAULT Auth-Type = System' lines 
-# and then add 
-#  DEFAULT Auth-Type = Perl 
-#  Fall-Through = 1 
-#
 # and on debian systems, add this to /etc/init.d/freeradius, with the
 # correct path (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=416266)
 #               LD_PRELOAD=/usr/lib/libperl.so.5.8.8
@@ -45,20 +35,19 @@
 use constant RLM_MODULE_NUMCODES=> 9; #How many return codes there are
 
 sub authorize {
-  return RLM_MODULE_OK;
-}
-
-sub authenticate {
 
   #my $src = $RAD_REQUEST{'User-Name'};
 
-#  my $response = call_time( 'src' => $RAD_REQUEST{'Calling-Station-Id'},
-#                            'dst' => $RAD_REQUEST{'Called-Station-Id'},  );
-#
-#  if $response{$
+  my $response = call_time( 'src' => $RAD_REQUEST{'Calling-Station-Id'},
+                            'dst' => $RAD_REQUEST{'Called-Station-Id'},  );
 
-  $RAD_REPLY{'Session-Timeout'} = 420;
-  return RLM_MODULE_UPDATED;
+  if ( $response->{$error} ) {
+    $RAD_REPLY{'Access-Reject'} = $response->{'error'};
+    return RLM_MODULE_REJECT;
+  } else {
+    $RAD_REPLY{'Session-Timeout'} = $response->{'seconds'}
+    return RLM_MODULE_OK;
+  }
 
 }
 



More information about the freeside-commits mailing list