summaryrefslogtreecommitdiff
path: root/fs_selfservice
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-11-10 22:21:15 -0800
committerIvan Kohler <ivan@freeside.biz>2013-11-10 22:21:15 -0800
commit60dc16fe65ff92e3a1649c671476eed550bb0f79 (patch)
tree3dd5807d6500ca5826521b99c58e5171778a1a79 /fs_selfservice
parent884a51a10e290fc1df6ed7fc87aeeb95c8d0ca3f (diff)
if the called number is free, put 1 in the Termination-Action attribute, RT#21337
Diffstat (limited to 'fs_selfservice')
-rw-r--r--fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm17
1 files changed, 13 insertions, 4 deletions
diff --git a/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm b/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm
index 0df24f7d7..6086717ec 100644
--- a/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm
+++ b/fs_selfservice/FS-SelfService/SelfService/FreeRadiusVoip.pm
@@ -1,8 +1,13 @@
#Add this to the modules section of radiusd.conf
# perl {
# #path to this module
-# module=/usr/local/share/perl/5.8.8/FS/SelfService/FreeRadiusVoip.pm
+# # deb 6 example
+# #module=/usr/local/share/perl/5.10.1/FS/SelfService/FreeRadiusVoip.pm
+# # deb 7 example
+# module=/usr/local/share/perl/5.14.2/FS/SelfService/FreeRadiusVoip.pm
+#
# func_authorize = authorize;
+#
# }
#
#In the Authorize section
@@ -11,9 +16,9 @@
#
# #N/A# Add a line containing 'perl' to the Accounting section.
#
-# and on debian systems, add this to /etc/init.d/freeradius, with the
+# and on debian 6 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
+# LD_PRELOAD=/usr/lib/libperl.so.5.10
# export LD_PRELOAD
BEGIN { $FS::SelfService::skip_uid_check = 1; }
@@ -44,9 +49,13 @@ sub authorize {
if ( $response->{'error'} ) {
$RAD_REPLY{'Reply-Message'} = $response->{'error'};
return RLM_MODULE_REJECT;
- } else {
+ } elsif ( $response->{'seconds'} ) {
$RAD_REPLY{'Session-Timeout'} = $response->{'seconds'};
return RLM_MODULE_OK;
+ } else {
+ # if the called number is free, put 1 in the Termination-Action attribute
+ $RAD_REPLY{'Termination-Action'} = 1;
+ return RLM_MODULE_OK;
}
}