]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Adding the ability to add a radius param when a channel variable is not set in mod_xm...
authorWilliam King <william.king@quentustech.com>
Fri, 22 Aug 2014 06:17:23 +0000 (23:17 -0700)
committerWilliam King <william.king@quentustech.com>
Fri, 22 Aug 2014 06:17:23 +0000 (23:17 -0700)
src/mod/xml_int/mod_xml_radius/mod_xml_radius.c

index 95b437722cdb6114213eeb0d8f61974dc84685ea..4cfa99d39d24f882912ee492c39eaa5d385cc367 100644 (file)
@@ -362,6 +362,7 @@ switch_status_t mod_xml_radius_add_params(switch_core_session_t *session, switch
                char *variable = (char *) switch_xml_attr(param, "variable");
                char *variable_secondary = (char *) switch_xml_attr(param, "variable_secondary");
                char *val_default = (char *) switch_xml_attr(param, "default");
+               char *skip_if_set = (char *) switch_xml_attr(param, "skip_if_set");
                char *format = (char *) switch_xml_attr(param, "format");
                char *other_leg = (char *) switch_xml_attr(param, "other_leg");
 
@@ -399,6 +400,9 @@ switch_status_t mod_xml_radius_add_params(switch_core_session_t *session, switch
                if ( var ) {
                        if ( session ) {
                                switch_channel_t *channel = switch_core_session_get_channel(session);
+                               if ( skip_if_set && switch_channel_get_variable(channel, skip_if_set) ) {
+                                       goto end_loop;
+                               }
                                
                                /*  Accounting only */
                                if ( strncmp( var, "h323-setup-time", 15) == 0 ) {