[Freeswitch-svn] [commit] r7911 - freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr

Freeswitch SVN cparker at freeswitch.org
Tue Mar 18 10:44:01 EDT 2008


Author: cparker
Date: Tue Mar 18 10:44:01 2008
New Revision: 7911

Modified:
   freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c
   freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.conf.xml

Log:
Clean up setting defaults, expose seqfile config option.  Reported in MODEVENT-19

Modified: freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c	(original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c	Tue Mar 18 10:44:01 2008
@@ -40,6 +40,7 @@
 
 static char		cf[] = "mod_radius_cdr.conf";
 static char		my_dictionary[PATH_MAX];
+static char		my_seqfile[PATH_MAX];
 static char *		my_deadtime; /* 0 */
 static char *		my_timeout; /* 5 */
 static char *		my_retries; /* 3 */
@@ -72,9 +73,9 @@
 		return NULL;
 	}
 
-	if (rc_add_config(rad_config, "seqfile", "/var/run/radius.seq", "mod_radius_cdr.c", 0) != 0) {
+	if (rc_add_config(rad_config, "seqfile", my_seqfile, "mod_radius_cdr.c", 0) != 0) {
 		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, 
-					"setting seqfile =  /var/run/radius.seq failed\n");
+					"setting seqfile = %s failed\n", my_seqfile);
 		rc_destroy(rad_config);
 		return NULL;
 	}
@@ -655,6 +656,9 @@
 
 	my_timeout = "5";
 	my_retries = "3";
+	my_deadtime = "0";
+	strncpy(my_seqfile, "/var/run/radius.seq", PATH_MAX-1);
+	strncpy(my_dictionary, "/usr/local/freeswitch/conf/radius/dictionary", PATH_MAX-1);
 
 	for( int i = 0; i < SERVER_MAX; i++ ) {
 		my_servers[i][0] = '\0';
@@ -667,10 +671,10 @@
 
         if ((settings = switch_xml_child(cfg, "settings"))) {
                 for (param = switch_xml_child(settings, "param"); param; param = param->next) {
-                        char *var = (char *) switch_xml_attr_soft(param, "name");
-                        char *val = (char *) switch_xml_attr_soft(param, "value");
+			char *var = (char *) switch_xml_attr_soft(param, "name");
+			char *val = (char *) switch_xml_attr_soft(param, "value");
 
-                        if (!strcmp(var, "acctserver")) {
+			if (!strcmp(var, "acctserver")) {
 				if (num_servers < SERVER_MAX) {
 					strncpy(my_servers[num_servers],val,255-1);
 					num_servers++;
@@ -679,15 +683,21 @@
 						"you can only specify %d radius servers, ignoring excess server entry\n", SERVER_MAX);
 				}
 			}
-                        else if (!strcmp(var, "dictionary")) {
+			else if (!strcmp(var, "dictionary")) {
 				strncpy(my_dictionary,val,PATH_MAX-1);
 			}
+			else if (!strcmp(var, "seqfile")) {
+				strncpy(my_seqfile,val,PATH_MAX-1);
+			}
 			else if (!strcmp(var, "radius_timeout")) {
 				my_timeout = strdup(val);
 			}
 			else if (!strcmp(var, "radius_retries")) {
 				my_retries = strdup(val);
 			}
+			else if (!strcmp(var, "radius_deadtime")) {
+				my_deadtime = strdup(val);
+			}
 		}
 	}
 

Modified: freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.conf.xml
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.conf.xml	(original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.conf.xml	Tue Mar 18 10:44:01 2008
@@ -1,12 +1,21 @@
 <configuration name="mod_radius_cdr.conf" description="RADIUS CDR Configuration">
 	<settings>
-		<!-- location of the radius dictionary files -->
+		<!-- location of the radius dictionary file -->
 		<param name="dictionary" value="/usr/local/freeswitch/conf/radius/dictionary"/>
+		<!-- location of the radius sequence file -->
+		<param name="dictionary" value="/var/run/radius.seq"/>
+
+		<!-- accounting servers, up to 8 allowed -->
+		<!-- value is "host:port:secret", port is optional -->
+		<!-- use IP ADDRESSES, not hostnames -->
+		<param name="acctserver" value="127.0.0.1:1813:testing123"/>
+		<param name="acctserver" value="10.0.0.254:1813:testing123"/>
+		<param name="acctserver" value="192.168.10.10:1813:testing123"/>
+
 		<!-- 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"/>
-
 		<!-- The length of time in seconds that we skip a nonresponsive RADIUS
 			 server for transaction requests. Server(s) being in the "dead" state
 			 are tried only after all other non-dead servers have been tried and
@@ -17,13 +26,6 @@
 			 such interval and so on. This option is no-op if there is only one
 			 server in the list. Set to 0 in order to disable the feature. -->
 		<param name="radius_deadtime" value="0"/>
-
-		<!-- accounting servers, up to 8 allowed -->
-		<!-- value is "host:port:secret", port is optional -->
-		<!-- use IP ADDRESSES, not hostnames -->
-		<param name="acctserver" value="127.0.0.1:1813:testing123"/>
-		<param name="acctserver" value="10.0.0.254:1813:testing123"/>
-		<param name="acctserver" value="192.168.10.10:1813:testing123"/>
 	</settings>
 </configuration>
 



More information about the Freeswitch-svn mailing list