From c4a5042c9265284bea378b6983a32ea3aa907076 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 7 Mar 2014 23:46:26 +0500 Subject: [PATCH] don't refuse invites on established sessions due to session limits Conflicts: src/mod/endpoints/mod_sofia/sofia.c --- src/mod/endpoints/mod_sofia/sofia.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 77b93110e0..e0ddb82cb3 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -1818,22 +1818,26 @@ void sofia_event_callback(nua_event_t event, case nua_i_options: case nua_i_notify: case nua_i_info: - - if (sess_count >= sess_max || !sofia_test_pflag(profile, PFLAG_RUNNING) || !switch_core_ready_inbound()) { - nua_respond(nh, 503, "Maximum Calls In Progress", SIPTAG_RETRY_AFTER_STR("300"), NUTAG_WITH_THIS(nua), TAG_END()); - goto end; - } + + if (!sofia_private) { + + if (sess_count >= sess_max || !sofia_test_pflag(profile, PFLAG_RUNNING) || !switch_core_ready_inbound()) { + nua_respond(nh, 503, "Maximum Calls In Progress", SIPTAG_RETRY_AFTER_STR("300"), NUTAG_WITH_THIS(nua), TAG_END()); + goto end; + } - if (switch_queue_size(mod_sofia_globals.msg_queue) > critical) { - nua_respond(nh, 503, "System Busy", SIPTAG_RETRY_AFTER_STR("300"), NUTAG_WITH_THIS(nua), TAG_END()); - goto end; - } + if (switch_queue_size(mod_sofia_globals.msg_queue) > critical) { + nua_respond(nh, 503, "System Busy", SIPTAG_RETRY_AFTER_STR("300"), NUTAG_WITH_THIS(nua), TAG_END()); + goto end; + } - if (sofia_test_pflag(profile, PFLAG_STANDBY)) { - nua_respond(nh, 503, "System Paused", NUTAG_WITH_THIS(nua), TAG_END()); - goto end; + if (sofia_test_pflag(profile, PFLAG_STANDBY)) { + nua_respond(nh, 503, "System Paused", NUTAG_WITH_THIS(nua), TAG_END()); + goto end; + } } + break; default: