Author: anthm Date: Sat Mar 14 09:14:51 2009 New Revision: 12603 Log: fix origination_privacy var Modified: freeswitch/trunk/src/switch_ivr_originate.c Modified: freeswitch/trunk/src/switch_ivr_originate.c ============================================================================== --- freeswitch/trunk/src/switch_ivr_originate.c (original) +++ freeswitch/trunk/src/switch_ivr_originate.c Sat Mar 14 09:14:51 2009 @@ -1305,7 +1305,8 @@ char *vdata; end = NULL; chan_type = peer_names[i]; - + const char *privacy_str = NULL; + while (chan_type && *chan_type && *chan_type == ' ') { chan_type++; } @@ -1432,28 +1433,28 @@ } else { strncpy(tmp, var_begin, strlen(var_begin)); } - + + switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_privacy", tmp); + } + + switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "originate_early_media", oglobals.early_ok ? "true" : "false"); + + if ((privacy_str = switch_event_get_header(var_event, "origination_privacy"))) { new_profile->flags = SWITCH_CPF_NONE; - - if (switch_stristr("screen", tmp)) { + + if (switch_stristr("screen", privacy_str)) { switch_set_flag(new_profile, SWITCH_CPF_SCREEN); } - if (switch_stristr("hide_name", tmp)) { + if (switch_stristr("hide_name", privacy_str)) { switch_set_flag(new_profile, SWITCH_CPF_HIDE_NAME); } - if (switch_stristr("hide_number", tmp)) { + if (switch_stristr("hide_number", privacy_str)) { switch_set_flag(new_profile, SWITCH_CPF_HIDE_NUMBER); } - - new_profile->caller_id_name = switch_core_strdup(new_profile->pool, tmp); - switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "origination_privacy", tmp); } - switch_event_add_header_string(var_event, SWITCH_STACK_BOTTOM, "originate_early_media", oglobals.early_ok ? "true" : "false"); - - if ((reason = switch_core_session_outgoing_channel(oglobals.session, var_event, chan_type, new_profile, &new_session, &pool, myflags)) != SWITCH_CAUSE_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot create outgoing channel of type [%s] cause: [%s]\n",
participants (1)
-
FreeSWITCH SVN