]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-3620 --resolve
authorMarc Olivier Chouinard <mochouinard@moctel.com>
Mon, 19 Dec 2011 05:27:51 +0000 (00:27 -0500)
committerMarc Olivier Chouinard <mochouinard@moctel.com>
Mon, 19 Dec 2011 05:27:51 +0000 (00:27 -0500)
This look to be the same parsing done in lcr_app_function.  So I would think it an expected behavior and it good to have it at both place.

src/mod/applications/mod_lcr/mod_lcr.c

index 3c5062ed6fcf47e3d8f05590394ef6491aff2b12..d24aa2df1ae5bf64c906f5a31aa55fefbbc97d42 100644 (file)
@@ -1535,7 +1535,14 @@ SWITCH_STANDARD_DIALPLAN(lcr_dialplan_hunt)
 
        switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "LCR Lookup on %s using profile %s\n", caller_profile->destination_number, caller_profile->context);
        routes.lookup_number = caller_profile->destination_number;
-       routes.cid = (char *) caller_profile->caller_id_number;
+
+       if (caller_profile) {
+               routes.cid = (char *) switch_channel_get_variable(channel, "effective_caller_id_number");
+               if (!routes.cid) {
+                       routes.cid = (char *) caller_profile->caller_id_number;
+               }
+       }
+
        if (lcr_do_lookup(&routes) == SWITCH_STATUS_SUCCESS) {
                if ((extension = switch_caller_extension_new(session, caller_profile->destination_number, caller_profile->destination_number)) == 0) {
                        switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_CRIT, "memory error!\n");