提交 2b2f9214 authored 作者: Anthony Minessale's avatar Anthony Minessale

caller/callee id flipping for blind xfer

上级 beca1423
......@@ -1406,6 +1406,21 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_transfer(switch_core_session_
new_profile->destination_number = switch_core_strdup(new_profile->pool, extension);
new_profile->rdnis = switch_core_strdup(new_profile->pool, profile->destination_number);
if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
if (profile->callee_id_name) {
switch_channel_set_variable(channel, "pre_transfer_caller_id_name", new_profile->caller_id_name);
new_profile->caller_id_name = switch_core_strdup(new_profile->pool, profile->callee_id_name);
profile->callee_id_name = NULL;
}
if (profile->callee_id_number) {
switch_channel_set_variable(channel, "pre_transfer_caller_id_number", new_profile->caller_id_number);
new_profile->caller_id_number = switch_core_strdup(new_profile->pool, profile->callee_id_number);
profile->callee_id_number = NULL;
}
}
switch_channel_set_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE, NULL);
/* If HANGUP_AFTER_BRIDGE is set to 'true', SWITCH_SIGNAL_BRIDGE_VARIABLE
......
......@@ -100,7 +100,8 @@ static void send_display(switch_core_session_t *session, switch_core_session_t *
caller_channel = switch_core_session_get_channel(session);
caller_profile = switch_channel_get_caller_profile(caller_channel);
if (switch_channel_direction(caller_channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
// if (switch_channel_direction(caller_channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
if (!switch_channel_test_flag(caller_channel, CF_BRIDGE_ORIGINATOR)) {
name = caller_profile->callee_id_name;
number = caller_profile->callee_id_number;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论