produce sip_full_via var

This commit is contained in:
Anthony Minessale 2012-02-02 15:09:25 -06:00
parent eb93c17df2
commit 23dcdbd8d1
1 changed files with 16 additions and 12 deletions

View File

@ -239,21 +239,25 @@ static void extract_header_vars(sofia_profile_t *profile, sip_t const *sip,
switch_stream_handle_t stream = { 0 }; switch_stream_handle_t stream = { 0 };
int x = 0; int x = 0;
if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) { SWITCH_STANDARD_STREAM(stream);
SWITCH_STANDARD_STREAM(stream);
for(vp = sip->sip_via; vp; vp = vp->v_next) { for(vp = sip->sip_via; vp; vp = vp->v_next) {
char *v = sip_header_as_string(nh->nh_home, (void *) vp); char *v = sip_header_as_string(nh->nh_home, (void *) vp);
stream.write_function(&stream, x == 0 ? "%s" : ",%s", v); stream.write_function(&stream, x == 0 ? "%s" : ",%s", v);
su_free(nh->nh_home, v); su_free(nh->nh_home, v);
x++; x++;
}
switch_channel_set_variable(channel, "sip_recover_via", (char *)stream.data);
free(stream.data);
} }
switch_channel_set_variable(channel, "sip_full_via", (char *)stream.data);
if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
switch_channel_set_variable(channel, "sip_recover_via", (char *)stream.data);
}
free(stream.data);
} }
if (sip->sip_from) { if (sip->sip_from) {