提交 507bc265 authored 作者: Raphael Lechner's avatar Raphael Lechner

FS-8679: [mod_sofia] no missed call if call is anwered by someone else

sofia is sending Call completed elsewhere to the other involved phones if not disabled by the option ignore_completed_elsewhere
上级 99a9537c
...@@ -463,7 +463,7 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session) ...@@ -463,7 +463,7 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session)
switch_snprintf(reason, sizeof(reason), "%s", val); switch_snprintf(reason, sizeof(reason), "%s", val);
} else { } else {
if ((switch_channel_test_flag(channel, CF_INTERCEPT) || cause == SWITCH_CAUSE_PICKED_OFF || cause == SWITCH_CAUSE_LOSE_RACE) if ((switch_channel_test_flag(channel, CF_INTERCEPT) || cause == SWITCH_CAUSE_PICKED_OFF || cause == SWITCH_CAUSE_LOSE_RACE)
&& switch_false(switch_channel_get_variable(channel, "ignore_completed_elsewhere"))) { && !switch_true(switch_channel_get_variable(channel, "ignore_completed_elsewhere"))) {
switch_snprintf(reason, sizeof(reason), "SIP;cause=200;text=\"Call completed elsewhere\""); switch_snprintf(reason, sizeof(reason), "SIP;cause=200;text=\"Call completed elsewhere\"");
} else if (cause > 0 && cause < 128) { } else if (cause > 0 && cause < 128) {
switch_snprintf(reason, sizeof(reason), "Q.850;cause=%d;text=\"%s\"", cause, switch_channel_cause2str(cause)); switch_snprintf(reason, sizeof(reason), "Q.850;cause=%d;text=\"%s\"", cause, switch_channel_cause2str(cause));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论