]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MODAPP-213 - lcr_carrier/rate vars on a and b legs
authorRupa Schomaker <rupa@rupa.com>
Thu, 12 Feb 2009 23:52:03 +0000 (23:52 +0000)
committerRupa Schomaker <rupa@rupa.com>
Thu, 12 Feb 2009 23:52:03 +0000 (23:52 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11976 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_lcr/mod_lcr.c

index 44e700f1b7b1a224e6a19121efa50612a75f39a1..8b7df8ec5157b1ce8898673272110744f87211e1 100644 (file)
@@ -161,7 +161,9 @@ static char *get_bridge_data(switch_memory_pool_t *pool, const char *dialed_numb
                destination_number += lstrip;
        }
        
-       data = switch_core_sprintf(pool, "%s%s%s%s%s", cur_route->gw_prefix, cur_route->prefix
+       data = switch_core_sprintf(pool, "[lcr_carrier=%s,lcr_rate=%s]%s%s%s%s%s"
+                                                               , cur_route->carrier_name, cur_route->rate_str
+                                                               , cur_route->gw_prefix, cur_route->prefix
                                                                , destination_number, cur_route->suffix, cur_route->gw_suffix);
                        
        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Returning Dialstring %s\n", data);
@@ -706,6 +708,7 @@ SWITCH_STANDARD_DIALPLAN(lcr_dialplan_hunt)
 
                switch_channel_set_variable(channel, SWITCH_CONTINUE_ON_FAILURE_VARIABLE, "true");
                switch_channel_set_variable(channel, SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE, "true");
+               switch_channel_set_variable(channel, "import", "lcr_carrier,lcr_rate");
 
                for (cur_route = routes.head; cur_route; cur_route = cur_route->next) {
                        switch_caller_extension_add_application(session, extension, "bridge", cur_route->dialstring);
@@ -787,6 +790,7 @@ SWITCH_STANDARD_APP(lcr_app_function)
                        switch_channel_set_variable(channel, "lcr_route_count", vbuf);
                        *(rbuf + strlen(rbuf) - 1) = '\0';
                        switch_channel_set_variable(channel, "lcr_auto_route", rbuf);
+                       switch_channel_set_variable(channel, "import", "lcr_carrier,lcr_rate");
                } else {
                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "LCR lookup failed for %s\n", dest);
                }