提交 083fb354 authored 作者: Brian West's avatar Brian West 提交者: Mike Jerris

FS-9629: add isfocus to replies, and add is_conference support to pre_answer

上级 2cbe1989
...@@ -1341,6 +1341,14 @@ SWITCH_STANDARD_APP(presence_function) ...@@ -1341,6 +1341,14 @@ SWITCH_STANDARD_APP(presence_function)
SWITCH_STANDARD_APP(pre_answer_function) SWITCH_STANDARD_APP(pre_answer_function)
{ {
switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_t *channel = switch_core_session_get_channel(session);
const char *arg = (char *) data;
if (!zstr(arg)) {
if (switch_stristr("is_conference", arg)) {
switch_channel_set_flag(channel, CF_CONFERENCE);
}
}
switch_channel_pre_answer(channel); switch_channel_pre_answer(channel);
} }
......
...@@ -652,7 +652,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session) ...@@ -652,7 +652,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session)
char *sticky = NULL; char *sticky = NULL;
const char *call_info = switch_channel_get_variable(channel, "presence_call_info_full"); const char *call_info = switch_channel_get_variable(channel, "presence_call_info_full");
if (switch_channel_test_flag(channel, CF_CONFERENCE)) { if (switch_channel_test_flag(channel, CF_CONFERENCE) && !switch_stristr(";isfocus", tech_pvt->reply_contact)) {
tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;isfocus", tech_pvt->reply_contact); tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;isfocus", tech_pvt->reply_contact);
} }
...@@ -1173,6 +1173,10 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi ...@@ -1173,6 +1173,10 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
goto end; goto end;
} }
if (switch_channel_test_flag(channel, CF_CONFERENCE) && !switch_stristr(";isfocus", tech_pvt->reply_contact)) {
tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;isfocus", tech_pvt->reply_contact);
}
/* ones that do not need to lock sofia mutex */ /* ones that do not need to lock sofia mutex */
switch (msg->message_id) { switch (msg->message_id) {
case SWITCH_MESSAGE_INDICATE_KEEPALIVE: case SWITCH_MESSAGE_INDICATE_KEEPALIVE:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论