提交 83ecf84e authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-4779 FS-6467 the behaviour from 4479 is now masked behind the param…

FS-4779 FS-6467 the behaviour from 4479 is now masked behind the param 3pcc-reinvite-bridged-on-ack FS-6467 please test master
上级 28babdea
...@@ -229,6 +229,7 @@ typedef enum { ...@@ -229,6 +229,7 @@ typedef enum {
PFLAG_STUN_ENABLED, PFLAG_STUN_ENABLED,
PFLAG_STUN_AUTO_DISABLE, PFLAG_STUN_AUTO_DISABLE,
PFLAG_3PCC_PROXY, PFLAG_3PCC_PROXY,
PFLAG_3PCC_REINVITE_BRIDGED_ON_ACK,
PFLAG_CALLID_AS_UUID, PFLAG_CALLID_AS_UUID,
PFLAG_UUID_AS_CALLID, PFLAG_UUID_AS_CALLID,
PFLAG_SCROOGE, PFLAG_SCROOGE,
......
...@@ -4418,6 +4418,12 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name) ...@@ -4418,6 +4418,12 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
if (switch_true(val)) { if (switch_true(val)) {
sofia_set_pflag(profile, PFLAG_BLIND_REG); sofia_set_pflag(profile, PFLAG_BLIND_REG);
} }
} else if (!strcasecmp(var, "3pcc-reinvite-bridged-on-ack")) {
if (switch_true(val)) {
sofia_set_pflag(profile, PFLAG_3PCC_REINVITE_BRIDGED_ON_ACK);
} else {
sofia_clear_pflag(profile, PFLAG_3PCC_REINVITE_BRIDGED_ON_ACK);
}
} else if (!strcasecmp(var, "enable-3pcc")) { } else if (!strcasecmp(var, "enable-3pcc")) {
if (switch_true(val)) { if (switch_true(val)) {
sofia_set_pflag(profile, PFLAG_3PCC); sofia_set_pflag(profile, PFLAG_3PCC);
...@@ -6493,11 +6499,14 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, ...@@ -6493,11 +6499,14 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
} else { } else {
switch_core_session_message_t *msg; switch_core_session_message_t *msg;
msg = switch_core_session_alloc(other_session, sizeof(*msg)); if (sofia_test_pflag(profile, PFLAG_3PCC_REINVITE_BRIDGED_ON_ACK)) {
msg->message_id = SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT; msg = switch_core_session_alloc(other_session, sizeof(*msg));
msg->from = __FILE__; msg->message_id = SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT;
msg->string_arg = switch_core_session_strdup(other_session, r_sdp); msg->from = __FILE__;
switch_core_session_queue_message(other_session, msg); msg->string_arg = switch_core_session_strdup(other_session, r_sdp);
switch_core_session_queue_message(other_session, msg);
}
switch_core_session_queue_indication(other_session, SWITCH_MESSAGE_INDICATE_ANSWER); switch_core_session_queue_indication(other_session, SWITCH_MESSAGE_INDICATE_ANSWER);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论