chan_sip.c: fix websocket_write_timeout default value
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:08:07 +0000 (08:08 -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 f7fbed7..b4c2602 100644 (file)
@@ -31511,6 +31511,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;