]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_mwi: fix unsolicited mwi blocks PJSIP stack 20/3320/12
authorAlexei Gradinari <alex2grad@gmail.com>
Mon, 8 Aug 2016 17:53:32 +0000 (13:53 -0400)
committerAlexei Gradinari <alex2grad@gmail.com>
Mon, 8 Aug 2016 17:53:32 +0000 (13:53 -0400)
commita06a1af0eb17428f5b929e1b6b76854a21a84500
tree811a92589f5d3fc1888976dfe558339aa806ebc7
parentbf2135929230bc805743ff86dba31d52849bfea2
res_pjsip_mwi: fix unsolicited mwi blocks PJSIP stack

The PJSIP taskprocessors could be overflowed on startup
if there are many (thousands) realtime endpoints
configured with unsolicited mwi.
The PJSIP stack could be totally unresponsive for a few minutes
after boot completed.

This patch creates a separate PJSIP serializers pool for mwi
and makes unsolicited mwi use serializers from this pool.
This patch also adds 2 new global options to tune taskprocessor
alert levels: 'mwi_tps_queue_high' and 'mwi_tps_queue_low'.

This patch also adds new global option 'mwi_disable_initial_unsolicited'
to disable sending unsolicited mwi to all endpoints on startup.
If disabled then unsolicited mwi will start processing
on next endpoint's contact update.

ASTERISK-26230 #close

Change-Id: I4c8ecb82c249eb887930980a800c9f87f28f861a
CHANGES
configs/samples/pjsip.conf.sample
contrib/ast-db-manage/config/versions/c7a44a5a0851_pjsip_add_global_mwi_options.py [new file with mode: 0644]
include/asterisk/res_pjsip.h
res/res_pjsip.c
res/res_pjsip/config_global.c
res/res_pjsip_mwi.c