From f8d0521b6585653c088d6066c8420f6960b0ce6d Mon Sep 17 00:00:00 2001 From: Mathieu Rene Date: Tue, 3 Feb 2009 03:46:53 +0000 Subject: [PATCH] write different channel variables per realm_id git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11608 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/applications/mod_limit/mod_limit.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/mod/applications/mod_limit/mod_limit.c b/src/mod/applications/mod_limit/mod_limit.c index 7de21dc0d2..497293f7dc 100644 --- a/src/mod/applications/mod_limit/mod_limit.c +++ b/src/mod/applications/mod_limit/mod_limit.c @@ -938,9 +938,17 @@ SWITCH_STANDARD_APP(limit_hash_function) } /* Save current usage & rate into channel variables so it can be used later in the dialplan, or added to CDR records */ - switch_channel_set_variable(channel, "limit_usage", switch_core_session_sprintf(session, "%d", item->total_usage)); - switch_channel_set_variable(channel, "limit_rate", switch_core_session_sprintf(session, "%d", item->rate_usage)); - + { + const char *susage = switch_core_session_sprintf(session, "%d", item->total_usage); + const char *srate = switch_core_session_sprintf(session, "%d", item->rate_usage); + + switch_channel_set_variable(channel, "limit_usage", susage); + switch_channel_set_variable(channel, switch_core_session_sprintf(session, "limit_usage_%s", hashkey), susage); + + switch_channel_set_variable(channel, "limit_rate", srate); + switch_channel_set_variable(channel, switch_core_session_sprintf(session, "limit_rate_%s", hashkey), srate); + } + if (!pvt->have_state_handler) { switch_core_event_hook_add_state_change(session, hash_state_handler); pvt->have_state_handler = 1;