From a4f9c79fc88fd0ad9fec79d1bad5e9ba1cc97531 Mon Sep 17 00:00:00 2001 From: Mike Jerris Date: Fri, 27 Jan 2017 17:02:01 -0600 Subject: [PATCH] FS-9975: [mod_sofia] add contact params to request uri of outbound recovery reinvite for originally inbound calls --- src/mod/endpoints/mod_sofia/sofia_glue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index 5afaa7d586..e4e872b9fe 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -1928,7 +1928,9 @@ int sofia_recover_callback(switch_core_session_t *session) switch_channel_set_variable(channel, "sip_handle_full_from", switch_channel_get_variable(channel, break_rfc ? "sip_full_to" : "sip_full_from")); switch_channel_set_variable(channel, "sip_handle_full_to", switch_channel_get_variable(channel, break_rfc ? "sip_full_from" : "sip_full_to")); } else { - tech_pvt->redirected = switch_core_session_sprintf(session, "sip:%s", switch_channel_get_variable(channel, "sip_contact_uri")); + const char *contact_params = switch_channel_get_variable(channel, "sip_contact_params"); + const char *contact_uri = switch_channel_get_variable(channel, "sip_contact_uri"); + tech_pvt->redirected = switch_core_session_sprintf(session, "sip:%s%s%s", contact_uri, contact_params ? ";" : "", switch_str_nil(contact_params)); if (zstr(rr)) { switch_channel_set_variable_printf(channel, "sip_invite_route_uri", "",