]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_mwi: fix unsolicited mwi blocks PJSIP stack 29/3429/2
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 18:58:31 +0000 (13:58 -0500)
commit4d6d3eb26877aa2ac0b6beafa023d557183ec33d
treea06307f585e1fa84413ce44fefbef193176824dc
parent5d74c0ea30da7c8dd0f7e1d8177f701e4801d4d2
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