produce sip_full_via var
This commit is contained in:
parent
eb93c17df2
commit
23dcdbd8d1
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue