]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_sip.c: fix websocket_write_timeout default value 69/1869/1
authorDade Brandon <dade@xencall.com>
Fri, 25 Dec 2015 15:56:44 +0000 (07:56 -0800)
committerDade Brandon <dade@xencall.com>
Fri, 25 Dec 2015 16:07:14 +0000 (08:07 -0800)
websocket_write_timeout was not being set to its default value
during sip config reload, which meant that prior to this commit,
1) the default value of 100 was not used, unless an invalid value
(or 1) was specified in sip.conf for websocket_write_timeout, and
2) if the websocket_write_timeout directive was removed from sip.conf
without a full restart of asterisk, then the previous value would
continue to be used indefinitely.

This essentially lead to a 0ms write timeout (the first write attempt
in ast_careful_fwrite must have succeeded) in websocket write requests
from chan_sip, unless websocket_write_timeout was explicitely set in sip.conf.

Changes to websocket_write_timeout still only apply to new websocket
sessions, after the sip reload -- timeouts on existing sessions are
not adjusted during sip reload.

Change-Id: Ibed3816ed29cc354af6564c5ab3e75eab72cb953

channels/chan_sip.c

index 500aeb7854a28a68ec4d2699ca075ca9813a9f6a..c2df516e29d052b9c6c2c5265deb7a3a65aeb953 100644 (file)
@@ -31465,6 +31465,7 @@ static int reload_config(enum channelreloadreason reason)
        global_dynamic_exclude_static = 0;      /* Exclude static peers */
        sip_cfg.tcp_enabled = FALSE;
        sip_cfg.websocket_enabled = TRUE;
+       sip_cfg.websocket_write_timeout = AST_DEFAULT_WEBSOCKET_WRITE_TIMEOUT;
 
        /* Session-Timers */
        global_st_mode = SESSION_TIMER_MODE_ACCEPT;