Acta Polytechnica https://doi.org/10.14311/AP.2023.63.0347 Acta Polytechnica 63(5):347–355, 2023 © 2023 The Author(s). Licensed under a CC-BY 4.0 licence Published by the Czech Technical University in Prague IMPROVING QOS IN MOBILE MULTIMEDIA STREAMING WITH SCTP-PQ Alisettar Hüseynlia,∗, Mehmet Şimşekb, M. Ali Akcayola a Gazi University, Faculty of Engineering, Department of Computer Engineering, Maltepe 06750, Ankara, Türkiye b Düzce University, Faculty of Engineering, Department of Computer Engineering, Konuralp Campus 81620, Düzce, Türkiye ∗ corresponding author: alisattar.huseynli@gazi.edu.tr Abstract. The Stream Control Transmission Protocol (SCTP) is often the preferred transport layer protocol in streaming applications. This protocol combines the best aspects of Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), but also offers additional features. SCTP supports multihoming and multi-streaming applications and has a congestion mechanism like TCP. Media streaming consists of different types of frames with different levels of importance. For example, I-frames carry more information than B-frames in Moving Picture Experts Group (MPEG). Usually, MPEG frames are processed using the First-In-First-Out (FIFO) algorithm. In this paper, a four-level priority queue integrated protocol named SCTP Priority Queue (SCTP-PQ) has been developed to reduce jitter and delay in real-time multimedia streaming for mobile devices. As part of the development, priority and retransmitted packets are determined on the sending side and these packets are processed faster by using the priority queue on the receiving side. In this way, the average queue delay of priority packets on the receiving side is reduced by 90 % and the throughput values are increased by an average of 10 times. The developed protocol has been extensively tested and compared with SCTP. The results show that the SCTP-PQ outperforms the standard SCTP in terms of jitter and delay. Keywords: Priority queue, SCTP, delay, jitter, QoS. 1. Introduction Stream Control Transmission Protocol (SCTP) was developed by the Internet Engineering Task Force (IETF) as a reliable transport protocol to transport Signalling System 7 (SS7) messages over the Internet Protocol (IP) networks [1]. With its advanced fea- tures, which are not provided by Transmission Control Protocol (TCP) or User Datagram Protocol (UDP), SCTP is able to support a wider range of applications than signalling transport [2]. Today, many types of mobile services are provided to customers over the Internet. An important part of those services is multimedia services such as IP Televi- sion (IPTV). Typical multimedia services use different layer protocols to ensure the required level of Quality of Service (QoS). When transporting multimedia data over the internet, some problems can occur, such as jitter, packet corruption, connection latency, and zap- ping latency [3]. Many different approaches have been used to improve QoS in multimedia streaming [4]. In the literature, there are many transport protocols for multimedia streaming [1, 5–12]. SCTP is the widely accepted transport protocol for IPTV [13, 14]. Today, SCTP is used in real-time multimedia standardised streaming applications [15–17]. SCTP is a connection-oriented protocol that aims to combine the fast operation of UDP with the re- liability [18, 19], sequencing, and congestion control features of TCP. SCTP is designed to meet the needs of IP applications that require features not offered by TCP or UDP [20]. Like TCP, SCTP is an end- to-end and full duplex protocol [21]. SCTP uses a four-way handshake logic using cookies that remove the SYN to prevent Denial of Service (DoS) attacks on the host [22]. It is a message-oriented protocol, which helps the protocol keep states during operation and react upon events occurring in the network. It provides message packing and fragmentation to allow faster data transmission during initialisations just like TCP. SCTP detects duplicated, corrupted, discarded, or reordered packets [23]. These features are the main requirements in many of the current applications ex- isting in IP networks. SCTP was originally designed to transmit voice packages over the Internet. It offers a number of features that are not offered by TCP and UDP, such as multi-streaming and multihoming [24– 27]. TCP and UDP are not sufficient for this type of application, because higher layer protocols, such as H.248, H.323, and Session Initiation Protocol (SIP), require more complex services [13]. In addition, SCTP is fair to other SCTP connections and friendly with TCP [19]. SCTP provides ordered and reliable packet transmission. However, SCTP does not support prior- ity at the receiver side [19]. As it is known, some data packets presented by the upper network layers have different priorities both within the same application 347 https://doi.org/10.14311/AP.2023.63.0347 https://creativecommons.org/licenses/by/4.0/ https://www.cvut.cz/en A. Hüseynli, M. Şimşek, M. Ali Akcayol Acta Polytechnica (e.g. MPEG format I, B, and P frames) and between different applications (e.g. web browsing traffic vs. Voice over IP traffic). In addition, in real-time appli- cations, retransmitted packets must be delivered to the target early for priority processing. Fast delivery of priority packets to the destination increases QoS and QoE. In this study, four-level Priority Queue integrated SCTP (SCTP-PQ) was proposed to optimise the QoS of real-time multimedia streaming applications for mobile devices. SCTP-PQ supports four-level priority for different types of frames of real-time multimedia streaming clients. SCTP-PQ rearranges packets at the receiver side buffer according to defined priority levels to process higher priority packets earlier. The proposed SCTP-PQ has four priority levels for dif- ferent types of frames. The retransmitted packets have the highest priority, level-0, because retransmit- ted packets should be played immediately. I-frames have level-1 priority because these frames can be pro- cessed independently. P-frames and B-frames have level-2 and level-3 priority, respectively (level-0