<!-- <param name="bitpacking" value="aal2"/> -->
<!--max number of open dialogs in proceeding -->
<!--<param name="max-proceeding" value="1000"/>-->
+ <!--max number of receiving requests per second (Default: 1000, 0 - unlimited) -->
+ <!--<param name="max-recv-requests-per-second" value="0"/>-->
<!--session timers for all call to expire after the specified seconds -->
<!--<param name="session-timeout" value="1800"/>-->
<!--<param name="multiple-registrations" value="true"/>-->
<!-- <param name="bitpacking" value="aal2"/> -->
<!--max number of open dialogs in proceeding -->
<!--<param name="max-proceeding" value="1000"/>-->
+ <!--max number of receiving requests per second (Default: 1000, 0 - unlimited) -->
+ <!--<param name="max-recv-requests-per-second" value="0"/> -->
<!--session timers for all call to expire after the specified seconds -->
<!--<param name="session-timeout" value="1800"/>-->
<!-- Can be 'true' or 'contact' -->
<!-- <param name="bitpacking" value="aal2"/> -->
<!-- max number of open dialogs in proceeding -->
<!-- <param name="max-proceeding" value="1000"/> -->
+ <!-- max number of receiving requests per second (Default: 1000, 0 - unlimited) -->
+ <!-- <param name="max-recv-requests-per-second" value="0"/> -->
<!-- session timers for all call to expire after the specified seconds -->
<!-- <param name="session-timeout" value="1800"/> -->
<!-- Can be 'true' or 'contact' -->
stream->write_function(stream, "CNG \t%d\n", profile->cng_pt);
stream->write_function(stream, "SESSION-TO \t%d\n", profile->session_timeout);
stream->write_function(stream, "MAX-DIALOG \t%d\n", profile->max_proceeding);
+ stream->write_function(stream, "MAX-RECV-RPS \t%d\n", profile->max_recv_requests_per_second);
stream->write_function(stream, "NOMEDIA \t%s\n", sofia_test_flag(profile, TFLAG_INB_NOMEDIA) ? "true" : "false");
stream->write_function(stream, "LATE-NEG \t%s\n", sofia_test_flag(profile, TFLAG_LATE_NEGOTIATION) ? "true" : "false");
stream->write_function(stream, "PROXY-MEDIA \t%s\n", sofia_test_flag(profile, TFLAG_PROXY_MEDIA) ? "true" : "false");
stream->write_function(stream, " <cng>%d</cng>\n", profile->cng_pt);
stream->write_function(stream, " <session-to>%d</session-to>\n", profile->session_timeout);
stream->write_function(stream, " <max-dialog>%d</max-dialog>\n", profile->max_proceeding);
+ stream->write_function(stream, " <max-recv-rps>%d</max-recv-rps>\n", profile->max_recv_requests_per_second);
stream->write_function(stream, " <nomedia>%s</nomedia>\n", sofia_test_flag(profile, TFLAG_INB_NOMEDIA) ? "true" : "false");
stream->write_function(stream, " <late-neg>%s</late-neg>\n", sofia_test_flag(profile, TFLAG_LATE_NEGOTIATION) ? "true" : "false");
stream->write_function(stream, " <proxy-media>%s</proxy-media>\n", sofia_test_flag(profile, TFLAG_PROXY_MEDIA) ? "true" : "false");
uint32_t session_timeout;
uint32_t minimum_session_expires;
uint32_t max_proceeding;
+ uint32_t max_recv_requests_per_second;
uint32_t rtp_timeout_sec;
uint32_t rtp_hold_timeout_sec;
char *odbc_dsn;
TAG_IF(profile->session_timeout && profile->minimum_session_expires, NUTAG_MIN_SE(profile->minimum_session_expires)),
NUTAG_SESSION_TIMER(profile->session_timeout),
NTATAG_MAX_PROCEEDING(profile->max_proceeding),
+ NTATAG_MAX_RECV_REQUESTS_PER_SECOND(profile->max_recv_requests_per_second),
TAG_IF(profile->pres_type, NUTAG_ALLOW("PUBLISH")),
TAG_IF(profile->pres_type, NUTAG_ALLOW("SUBSCRIBE")),
TAG_IF(profile->pres_type, NUTAG_ENABLEMESSAGE(1)),
char *auth_subscriptions_value = NULL;
uint8_t disable_message_auth_flag = 0;
uint8_t disable_subscription_auth_flag = 0;
+ uint8_t max_recv_requests_per_second_initialized = 0;
if (!xprofilename) {
xprofilename = "unnamed";
if (v_max_proceeding >= 0) {
profile->max_proceeding = v_max_proceeding;
}
+ } else if (!strcasecmp(var, "max-recv-requests-per-second") && !zstr(val)) {
+ int v_max_recv_requests_per_second = atoi(val);
+ if (v_max_recv_requests_per_second >= 0) {
+ profile->max_recv_requests_per_second = v_max_recv_requests_per_second;
+ max_recv_requests_per_second_initialized = 1;
+ }
} else if (!strcasecmp(var, "rtp-timeout-sec") && !zstr(val)) {
int v = atoi(val);
if (v >= 0) {
}
}
+ if (!max_recv_requests_per_second_initialized) {
+ profile->max_recv_requests_per_second = 1000;
+ }
+
if (!disable_message_auth_flag) {
if (!auth_messages_value || switch_true(auth_messages_value)) {
sofia_set_pflag(profile, PFLAG_AUTH_MESSAGES);