]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix from irc
authorAnthony Minessale <anthony.minessale@gmail.com>
Tue, 17 Mar 2009 20:56:28 +0000 (20:56 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Tue, 17 Mar 2009 20:56:28 +0000 (20:56 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12652 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/sofia.c

index c749549d660f06229d76cdad73988687b7136225..4a6fa599bc616aed2a147a2ec117188d58226351 100644 (file)
@@ -2877,6 +2877,9 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
                        
                if (r_sdp) {
                        if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) {
+                               if (switch_channel_test_flag(channel, CF_PROXY_MEDIA) && !switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND)) {
+                                       switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "PROXY MEDIA");
+                               }
                                sofia_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA);
                                switch_channel_mark_pre_answered(channel);
                                sofia_set_flag(tech_pvt, TFLAG_SDP);
@@ -2897,9 +2900,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
                                }
                                goto done;
                        } else {
-                               if (switch_channel_test_flag(channel, CF_PROXY_MEDIA) && !switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND)) {
-                                       switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "PROXY MEDIA");
-                               } else if (sofia_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) && !switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND)) {
+                               if (sofia_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) && !switch_channel_test_flag(tech_pvt->channel, CF_OUTBOUND)) {
                                        switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "DELAYED NEGOTIATION");
                                } else {
                                        if (sofia_glue_tech_media(tech_pvt, (char *) r_sdp) != SWITCH_STATUS_SUCCESS) {