]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9975: [mod_sofia] add contact params to request uri of outbound recovery reinvite...
authorMike Jerris <mike@jerris.com>
Fri, 27 Jan 2017 23:02:01 +0000 (17:02 -0600)
committerMike Jerris <mike@jerris.com>
Fri, 27 Jan 2017 23:02:01 +0000 (17:02 -0600)
src/mod/endpoints/mod_sofia/sofia_glue.c

index f413618ede41ee947af75c527775973619692202..b1e5e8d97ff56f16f473cb94fd2b96d5c8e7dfb5 100644 (file)
@@ -1929,7 +1929,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", "<sip:%s@%s:%s;transport=%s>",