]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_sip: DiffServ/ToS not only on UDP but also on TCP and TLS sockets.
authorAlexander Traud <pabstraud@compuserve.com>
Wed, 15 Apr 2020 06:20:46 +0000 (08:20 +0200)
committerGeorge Joseph <gjoseph@digium.com>
Thu, 16 Apr 2020 15:35:35 +0000 (10:35 -0500)
ASTERISK-27195
Reported by: Joshua Roys

Change-Id: I6e72ecb874200dec7a3865c7babaf5ac0d3101de

channels/chan_sip.c

index 6808ec941dc312ae8eb43ea4b6576fe30f735986..cc25a43a6476153619919c455b38ffe039c97f3d 100644 (file)
@@ -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;