提交 1bf80f05 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-3686 sigh

上级 04469bb5
...@@ -196,13 +196,34 @@ static void extract_header_vars(sofia_profile_t *profile, sip_t const *sip, ...@@ -196,13 +196,34 @@ static void extract_header_vars(sofia_profile_t *profile, sip_t const *sip,
SWITCH_STANDARD_STREAM(stream); SWITCH_STANDARD_STREAM(stream);
for(rrp = sip->sip_record_route; rrp; rrp = rrp->r_next) { if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
char *rr = sip_header_as_string(nh->nh_home, (void *) rrp); char *tmp[128] = { 0 };
int y = 0;
stream.write_function(&stream, x == 0 ? "%s" : ",%s", rr); for(rrp = sip->sip_record_route; rrp; rrp = rrp->r_next) {
su_free(nh->nh_home, rr); char *rr = sip_header_as_string(nh->nh_home, (void *) rrp);
tmp[y++] = rr;
if (y == 127) break;
}
x++; y--;
while(y >= 0) {
stream.write_function(&stream, x == 0 ? "%s" : ",%s", tmp[y]);
su_free(nh->nh_home, tmp[y]);
y--;
x++;
}
} else {
for(rrp = sip->sip_record_route; rrp; rrp = rrp->r_next) {
char *rr = sip_header_as_string(nh->nh_home, (void *) rrp);
stream.write_function(&stream, x == 0 ? "%s" : ",%s", rr);
su_free(nh->nh_home, rr);
x++;
}
} }
switch_channel_set_variable(channel, "sip_invite_record_route", (char *)stream.data); switch_channel_set_variable(channel, "sip_invite_record_route", (char *)stream.data);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论