Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch

This commit is contained in:
Michael S Collins 2012-02-02 13:10:14 -08:00
commit 435879d613
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);
su_free(nh->nh_home, v);
x++;
}
switch_channel_set_variable(channel, "sip_recover_via", (char *)stream.data); stream.write_function(&stream, x == 0 ? "%s" : ",%s", v);
free(stream.data); su_free(nh->nh_home, v);
x++;
} }
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) {