From: Alexander Traud Date: Wed, 15 Apr 2020 06:20:46 +0000 (+0200) Subject: chan_sip: DiffServ/ToS not only on UDP but also on TCP and TLS sockets. X-Git-Tag: 16.10.0-rc1~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=338990d9730dfeac21cf0ada2b47851f6e65092c;p=thirdparty%2Fasterisk.git chan_sip: DiffServ/ToS not only on UDP but also on TCP and TLS sockets. ASTERISK-27195 Reported by: Joshua Roys Change-Id: I6e72ecb874200dec7a3865c7babaf5ac0d3101de --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index e4e077b6cb..2b7929f4a9 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -29700,6 +29700,8 @@ static int sip_prepare_socket(struct sip_pvt *p) goto create_tcptls_session_fail; } + ast_set_qos(s->fd, global_tos_sip, global_cos_sip, "SIP"); + return s->fd; create_tcptls_session_fail: @@ -33514,6 +33516,7 @@ static int reload_config(enum channelreloadreason reason) if (setsockopt(sip_tcp_desc.accept_fd, SOL_SOCKET, SO_KEEPALIVE, &flags, sizeof(flags))) { ast_log(LOG_ERROR, "Error enabling TCP keep-alive on sip socket: %s\n", strerror(errno)); } + ast_set_qos(sip_tcp_desc.accept_fd, global_tos_sip, global_cos_sip, "SIP"); } } @@ -33541,6 +33544,7 @@ static int reload_config(enum channelreloadreason reason) ast_log(LOG_ERROR, "Error enabling TCP keep-alive on sip socket: %s\n", strerror(errno)); sip_tls_desc.tls_cfg = NULL; } + ast_set_qos(sip_tls_desc.accept_fd, global_tos_sip, global_cos_sip, "SIP"); } } else if (sip_tls_desc.tls_cfg->enabled) { sip_tls_desc.tls_cfg = NULL;