提交 3505cb47 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-3929 --resolve

上级 8e47f3c6
...@@ -1733,6 +1733,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_transfer_variable(switch_core_session ...@@ -1733,6 +1733,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_transfer_variable(switch_core_session
{ {
switch_channel_t *chana = switch_core_session_get_channel(sessa); switch_channel_t *chana = switch_core_session_get_channel(sessa);
switch_channel_t *chanb = switch_core_session_get_channel(sessb); switch_channel_t *chanb = switch_core_session_get_channel(sessb);
switch_event_t *var_event;
const char *val = NULL; const char *val = NULL;
uint8_t prefix = 0; uint8_t prefix = 0;
...@@ -1747,16 +1749,18 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_transfer_variable(switch_core_session ...@@ -1747,16 +1749,18 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_transfer_variable(switch_core_session
} }
} else { } else {
switch_event_header_t *hi; switch_event_header_t *hi;
if ((hi = switch_channel_variable_first(chana))) {
for (; hi; hi = hi->next) { switch_channel_get_variables(chana, &var_event);
char *vvar = hi->name;
char *vval = hi->value; for (hi = var_event->headers; hi; hi = hi->next) {
if (vvar && vval && (!prefix || (var && !strncmp((char *) vvar, var, strlen(var))))) { char *vvar = hi->name;
switch_channel_set_variable(chanb, (char *) vvar, (char *) vval); char *vval = hi->value;
} if (vvar && vval && (!prefix || (var && !strncmp((char *) vvar, var, strlen(var))))) {
switch_channel_set_variable(chanb, (char *) vvar, (char *) vval);
} }
switch_channel_variable_last(chana);
} }
switch_event_destroy(&var_event);
} }
return SWITCH_STATUS_SUCCESS; return SWITCH_STATUS_SUCCESS;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论