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: 13.33.0-rc1~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dac20ce461bba8f12b3bb397b2f0c148fd9ff5ea;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 6808ec941d..cc25a43a64 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -29479,6 +29479,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: @@ -33227,6 +33229,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"); } } @@ -33254,6 +33257,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;