Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (15807 => 15808)
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c 2009-12-07 00:46:54 UTC (rev 15807)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c 2009-12-07 03:32:56 UTC (rev 15808)
@@ -389,7 +389,7 @@
switch_channel_cause2str(cause));
}
- if (switch_channel_test_flag(channel, CF_ANSWERED)) {
+ if (switch_channel_test_flag(channel, CF_ANSWERED) || sofia_test_flag(tech_pvt, TFLAG_ANS)) {
if (!tech_pvt->got_bye) {
switch_channel_set_variable(channel, "sip_hangup_disposition", "send_bye");
}
Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (15807 => 15808)
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c 2009-12-07 00:46:54 UTC (rev 15807)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c 2009-12-07 03:32:56 UTC (rev 15808)
@@ -4264,8 +4264,9 @@
}
}
+ sofia_set_flag_locked(tech_pvt, TFLAG_ANS);
+
if (match) {
- sofia_set_flag_locked(tech_pvt, TFLAG_ANS);
if (sofia_glue_tech_choose_port(tech_pvt, 0) == SWITCH_STATUS_SUCCESS) {
if (sofia_glue_activate_rtp(tech_pvt, 0) == SWITCH_STATUS_SUCCESS) {
switch_channel_mark_answered(channel);