提交 714195b8 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-3487 gonna guess, try this...

上级 308f44af
...@@ -952,9 +952,8 @@ static void our_sofia_event_callback(nua_event_t event, ...@@ -952,9 +952,8 @@ static void our_sofia_event_callback(nua_event_t event,
} }
} }
case nua_r_ack: case nua_r_ack:
if (channel) { if (channel)
switch_channel_set_flag(channel, CF_MEDIA_ACK); switch_channel_set_flag(channel, CF_MEDIA_ACK);
}
break; break;
case nua_r_shutdown: case nua_r_shutdown:
if (status >= 200) { if (status >= 200) {
...@@ -4969,12 +4968,6 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status ...@@ -4969,12 +4968,6 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status
sofia_clear_flag(tech_pvt, TFLAG_RECOVERING); sofia_clear_flag(tech_pvt, TFLAG_RECOVERING);
} }
if ((status == 180 || status == 183) && switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
const char *val;
if ((val = switch_channel_get_variable(channel, "sip_auto_answer")) && switch_true(val)) {
nua_notify(nh, NUTAG_NEWSUB(1), NUTAG_SUBSTATE(nua_substate_active), SIPTAG_EVENT_STR("talk"), TAG_END());
}
}
} }
end: end:
...@@ -5165,6 +5158,14 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, ...@@ -5165,6 +5158,14 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
status = 183; status = 183;
} }
if (channel && (status == 180 || status == 183) && switch_channel_direction(channel) == SWITCH_CALL_DIRECTION_OUTBOUND) {
const char *val;
if ((val = switch_channel_get_variable(channel, "sip_auto_answer")) && switch_true(val)) {
nua_notify(nh, NUTAG_NEWSUB(1), NUTAG_SUBSTATE(nua_substate_active), SIPTAG_EVENT_STR("talk"), TAG_END());
}
}
state_process: state_process:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论