}
}
- if (sip->sip_contact) {
- char *c = sip_header_as_string(nh->nh_home, (void *) sip->sip_contact);
- switch_channel_set_variable(channel, "sip_recover_contact", c);
- su_free(nh->nh_home, c);
+ if (switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
+ if (sip->sip_contact) {
+ char *c = sip_header_as_string(nh->nh_home, (void *) sip->sip_contact);
+ switch_channel_set_variable(channel, "sip_recover_contact", c);
+ su_free(nh->nh_home, c);
+ }
}
if (sip->sip_record_route) {