From dac20ce461bba8f12b3bb397b2f0c148fd9ff5ea Mon Sep 17 00:00:00 2001 From: Alexander Traud Date: Wed, 15 Apr 2020 08:20:46 +0200 Subject: [PATCH] chan_sip: DiffServ/ToS not only on UDP but also on TCP and TLS sockets. ASTERISK-27195 Reported by: Joshua Roys Change-Id: I6e72ecb874200dec7a3865c7babaf5ac0d3101de --- channels/chan_sip.c | 4 ++++ 1 file changed, 4 insertions(+) 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; -- 2.47.2