Unified call admission control in corporate domains

Unified call admission control in corporate domains

Journal Pre-proof Unified call admission control in corporate domains Vicente Mayor, Rafael Estepa, Antonio Estepa, Germán Madinabeitia PII: DOI: Ref...

1MB Sizes 0 Downloads 47 Views

Journal Pre-proof Unified call admission control in corporate domains Vicente Mayor, Rafael Estepa, Antonio Estepa, Germán Madinabeitia

PII: DOI: Reference:

S0140-3664(19)30120-3 https://doi.org/10.1016/j.comcom.2019.11.041 COMCOM 6043

To appear in:

Computer Communications

Received date : 8 February 2019 Revised date : 5 November 2019 Accepted date : 24 November 2019 Please cite this article as: V. Mayor, R. Estepa, A. Estepa et al., Unified call admission control in corporate domains, Computer Communications (2019), doi: https://doi.org/10.1016/j.comcom.2019.11.041. This is a PDF file of an article that has undergone enhancements after acceptance, such as the addition of a cover page and metadata, and formatting for readability, but it is not yet the definitive version of record. This version will undergo additional copyediting, typesetting and review before it is published in its final form, but we are providing this version to give early visibility of the article. Please note that, during the production process, errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain. © 2019 Published by Elsevier B.V.

Journal Pre-proof

Unified Call Admission Control in corporate domains Vicente Mayor∗, Rafael Estepa, Antonio Estepa, Germ´ an Madinabeitia

of

Department of Telematics Engineering, Universidad de Sevilla, C/ Camino de los Descubrimientos s/n, 41092 Sevilla (Spain)

Abstract

re-

pro

Call Admission Control is a central mechanism for assurance of quality of service in telephony. While CAC is integrated into Public Switched Telephony Network (PSTN), its application to voice over IP in a corporate environment is challenging not only due to the heterogeneity of technologies, but also because of the difficulty of implementation into commercial VoIP terminals or Access Points. We present a novel framework that unifies call admission control for VoIP telephony corporate users despite their access network (i.e., WiFi or Ethernet) under a single corporate management domain. Our Unified CAC (U-CAC) system can be implemented in a VoIP Gateway/Proxy and uses only standard protocols already present in commercial off-the-shelf devices, avoiding the need to modify the firmware of existing APs or VoIP terminals. We define two variants of the decision algorithm: basic and advanced. In the basic mode of operation, the admission of new calls is based on the availability of spare circuits and the impact of the new call in the speech quality of VoWiFi calls in progress. In the advanced mode of operation, the traffic load in affected APs is proactively reduced by reconfiguring ongoing calls before rejecting the new call. Simulation results show that the number of simultaneous VoWiFi calls under guaranteed quality increases with our unified call admission control scheme. When using the advanced mode of operation, the number of simultaneous calls under guaranteed quality can be doubled when compared to the standard mode of operation.

1. Introduction

urn al P

Keywords: VoIP, Admission Control, Telephony, IEEE 802.11 2010 MSC: 00-01, 99-00

Jo

Voice over IP (VoIP) has experienced tremendous growth in the last two decades and is now considered a mature technology [1, 2]. In retrospect, we can examine VoIP adoption in three different domains of use: (a) traditional telco operators, (b) domestic users through the free Internet, and (c) corporate use. In general, each context counts with its particular drivers and has adapted VoIP technology to its specific needs. Traditional telco operators started to adopt VoIP within their IP transport networks in the ’90s seeking cost reduction. Standardized protocols such as Sigtran [3] and Megaco [4] enabled interworking with existing infrastructure as well as with other PSTN providers [5]. Operators used control-plane techniques such as dedicated bandwidth and traffic prioritization in their well-provisioned IP transport networks to guarantee a level of Quality of Service (QoS) almost similar to that of PSTN [6] transparently to the telephony subscribers. Following their core networks, telcos extended VoIP to domestic users thanks to a ∗ Corresponding

author Email addresses: [email protected] (Vicente Mayor), [email protected] (Rafael Estepa), [email protected] (Antonio Estepa), [email protected] (Germ´ an Madinabeitia) Preprint submitted to Computer Communications

wider adoption of high-speed broadband Internet and the prevalent SIP signaling protocol [7]. But in an operatorfree context, domestic users can also directly communicate through the Internet by using VoIP software. Unfortunately, the best-effort service of the Internet fails to provide an upper bound for packet latency, loss, or jitter. Therefore, a level of QoS similar to PSTN cannot be guaranteed [8]. Still, partial QoS support can be achieved by using techniques implemented at the end-systems such as loss recovery [9], error concealment techniques [10] or congestion control according to network conditions [11] (e.g., data bit rate reduction through speech compression [12] and/or packet aggregation [13, 14, 15])1 . These techniques come bundled up in modern adaptive multi-rate codecs such as iLBC [18], OPUS [19], or iSAC [20]. Thus, modern VoIP software such as Skype [21] or webRTC [22] monitors end-to-end conditions and dynamically reacts to congestion by using the best codec and mode of operation possible to achieve a compromise between QoS and available bandwidth [1, 23, 24]. The context of this work, however, is in the domain of

1 Besides techniques at the user data-plane, other compatible control-plane techniques are also possible (e.g., packet prioritization within the access network [16]). Dynamic switching of ISPs has also been suggested [17])

November 5, 2019

Journal Pre-proof

corporate use of VoIP. Before VoIP, organizations acquired expensive private automatic branch exchange (PABX) to provide free communication in the corporate domain and, most importantly, to reduce cost by sharing the local loop among corporate users. A Call Admission Control (CAC) function performed by the PABX rejected new calls destined to PSTN when all hired lines were busy [25]. A wider adoption of VoIP in the corporate domain started in the early ’00s seeking cost reduction, a single network infrastructure (Local Area Network - LAN), and novel functions integrated with corporate information systems (e.g., IVR, scheduled routing, call recording, etc.) [2]. New

of

Wired LAN (ethernet)

pro

WLAN (WiFi)

Several VoWiFi admission control algorithms have been suggested over the past years. According to the classification in [31], admission control algorithms can be based on measurements of the network performance, analytical models, or both (i.e., measurement-aided and model-based or hybrid). Measurement-based algorithms watch WLAN performance (which is actively [11, 36] or passively [37] monitored) and decide admission based on the actual network status. On the other hand, model-based algorithms foresee WLAN performance by using analytical models of the IEEE 802.11 MAC sub-layer [38, 39], or teletraffic [40, 41]. The output of the model is used to decide whether to admit or not a new VoIP traffic flow. Other model-based proposals optimize link parameters [38, 42], aggregate frames [39], or control the data rate of lowerpriority data flows [42] to increase the number of admitted calls. In some cases, however, the assumptions made by the authors (e.g., homogeneous physical data bit-rate, homogeneous traffic, or ideal channel) limit the application in real-life environments. Table 1 summarizes the main characteristics of the VoWiFi admission control algorithms found in literature, such as their nature (e.g., model-based and/or measurement-based), applicability to PSTN or cellular networks, or the inclusion of optional enhancements (e.g., link-level aggregation, or application-level aggregation of packets). The last rows of Table 1 show the assumptions made in the analytical models e.g., stations are allowed to have different physical bit-rate, traffic profile, or whether the radio channel is considered to be ideal or not. In Table 1, we also show the need for modification of the standard operation of the elements involved in the VoIP system if the proposal was implemented. Most proposals would require the modification of standard end-point terminals [11, 36] and/or APs [38, 49, 42, 44, 39], which, although feasible in the academic arena, might be unrealistic in commercial off-the-shelf devices such as IP telephone handsets or APs. Indeed, none of the referred works offer sufficient information (if any) about implementation issues. Motivation: extending QoS guarantees to VoWiFi terminals requires the deployment of access control in the WLAN and its integration with corporate VoIP infrastructure. This raises some practical issues insufficiently addressed so far:

PSTN

Proxy/ GW

re-

ISP

urn al P

Figure 1: Example scenario of corporate VoIP infrastructure

Jo

PABXs started supporting SIP Proxy/Gateways (according to [26], more than 50% of PABXs in the world supported VoIP by 2008), and, as illustrated in Figure 1, IPphones connected to the corporate Ethernet gradually replaced digital handsets. Extending QoS assurance to the corporate LAN should be simple with high-speed Ethernet switches and their traffic prioritization capabilities [27]. However, the later adoption of wireless LANs (WLANs) on top of the wired LAN [28], and the subsequent embracement of WiFi handheld devices have introduced new complexities and challenges for QoS assurance in VoIP over WiFi (VoWiFi) [29, 30]. The standard IEEE 802.11e defines mechanisms to support VoWiFi QoS [31], such as priority queuing at the MAC sub-layer [32], which prevents VoIP traffic flows (e.g., VO traffic class) from being affected by other lowerpriority traffic classes. But even with this mechanism, if the VoIP traffic load exceeds the available capacity, the wireless link performance falls steeply affecting VoWiFi users [33, 34]. For this reason, the standard also defines the Access Control Mandatory (ACM) mechanism that sets an upper bound to the number of simultaneous VoIP flows that an AP can handle to prevent saturation conditions and guarantee a predefined performance objective of the current flows [31, 35]. ACM requires the cooperation of VoWiFi stations and the Access Point (AP), which in turn has to run the admission control algorithm. The algorithm, however, is out of the scope of the standard.

2

• Implementing ACM in the APs requires awareness of the traffic characteristics (e.g., SDU size, mean data rate, etc.), which depends on application-level information (e.g., codec used). But the VoIP signaling protocol, SIP, is decoupled and unaware of mac-level aspects. And although some cross-layer proposals have been suggested [36, 40], the specification of the cooperation between the application and the link layers is not clearly defined. Furthermore, implementing ACM in the APs would likely require the modification of the software running at the VoWiFi terminals and/or APs, which is not usually plausible in standard de-

Journal Pre-proof U-CAC X X – – X – – X – X – X X X

[38] X – – X – – – – – – X – – –

[43] X – – – – – X – – – – – – X

[42] X – – X – – – – – – X – X –

[44] X – – X – – – – – – – – X –

[45] X – – – – – X – – – – X X X

[39] X – – X – – – – – – X – – –

[46] X – – – – – X – – – – X X X

[40] X – – – – – X – – – – – X –

Table 1: VoWiFi CAC state of the art

[47] – X – – – X – – – – – X X X

[11] – X X – – – – – – – – X X X

[48] – X – – – X – X X – – X X X

[36] – X X – – – – – – – – X X X

[49] X X X X – – – – – X – – X –

[37] X X X – – – – – – – – X X X

single management domain. Observe that external VoIP service providers (i.e., remote Proxy/Gateway hosted and managed by a third party to which corporations route VoIP packets via a QoS-aware VPN such as illustrated in Figure 1 as ISP) are also a common option these days. The results of this work can easily be extended to this case as long as corporations allow cooperation between both management domains.

pro

vices used in corporate environments.

[41] X – – – – – X – – – – X – –

of

Proposals Model-based Measure-based Endpoints Access Points Mods. GW/Proxy Dedicated element Unspecified PSTN support Cellular support Application-level Opt. Link-level Multi-rate stations Heterogeneus VoIP Channel errors

Nature

re-

• Both admission control functions in our corporate scenario (i.e., APs’ ACM and PSTN’s CAC) should act in a coordinated manner to avoid, for example, resource reservation in vain. Admission control algorithms for heterogeneous environments (e.g., joint WLAN and IP) [50] are scarce, and so far, no proposal jointly includes an admission control scheme for WLAN and PSTN.

2. Scenario of Application and U-CAC framework overview

Contribution: In this paper, we propose an architectural framework that integrates the admission control of WLAN and PSTN in the corporate domain, shedding light on the issues mentioned above. The suggested system is named Unified CAC (U-CAC), and its main characteristics are:

urn al P

The corporate VoIP infrastructure can be viewed in three layers, as illustrated in Figure 2. The elements and assumptions on each layer are:

• The admission control function for both WLAN and PSTN lies in a single entity that can be integrated into the VoIP Proxy/Gateway. There is no need for a dedicated device such as in [48, 47].

codec RTP

codec C

VoIP

• Its implementation does not require changes in existing VoIP terminals or APs as it makes use of standard protocols commonly found in these elements.

A

B

RTP

SIP

Proxy/ GW + U-CAC

D

SNMP

WLAN

• The admission of new calls is based on an estimation of the resulting speech quality of calls in progress if the call was admitted. We use a measurement-aided analytical model of WLAN performance whose input is obtained from SIP messages (application layer) and the APs involved in the new call (MAC and PHY layer).

E

SIP

AP2 AP1

PSTN

AP controller SNMP

Jo

Wired LAN

Figure 2: QoS layers in the corporate management domain

• U-CAC includes two modes of operation. In the basic mode, a binary decision (admission or not) is made for every new call according to its impact on the speech quality of ongoing calls. In the advanced mode, a reconfiguration of current calls (codec and packet size) is considered before rejecting a new call. This configuration is aimed to decrease the traffic traversing the AP and thus reduce the number of rejected calls.

• VoIP layer. It delivers the VoIP service. Elements in this layer are VoIP terminals, either wired or wireless2 , and one Proxy/Gateway, which is in the path of SIP control messages, inter-operates with PSTN, and centralizes VoIP functionality. Corporate VoIP terminals implement a set of known codecs announced in SIP messages (e.g., INVITE, 200 OK) via SDP

The results of this work can be directly applied to corporate scenarios where all elements involved are under a

2 It is assumed that VoWiFi terminals do not handover between APs during conversations

3

Journal Pre-proof • Call Context. This component is aware of SIP messages to/from VoIP terminals (either wired or wireless) and detects new calls based on SIP signaling exchange [59]. When a new call is detected (1), it extracts its source, destination, and associated media (call context). Then it asks (2) the APQuery block to collect PHY-layer information about stations associated with the APs involved in the new call. After obtaining such information (4), it updates (5) the database of calls. Although not explicitly shown in Figure 3, this component also detects those SIP messages that are related to call teardown (1) and updates the calls database accordingly (5).

(Session Description Protocol ) content [7]. The Mean Opinion Score (MOS) [51] will express speech quality in VoIP.

of

• Wireless LAN layer. Elements in this layer are APs and AP controllers, which are assumed to implement the well-established Simple Network Management Protocol (SNMP) management standard [52] and a Management Information Base (MIB) that provides PHY-level (e.g., SNR and data bit-rate) information about associated stations. APs are further assumed to be configured to segregate VoIP traffic3 . In VoWiFi [35], the speech quality is strongly determined by the downlink performance [53] which fortunately is a well-studied subject that counts with analytical models to predict delay and loss experienced by VoIP traffic flows after traversing an AP [54, 55, 56].

pro

• APQuery. This block is responsible for obtaining PHY-layer information of affected stations from the APs involved in a call. Via SNMP GET-type messages, it polls (3) all APs (or queries the AP controller) to find the AP(s) to which the source and destination of the new call are associated. Then, if applicable, it further queries (3) such AP(s) to obtain the Signal to Noise Ratio (SNR) and data bit-rate of their associated stations.

2.1. U-CAC overview

urn al P

re-

• Wired LAN layer. This layer is composed of highspeed Ethernet switches and a WAN router. APs and wired VoIP terminals are attached to switched ports, configured to prioritize and segregate VoIP packets (e.g., based on interfaces or VLAN). Given today’s Ethernet high speed, we can assume that the impact of the switched LAN in the VoIP speech quality is negligible, or else, that can be accounted as a constant in the overall QoS model.

Our unified admission control system is implemented at the Proxy/Gateway. Popular software such as Asterisk [57] or freePBX [58] provides built-in methods for the integration of external custom code. As such, U-CAC can: be aware of / modify / generate SIP messages to/from the elements in the VoIP layer, and use SNMP libraries to communicate with the elements of the wireless layer (APs or AP controller). Figure 3 shows its main building blocks:

U-CAC

• Decision algorithm. Every new call triggers (6) the decision algorithm, which uses a measurement-aided model to predict the VoIP speech quality of calls. The algorithm makes a decision based on the availability of PSTN spare circuits (traditional CAC), and the QoS level that would experience VoWiFi calls in the AP(s) involved in the new call. The admission decision is communicated to the terminals via SIP messages (7).

Appendix B provides a brief guidance about implementation issues.

CAC decision

INVITE

2.2. Basic Operation In this section, we describe the behavior of U-CAC by showing diagrams with the messages exchanged during operation. We study two cases based on the scenario presented in Figure 2: a call from A to E, and a call from A to C. Figure 4a illustrates the first case (from A to E). The Call Context block (1) detects a PSTN destination and waits until Q.931 messages confirm that the call is accepted. Then, the APs involved in the call are found by polling (not shown in Figure 4a for clarity) and AP1 is further queried to obtain PHY-level information about the stations associated (3). This information is returned to the Call Context block, which in turn updates the Calls

(6)

200 OK

Call context (2)

(4)

(5)

Jo

(1) Detect new SIP session establishment

• Calls database. This database keeps information about calls in progress or under attempt. For each call, it stores the source and destination addresses, media used, APs involved, and the SNR and data-bit rate of VoIP active terminals associated with these APs (if any). The decision algorithm uses this information later on.

APQuery

(7) Accept or reject call (SIP)

Database

(3) SNMP

APs / AP controller

Figure 3: U-CAC components

3 This can be done via dedicated APs, multiple SSID in the APs, or by VO traffic priorization in APs.

4

Journal Pre-proof

of

database (5). Finally, the decision algorithm is executed (6) and, after call acceptance, SIP messages continue to set up the new call (7). Figure 4b provides another example. In this case, a call between VoWiFi terminals A and C is rejected. The U-CAC context function (1) at the Proxy/Gateway identifies a new call with the 200 OK SIP message sent by the callee in response to the INVITE. After extracting the context information, APs are polled via SNMP and involved APs (i.e., AP1 and AP2) are further queried to find PHY information about their associated stations (3). This information is returned to the context module (4) which in turn updates the Calls database (5). Finally, the decision algorithm is executed (6). In this case, the rejection forces the termination of the call attempt by generating a SIP CANCEL message to one side and a 480 Temporary Unavailable to the other. Although not shown in Figure 4, the Call Context block also detects call teardown messages and update the Calls database accordingly.

2 3

3. U-CAC decision algorithm: basic mode

re-

4

pro

1

Input: APs , APd , Ωs , Ωd , caller, callee, Rmin Output: response (i.e., 200 OK or 480 Temporary unavailable) Initialization: Rs = Rmin , Rd = Rmin , SpareCircuit = True if callee is PSTN and no available circuits then SpareCircuit = False; else if APs 6= NULL then if APd 6= NULL then if APs = APd then Rs = WiFi-QoS (Ωs ∪ caller ∪ callee); else Rs = WiFi-QoS (Ωs ∪ caller); Rd = WiFi-QoS (Ωd ∪ callee); else Rs = WiFi-QoS (Ωs ∪ caller); else if APd 6= NULL then Rd = WiFi-QoS (Ωd ∪ callee); if Rs ≥ Rmin and Rd ≥ Rmin and SpareCircuit then /* Accept call */ response = 200 OK; else /* Reject call */ response = 480 Temporary unavailable; return response; Algorithm 1: U-CAC algorithm: basic mode

5

Algorithm 1 shows a pseudocode of the decision algorithm in its basic mode of operation. In the pseudocode, the AP(s) associated with the source and destination of the call (NULL if not associated to an AP) are denoted by APs and APd respectively, and Ωs and Ωd stand for the set of calls in progress handled by the respective AP(s). The algorithm starts by checking the availability of a spare circuit in case the new call was destined to PSTN. Then, it calls the function WiFi-QoS to estimate the speech quality that calls traversing the involved APs would experience if the new call was accepted. If the expected speech quality is acceptable (R ≥ Rmin ), the new call is accepted. If not, it is rejected. The function WiFi-QoS returns an estimation of the speech quality for users sharing a particular AP based on a measurement-aided model of the MAC sub-layer. Next, we describe the internals of this calculus by introducing the speech quality model, the analytical model used to estimate delay and loss in WiFi, and the pseudocode that carries out the computation.

6

7

8

urn al P

9

10

11 12

13 14

15

16

17

18

19

Jo

3.1. Speech quality model There are several methods to carry out quality assessment in VoIP [2], such as opinion polls [60], PSQM [61], PAMS [62], or P.562 PESQ [63]. Methods based on WiFi signal measurement have been also recently proposed [64]. However, when it comes to consider the effect of the network performance in the speech quality in real-time, the E-Model [65] is predominantly used in literature [66, 67]. The E-model [65], combines additive impairment factors to measure the QoS over the R factor, which ranks from 0 (poor) to 100 (excellent) and can be translated to MOS [65]. A minimum value Rmin (typically 60 according to ITU-G 107 [65]) is required to ensure an acceptable

5

Journal Pre-proof

U-CAC AP1 Proxy/GW

Client A (VoWiFi)

Terminal E

U-CAC AP1 Proxy/GW AP2

Client A

(PSTN)

(VoWiFi)

INVITE

180 Ringing 180 Ringing

(1)

PROGRESS

Get

Get

Response

Response

.. .

(2-5)

Response CONNECT ACK 200 OK

(2-5)

CANCEL 200 OK

487 Req. Terminated

(6-7)

480 Temp. Unavailable

pro

ACK

.. .

of

Get

.. .

(1)

200 OK

CONNECT

(6-7)

ACK

ACK

Call established

SIP

INVITE

100 Trying

CALL PROCEEDING 180 Ringing

(VoWiFi)

INVITE

SETUP

100 Trying

Client C

Q.931

SNMP

SIP

(a) Accepting incoming call

SNMP

(b) Rejecting incoming call

re-

Figure 4: U-CAC signaling

quality [68]. In its simplest form [66], the E-model can be expressed as: R = R0 − Id − Ie,eff (1)

urn al P

where:

where H is the Heaviside function (i.e., H(x) = 0 for x < 0 and H(x) = 1 for x > 0).

• R0 is the basic signal to noise ratio and it defines the maximum QoS achievable without impairments.

• Ie,eff is the effective impairment equipment parameter. It combines the impairment equipment parameter at zero packet loss (Ie ) with a function of Ie that is dependent on packet loss rate and packet loss behavior [69]. It can be expressed as: Ie,eff = Ie + (95 − Ie )

L + Bpl

L BurstR

The one-way delay d can be further decomposed as d = nfpp · T + D, where T is the codec’s speech frame generation period in milliseconds (typically 10 ms), nfpp is the number of speech frames encapsulated in a packet (which is announced in SDP messages), and D, which is the network delay. In our corporate domain we assume that the performance of the WiFi network is the dominant factor in D and L.

3.2. Delay and packet loss in the IEEE 802.11 network The Distributed Coordination Function (DCF) of the 802.11 MAC sub-layer uses Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) for medium access control. In summary, each contending station must sense the medium during a fixed period of time (DIFS) in order to check that it is idle before transmission. If the channel is busy, the station waits a random backoff interval before trying again. The backoff process is based on the Binary Exponential algorithm, where time is discretized by defining a time slot duration (Tslot ), and the algorithm chooses a random number of time slots between 0 and 2i Wo , where Wo accounts for the minimum contention window value, and i increases by one up to m times. After a maximum number of retransmissions M is reached, the packet is discarded. The backoff procedure is also triggered between two consecutive transmissions. QoS in VoWiFi has been widely studied in scientific literature [35, 53, 70, 31]. Markov chain based models the mac-sublayer have been largely studied in literature [54, 71, 72, 73, 74, 75] and provide closed-form expressions of the packet loss (L) and delay (D) components

(2)

Jo

where Ie is a codec-dependent constant associated with codec compression degradation4 , L represents the packet loss rate, BurstR accounts for the burst ratio (i.e., equals 1 if packet loss is random and greater otherwise), Bpl represents the codec packet loss robustness, which also has a specific value for each codec (listed in ITU-T Rec. G117 Appendix I).

• Id is related to the delay experienced over the communication chain. A widely accepted approximation for Id can be obtained from the one-way delay in communication path (d) as follows: Id = 0.024d + 0.11 · (d − 177.3) · H(d − 177.3), (3) 4 A list of values from ITU-T codecs were presented in ITU-T Rec. G.113 Appendix I.

6

Journal Pre-proof

in Equation (1). In this paper, we carry out such task based on [72] and [73], considering the following:

Rate due to channel noise. The per-station idle channel probability can be interpreted as the probability that no station except j attempt to transmit:

• Stations can use different data bit-rates.

(j)

• Each station could have a different traffic profile (e.g., different codec and/or nfpp settings).

Pi

k=1, k6=j

re-

where η was defined in (5), p is the probability that a packet suffers transmission errors, r is the probability that at least one packet arrives during an idle state (i.e., an average Markov-state time or E[T ]) and q accounts for the probability that the buffer is not empty during an average MAC service time. Following our non-saturated stations assumption, Poisson packet arrivals (with rate λ) to the transmission queue and assuming the small queue hypothesis discussed in [72, 74]; r and q may be expressed as:

1 − p − (2p)m − 2m pM +1 (1 − 2p)



(j)

p(j) = 1 − Pi (j)





(j)

+ FER(j) − 1 − Pi



· FER(j)

(12)

(7)

L = L(ap)

(13)

(ap)

(14)

D=D

3.3. Solving the WiFi-QoS function Algorithm 2 shows the process carried out to calculate the value of R by solving the equation system developed in Section 3.2. Our WiFi-QoS algorithm first retrieves information from the database about the calls traversing the source and destination APs. Then, it solves the IEEE 802.11 analytical model we previously described following in an iterative manner. Observe that the computational complexity of the WiFi-QoS function increases linearly with the number of stations (S). Consequently, its complexity is upper bounded by O(S).

(8)

Let us tag every station in the network (including the Access Point) as j ∈ {1, . . . , S} and, consequently, relate τ (j) , r(j) , q (j) , E[B (j) ] and λ(j) variables to the j-th station. Moreover, let p(j) be the probability of packet transmission error for station j : 

D(j) = E[B (j) ] E[T ]

(6)

urn al P



Jo

Wo 2(1 − p)

(10)

The input information required to calculate all factors from Equations (11) and (12) can be obtained from the database maintained by the VoIP Proxy/Gateway. Observe that in the AP station (tagged as j = ap), λ(ap) accounts for the sum of the conversations and its packetization interval is the average from calls. Since downlink performance is the dominant factor in the QoS as stated in [53], the performance of the AP will be the only factor considered in the E-model. Then:

where E[T ] represents the expected average slot duration and E[B] accounts for the expected average number of backoff slots until transmission. E[T ] can be deduced by weighting the average time spent on each state (i.e., idle, success, collision or channel error) as proposed in [73], we deduce and provide a expression in Appendix A. E[B] can however, be expressed as in [72]:

E[B] =



pro

Let τ be a variable that represents the probability that a station wants to transmit in a random time slot. In this paper, we use the expression in [72], but swapping r and q meanings to match a more common nomenclature in literature [76, 77, 78].   r 2 Wo 1 1 − qr(1 − p) (4) τ= η 1 − q (1 − p)(1 − (1 − r)Wo

q =1−e

1 − τ (k)

of

• Channel is not ideal and, consequently, may introduce noise errors.

−λE[T ]E[B]



The Frame Error Rate (FER) can be calculated by taking into consideration the packet size and Bit Error Rate (BER) resultant from both, the Modulation and Coding Scheme (MCS) and the Signal-to-Noise Ratio (SNR) of each station, which could be calculated as presented in [79] when using OFDM modulations (i.e., IEEE 802.11a/g/n/ac) and in [80] for DSSS ones (i.e., IEEE 802.11b). After solving the non-linear equation system formed by equations (4) and (9), loss and delay for station j can be expressed as:    QS 1 − FER(j) τ (j) k=1,k6=j 1 − τ (k) (j) (11) L =1− λ(j) E[T ]

• Stations’ transmission buffer could be empty at a given moment (i.e., non-saturated stations).

r = 1 − e−λE[T ]

S Y

=

4. U-CAC decision algorithm: advanced mode The key idea behind the enhanced mode of operation is that before rejecting a new call, the U-CAC proactively reduces the traffic load on affected AP(s) by asking active VoIP terminals to switch to codecs with higher compression, or to increase the number of speech frames encapsulated on each packet. This request is done via SIP

(9)

where Pi accounts for the probability that station j finds the channel idle and FER(j) stands for the Frame Error 7

Journal Pre-proof

η = (1 − r) +

2



Input: S (set of stations), DB Output: R (estimated QoS) Initialization: {DIFS, SIFS, EIFS, Tslot } from standard revision /* Retrieve network information */ for j = 1 to |S| do (j) retrieve SNR(j) , Rb , codec(j) , nfpp(j) ; // from

INVITE

5

(j)

12 13 14 15 16 17 18 19 20

(j)

(1)

{G.711; G.729}

.. .

(2-5)

Response

Re-INVITE

.. .

200 OK

UPDATE {G.729,ptime:50}

200 OK {G.729,ptime:50}

// Appendix A

solve τnext ; end   (j) diff = max |τnext − τ (j) | , ∀j;

200 OK

Get

(j)

re-

11

for j = 1 to |S| do solve E[B (j) ]; solve r(j) , q (j) ; solve p(j) ;

{G.711; G.729}

180 Ringing

// Eq. (8) // Eqs. (6),(7) // Eq. (9)

urn al P

10

INVITE

180 Ringing

calculate Ts , Tc , Te ; // Eqs. (A.5),(A.7) calculate FER(j) ; // Ref. [79, 80] end /* Solve 802.11 model (Sec. 3.2) */

(j) (j) 6 τnext = Tc , ∀j; 7 while diff > ∆ do (j) 8 τ (j) = τnext , ∀j; 9 solve E[T ];

(VoIP)

100 Trying

Calls to mod.

4

(j)

{G.711; G.729}

(5)

Client D

of

(VoWiFi)

DB 3

U-CAC AP1 Proxy/GW

Client A

pro

1

 r2 qWo 2 + rp(1 − q) − rq(1 − p) 1 − (1 − r)Wo    p 1 − p − p(2p)m−1 r 2 Wo 2 + + qr(1 − p) 2W + 1 o 2(1 − q)(1 − p) 1 − (1 − r)Wo 1 − 2p

r2 Wo (Wo + 1) Wo + 1 + 2(1 − (1 − r)Wo ) 2(1 − q)

(6-7)

200 OK

ACK Call established

SIP

SNMP

Figure 5: U-CAC signaling (advanced mode): accepting incoming call after previous reconfiguration

// Eq. (4)

imize the number of calls reconfigured. Furthermore, the changes required are the minimum possible. The procedure followed by U-CAC in its advanced mode of operation is shown in Algorithm 3, where given a call i, codec(i) and nfpp(i) represent its codec and number of speech frames per packet respectively. The algorithm, starts like Algorithm 1, checking the availability of PSTN spare lines if it was necessary, then it updates the set of calls included in the caller and callee APs (Ω‘s and Ω‘d respectively) and carries out the speech quality prediction in the affected APs. Then, for each AP, it checks whether the speech quality constraint is satisfied. If not, it randomly selects one conversation i from the set of calls and recalculates the speech quality considering that such conversation changed the number of speech frames encapsulated (i.e., nfpp(i) ) or switched to a lower bandwidth codec among those announced in the SDP content. This process is repeated until the speech quality is acceptable (i.e., above the threshold Rmin ). Then, SIP messages are sent to the referred VoWiFi clients so that changes take effect. If minimum speech quality cannot be achieved anyway, or changes are not confirmed by affected clients, the new call is rejected and ongoing calls are not reconfigured. A brief study of the computation time of the U-CAC

end solve L(ap) , D(ap) ; // Eqs. (11),(12) solve R; // Section 3.1 return R; Algorithm 2: WiFi-QoS calculus

Jo

messages. Obviously, reducing the traffic offered to the wireless network increases chances of accepting the new call. An example of signaling in the advance mode of operation is shown in Figure 5. In this case, codecs listed in the SDP content are shown for a new call between terminals A and D from the scenario in Figure 2. In the example, other VoWiFi clients associated to AP1 (not explicitly shown for the sake of clarity) are asked to modify their media. Then, the new call is also forced to set the lower-rate codec G.729, and to encapsulate 5 speech frames on each packet. After confirmation of completion, the new call is finally accepted. Since higher compression, or longer packetization delay, have also a negative impact on speech quality (see factors Ie and d from Equation (1)), the algorithm tries to min-

8

Journal Pre-proof

standard and advance mode algorithms is provided in Appendix B.4.

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

25 26 27 28 29 30 31 32 33

34 35 36 37 38

of

6

pro

5

re-

4

In this section, we analyze the performance of our UCAC through simulation. We show how U-CAC can guarantee minimum QoS requirements by rejecting incoming calls when network resources are exhausted and compare the performance obtained with that without a CAC mechanism. Other admission control algorithms, such as those referred in Table 1 , were not designed to run at the GW/Proxy, such as ours. However, in our performance comparison, we have included the admission control algorithm described in [39], named AFA-CAC, due to its similarities with U-CAC (advanced mode), such as the reduction of the traffic load before call rejection, or the use of an analytical model. The former feature is achieved by performing link-level (i.e., MPDU, MSDU) frame aggregation. Therefore, a performance comparison between AFA-CAC and U-CAC (adv) can be interesting not only to observe the benefits of U-CAC, but also to show the advantages of reducing the traffic load at the applicationlevel (e.g., codec and nfpp) instead of at the link-level in terms of effectiveness and implementation simplicity. To integrate AFA-CAC into our framework, we have implemented the algorithm proposed in [39], but replaced their τ expression with that from Equation (4) so that it is comparable with U-CAC. Otherwise, we adopt the expressions provided in the original paper.

urn al P

2 3

5. Numerical Results

5.1. Methodology In a scenario where VoWiFi users are placing calls to PSTN users, we study the performance of the following approaches for admission control: (a) U-CAC (basic mode), (b) U-CAC (advanced mode), (c) AFA-CAC, and (d) no CAC scheme. We have implemented these approaches in the ns-3 simulator as an independent CAC logical entity able to accept, reject or modify any call. Control-plane protocols (e.g., SIP, SNMP) have not been implemented in ns-3. Instead, the CAC logical entity counts with programming methods for VoIP clients to publish their events. Figure 6 illustrates an example call establishment procedure. The VoIP application notifies the CAC entity (1) the beginning of a new call. Then, the CAC algorithm is executed and a decision is made (2). The CAC entity may reconfigure existing conversations5 as indicated by the algorithm (3). Finally, the CAC notifies both peers to start (or cancel) the audio stream (4). Every VoIP client in

Jo

1

Input: APs , APd , Ωs , Ωd , caller, callee, Rmin Output: response (i.e., 200 OK or 480 Temporary unavailable) Initialization: Rs = Rmin , Rd = Rmin , SpareCircuit = True /* Analogous to Algorithm 1 */ if callee is PSTN and no available circuits then SpareCircuit = False; else if APs 6= NULL then if APd 6= NULL then if APs = APd then Ω0s = Ωs ∪ caller ∪ callee; else Ω0s = Ωs ∪ caller; Ω0d = Ωd ∪ callee; else Ω0s = Ωs ∪ caller; else if APd 6= NULL then Ω0d = Ωd ∪ callee; Rs = WiFi-QoS (Ω0s ); Rd = WiFi-QoS (Ω0d ); /* For each involved Access Point */ for n ∈ {s, d} do if APn 6= NULL then Ω = Ω0n ; // Calls to be optimized while Rn < Rmin and Ω 6= ∅ do i = choose random call in Ω; if nfpp(i) < 5 then nfpp(i) = nfpp(i) + 1; else if lower bandwidth codec av. then change codec(i) ; reset nfpp(i) ; else Ω = Ω − {i}; // Call optimized Rn = WiFi-QoS (Ω0n ); end end end if Rs ≥ Rmin and Rd ≥ Rmin and SpareCircuit then /* Accept call */ distribute new settings to all calls; response = 200 OK; else /* Reject call */ response = 480 Temporary unavailable; return response; Algorithm 3: U-CAC advanced mode

5 The CAC entity is able to modify not only calls in progress, but also link-level aggregation parameters at access points to support AFA-CAC requirements.

9

Journal Pre-proof

1

VoIP app

(4) start (caller, codec, nfpp)

CALLEE

2

3

WLAN (802.11n)

(2) decision () VoIP app

VoIP app

(1) call (callee)

quality by avoiding extra delay or compression, G.729 is suited for low bandwidth requirements by adding compression, which penalizes the speech quality but reduces the required data rate. Only the advanced U-CAC can switch the codec or nfpp while the other CAC methods always use the default G.711.

1

CALLER (4) start (callee, codec, nfpp)

CAC

GW/ Proxy

VoIP app

VoIP app

2

VoIP app

3

AP (3) update (codec, nfpp)

N

VoIP app

VoIP app (3) update (codec, nfpp)

N

Codec

Priority

G.711 G.729

1 2

Frame size 80 B 10 B

Ie

Bpl

0 10

25.1 19

of

Wired LAN

nfpp Default Max. 2 5 2 5

Table 2: Codec list

Figure 6: Proposed experiment

pro

We have simulated one hour during which each VoWiFi node randomly (i.e., uniform distribution) schedules the start time of 5 calls. The duration of calls is set to 3 minutes following the ITU-T P.561 recommendation [82]. Calls frequency and duration define the traffic intensity, which has been chosen so that CAC performance is noticeable with a reasonable number of users (and hence, execution time).

Callssucceeded Callsaccepted + Callsrejected

5.3. Results

Figure 7 shows the call success ratio (see Equation (15)) obtained for each CAC method. Without a CAC mechanism, the success ratio drops from 100% to 5% when the number of users increases from 30 to 70. Observe that, with 80 users, all calls would be unsuccessful without CAC. This ratio, however, falls to 40%, 20% and 0% for U-CAC, AFA-CAC, and U-CAC (adv. mode) respectively, which reveals that, in general, CAC mechanisms improve the capability to provide QoS-guaranteed service to more wireless clients. Another perspective for comparison can be established by considering a target for the call success ratio (for instance, 90%). In this case, the U-CAC algorithm can handle almost 50 users, while AFA-CAC and U-CAC (adv. mode) can deal with up to 65 and 130, respectively. Results suggest that U-CAC (adv. mode) achieves the best performance among the studied alternatives as it makes room for new calls by dynamically reducing the traffic generated by calls in progress through application-level reconfiguration6 Let us examine more in-depth how U-CAC (adv. mode) dynamically changes call settings to be able to accept new calls. Figure 8a shows the percentage of time that each codec from Table 2 is used during simulations. Along with Figure 7, it proves the ability of codec switching

(15)

urn al P

Success [%] = 100 ·

re-

the scenario runs a custom VoIP application that generates/receives CBR VoIP traffic based on a given configuration (e.g., codec and packetization). During the simulation, the R factor (speech quality) is evaluated every 5 seconds for every call in progress based on packet loss and delay measurements. According to its speech quality level, a call is considered unacceptable if its R factor falls below Rmin = 65 in two consecutive evaluations (i.e. longer than 10 seconds), and successful otherwise. Let us define the percentage of successful calls at the end of a simulation as:

where Callsaccepted and Callsrejected stand for the number of calls admitted and rejected respectively by the CAC, and Callssucceeded stands for the number of successful calls (i.e., acceptable). We take Equation (15) as the figure of merit for the comparison of different CAC approaches. Each simulation has been repeated 10 times with different seeds. The results shown in this Section present the average value obtained and its 95% confidence interval. 5.2. Scenario and Parameters

Jo

The number of VoWiFi users on the simulations ranges from 10 to 130 (in steps of 10) and, although not faithfully illustrated in Figure 6, stations are arranged in a 5 m circle around the AP. Each VoWiFi user calls a peer attached via Ethernet to the GW/Proxy, which represents a PSTN user. VoWiFi stations support the IEEE 802.11n standard revision. Stations are set to their slowest supported MCS (Modulation and Coding Scheme) (i.e., 6.5 Mbps) to gain visibility of the effects of network saturation with fewer users. VoIP terminals are configured to support the set of codec listed in Table 2. Both narrowband codecs, G.711 and G.729, are not only commonly found in commercial VoWiFi devices (e.g., see Grandstream WP820, Spectralink Series 84) but also frequently compared in scientific literature [68, 81]. While G.711 provides high speech

6 One could think of merging link-level aggregation (i.e., MSDU, MPDU) with application-level one (nfpp) to increase the WLAN capacity. However, although it is possible to implement, this idea presents two flaws: (a) in terms of bandwidth savings, application-level aggregation reduces the overhead respect to link-layer aggregation; (b) excessive aggregation would result in high transmission delay which would harm the overall speech quality (see Equation (1)).

10

Journal Pre-proof

100 90

70 60 50

of

40 30 Without CAC U-CAC AFA-CAC U-CAC (adv.)

20 10

pro

Successful calls (%)

80

0 10

20

30

40

50

60

70 Users

80

90

100

110

120

130

re-

Figure 7: Success ratio for simultaneous calls

6. Open Issues

urn al P

to increase bandwidth availability. From 40 users onward, G.711 (64 Kbps) is gradually replaced with G.729 (8 Kbps), releasing network resources. Figure 8b shows packet aggregation at application-level (nfpp). By aggregating speech-frames, our algorithm can effectively reduce overhead traffic, and consequently, the network load is reduced. As a result, more simultaneous calls can be held, increasing the ratio of success. Finally, the difference in the nfpp value observed in Figure 8b, can be attributed to each codec’s frame size (i.e., more small-sized G.729 frames can be aggregated without negatively impacting speech quality).

The framework presented in this paper is just a first step into unified admission control in a corporate environment. Some issues, however, have not been addressed in this work and can be deemed as open challenges to be addressed by the research community in the future:

Jo

• User’s Mobility. The MAC sub-layer model used is valid as long as the SNR and the station data bit-rate do not change during the call, and, in some cases, this can be a hard assumption. Note, however, that the CAC mechanism can only act at the beginning of each call by its nature. Consequently, complementary QoS mechanisms [10] based on traffic monitoring should be in place and act in coordination with the U-CAC. Furthermore, if users switched APs during a conversation, it would be necessary to periodically track (or be notified) the state of all calls to update the database.

• Multi-rate adaptative codecs. U-CAC should be aware of (and authorize) any change in the media of any call (e.g., codec, mode, packetization). If changes were not announced via SIP messages (SDP content), then, other QoS mechanisms [10] based on traffic monitoring should be in place as in the previous case, or else the decision algorithm could act based upon the worst case. Alternatively, the media can be routed through the proxy/GW, which in turn may perform transcoding and have the final decision about the media sent to the destination. • External VoIP service providers. A popular option these days is that organizations transfer the risk and costs associated with VoIP by acquiring the service from a VoIP service provider. This adds new complexities that should be accounted for such as the need to interwork between the corporate and external management domains (which would be one executing the U-CAC); or the fact that VoIP packets sent to the service provider may experience QoS issues. • Integration with other backhaul technologies. In addition to PSTN, other technologies such as 4G/5G, or WiMAX could be accounted for, and their QoSrelated aspects integrated in U-CAC. Indeed, the convergence of WiFi and other technologies has been identified as an open research challenge [31, 29].

7. Conclusions In this paper, we have proposed a centralized call admission mechanism that unifies traditional CAC in PSTN and WiFi admission control in a corporate environment. U-CAC does not need a dedicated device and increases 11

Journal Pre-proof 5 4

75 Avg. nfpp

50

25

3 2 Average G. 711 G. 729

1

G. 711 G. 729

0

0 10

20

30

40

50

60

70 80 Users

90 100 110 120 130

10

30

40

50

60

70 80 Users

90 100 110 120 130

(b) Number of frames per packet for each codec

pro

(a) Codec choice percentage

20

of

Codec choice (%)

100

Figure 8: U-CAC (advanced mode) dynamic parameter selection

the number of simultaneous calls with guaranteed speech quality. Its benefits include compatibility with the existing off-the-shelf corporate assets such as APs or VoIP terminals. We have also proposed an enhanced version (advanced mode of operation) of U-CAC that significantly increases the VoIP capacity through the dynamic reconfiguration of the application-level parameters such as codec or nfpp. Finally, we have demonstrated through simulation the effectiveness of both proposals. While the basic U-CAC schema successfully mitigates the impact of network congestion by rejecting new calls, the advanced UCAC scheme, albeit intrusively, can double the number of conversations that can be held. In terms of time complexity, our results suggest that admission decisions can be made in the order of milliseconds, so it can be applied in real-life scenarios. References

urn al P

re-

[10] X. Chen, C. Wang, D. Xuan, Z. Li, Y. Min, W. Zhao, Survey on qos management of voip, in: 2003 International Conference on Computer Networks and Mobile Computing, 2003. ICCNMC 2003., IEEE, 2003, pp. 69–77. [11] K. Mase, H. Kobayashi, An efficient end-to-end measurement based admission control for voip networks, in: 2004 IEEE International Conference on Communications (IEEE Cat. No. 04CH37577), Vol. 4, IEEE, 2004, pp. 1877–1881. [12] E. S. Myakotnykh, R. A. Thompson, Effect of packet size and compression variation on quality of voip communications, in: 2009 Proceedings of the 1st International Workshop on Security and Communication Networks, IEEE, 2009, pp. 1–6. [13] A. M. Kholaif, T. D. Todd, Wlan voip capacity allocation using an adaptive voice packetization server, Computer Communications 30 (13) (2007) 2661–2675. [14] B. Ngamwongwattana, Effect of packetization on voip performance, in: 2008 5th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology, Vol. 1, IEEE, 2008, pp. 373–376. [15] S. Seytnazarov, Y.-T. Kim, Qos-aware adaptive a-mpdu aggregation scheduler for enhanced voip capacity over aggregationenabled wlans, in: NOMS 2018-2018 IEEE/IFIP Network Operations and Management Symposium, IEEE, 2018, pp. 1–7. [16] P. Dong, J. Wang, H. Wang, Y. Pan, Boosting voip capacity via service differentiation in ieee 802.11 e edca networks, International Journal of Distributed Sensor Networks 11 (3) (2015) 235648. [17] S. Tao, K. Xu, A. Estepa, T. F. L. Gao, R. GUerin, J. Kurose, D. Towsley, Z.-L. Zhang, Improving voip quality through path switching, in: Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies., Vol. 4, IEEE, 2005, pp. 2268–2278. [18] S. Andersen, A. Duric, H. Astrom, R. Hagen, W. Kleijn, J. Linden, Internet low bit rate codec (ilbc), Tech. rep. (2004). [19] J.-M. Valin, K. Vos, T. Terriberry, Definition of the opus audio codec, Tech. rep. (2012). [20] P. Jones, T. Shabestary, H. Alvestrand, P. Huart, Rtp payload format for the isac codec, Tech. rep. (2013). [21] D. Bonfiglio, M. Mellia, M. Meo, D. Rossi, Detailed analysis of skype traffic, IEEE Transactions on Multimedia 11 (1) (2008) 117–127. [22] J.-M. Valin, C. Bran, Webrtc audio codec and processing requirements, Tech. rep. (2016). [23] P. Orosz, T. Skopk´ o, Z. Nagy, T. Lukovics, Performance analysis of the opus codec in voip environment using qoe evaluation, in: The Eighth International Conference on Systems and Networks Communications, ICSNC, 2013. [24] A. R¨ am¨ o, H. Toukomaa, Voice quality characterization of ietf opus codec, in: Twelfth Annual Conference of the International

Jo

[1] H. P. Singh, S. Singh, J. Singh, S. A. Khan, Voip: State of art for global connectivity—a critical review, Journal of Network and Computer Applications 37 (2014) 365–379. [2] S. Karapantazis, F.-N. Pavlidou, Voip: A comprehensive survey on a promising technology, Computer Networks 53 (12) (2009) 2050–2090. [3] L. Ong, I. Rytina, M. Garcia, H. Schwarzbauer, L. Coene, H. Lin, I. Juhasz, M. Holdrege, C. Sharp, Rfc 2719: Framework architecture for signaling transport, Tech. rep. (1999). [4] C. Groves, M. Pantaleo, T. Anderson, T. Taylor, et al., Rfc 3525: Gateway control protocol version 1, Tech. rep. (2003). [5] Y. Zhang, Sip-based voip network and its interworking with the pstn, Electronics & Communication Engineering Journal 14 (6) (2002) 273–282. [6] C. R. Johnson, Y. Kogan, Y. Levy, F. Saheban, P. Tarapore, Voip reliability: a service provider’s perspective, IEEE Communications Magazine 42 (7) (2004) 48–54. [7] M. Handley, V. Jacobson, C. Perkins, Sdp: session description protocol, Tech. rep. (2006). [8] H. M. Chong, H. S. Matthews, Comparative analysis of traditional telephone and voice-over-internet protocol (voip) systems, in: IEEE International Symposium on Electronics and the Environment, 2004. Conference Record. 2004, IEEE, 2004, pp. 106–111. [9] T.-K. Chua, D. C. Pheanis, Qos evaluation of sender-based lossrecovery techniques for voip, IEEE Network 20 (6) (2006) 14–22.

12

Journal Pre-proof

[45]

[46]

[47]

pro

[48]

An efficient model-based admission control algorithm to support voice and video services in 802.11 e wlans, in: Information Infrastructure Symposium, 2009. GIIS’09. Global, IEEE, 2009, pp. 1–8. Q.-l. Wu, Z.-j. Huang, S.-y. Wang, Heterogeneous voice flowsoriented call admission control in ieee 802.11 e wlans, International Journal of Electronics 101 (4) (2014) 531–552. T. Inaba, S. Sakamoto, T. Oda, M. Ikeda, L. Barolli, A qosaware admission control system for wlan using fuzzy logic, in: 2016 30th International Conference on Advanced Information Networking and Applications Workshops (WAINA), IEEE, 2016, pp. 499–505. S. Garg, M. Kappes, Admission control for voip traffic in ieee 802.11 networks, in: GLOBECOM’03. IEEE Global Telecommunications Conference (IEEE Cat. No. 03CH37489), Vol. 6, IEEE, 2003, pp. 3514–3518. Y. Qian, R.-Y. Hu, H.-H. Chen, A call admission control framework for voice over wlans, IEEE Wireless Communications 13 (1) (2006) 44–50. X. Chen, H. Zhai, X. Tian, Y. Fang, Supporting qos in ieee 802.11 e wireless lans, IEEE Transactions on Wireless Communications 5 (8) (2006) 2217–2227. D. Gao, J. Cai, K. N. Ngan, Admission control in ieee 802.11 e wireless lans, IEEE network 19 (4) (2005) 6–13. I. Rec, P. 800: Methods for subjective determination of transmission quality, International Telecommunication Union, Geneva (1996) 22. J. D. Case, M. Fedor, M. L. Schoffstall, J. Davin, Simple network management protocol (snmp), Tech. rep. (1990). S. Shin, H. Schulzrinne, Measurement and analysis of the voip capacity in ieee 802.11 wlan, IEEE Transactions on Mobile Computing 8 (9) (2009) 1265–1279. G. Bianchi, Performance analysis of the ieee 802.11 distributed coordination function, IEEE Journal on selected areas in communications 18 (3) (2000) 535–547. F. Daneshgaran, M. Laddomada, F. Mesiti, M. Mondin, Modelling and analysis of the distributed coordination function of ieee 802.11 with multirate capability, in: 2008 IEEE Wireless Communications and Networking Conference, IEEE, 2008, pp. 1344–1349. F. Daneshgaran, M. Laddomada, F. Mesiti, M. Mondin, A model of the ieee 802.11 dcf in presence of non ideal transmission channel and capture effects, in: IEEE GLOBECOM 2007IEEE Global Telecommunications Conference, IEEE, 2007, pp. 5112–5116. J. Van Meggelen, L. Madsen, J. Smith, Asterisk: The future of telephony, ” O’Reilly Media, Inc.”, 2007. A. Robar, FreePBX 2.5 Powerful Telephony Solutions, Packt Publishing Ltd, 2009. A. Amirante, S. P. Romano, K. H. Kim, H. Schulzrinne, Online non-intrusive diagnosis of one-way rtp faults in voip networks using cooperation, 2010, pp. 146–154. doi:10.1145/1941530. 1941551. T. Daengsi, C. Wutiwiwatchai, A. Preechayasomboon, S. Sukparungsee, A study of voip quality evaluation: User perception of voice quality from g. 729, g. 711 and g. 722, in: 2012 IEEE Consumer Communications and Networking Conference (CCNC), IEEE, 2012, pp. 342–345. ITU-T, Objective quality measurement of telephone-band (300 - 3400 hz) speech codecs, Recommendation P.861, International Telecommunication Union, Geneva (1996). A. W. Rix, M. P. Hollier, The perceptual analysis measurement system for robust end-to-end speech quality assessment, in: 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No. 00CH37100), Vol. 3, IEEE, 2000, pp. 1515–1518. ITU-T, An objective method for end-to-end speech quality assessment of narrow-band telephone networks and speech codecs, Recommendation P.862, International Telecommunication Union (2001). Y. Yang, Y. Qiu, T. Zhang, Performance analysis of vowifi on

of

Speech Communication Association, 2011. [25] H. G. Perros, K. M. Elsayed, Call admission control schemes: a review, IEEE Communications Magazine 34 (11) (1996) 82–91. [26] B. Chatras, Business communications standardization in etsi, IEEE Wireless Communications 16 (3) (2009) 8–14. [27] X. Fan, M. Jonsson, Guaranteed real-time services over standard switched ethernet, in: The IEEE Conference on Local Computer Networks 30th Anniversary (LCN’05) l, IEEE, 2005, pp. 3–pp. [28] O. Barkay, A. Garti, L. Klein, T. Verrall, Wireless infrastructure implementation: Best practices, IT@ Intel White Paper. [29] S. F. M. Ngongang, N. Tadayon, G. Kaddoum, Voice over wi-fi: feasibility analysis, in: 2016 Advances in Wireless and Optical Communications (RTUWO), IEEE, 2016, pp. 133–138. [30] T. Daengsi, P. Wuttidittachotti, Qoe modeling: A simplified e-model enhancement using subjective mos estimation model, in: 2015 Seventh International Conference on Ubiquitous and Future Networks, IEEE, 2015, pp. 386–390. [31] A. Malik, J. Qadir, B. Ahmad, K.-L. A. Yau, U. Ullah, Qos in ieee 802.11-based wireless networks: a contemporary review, Journal of Network and Computer Applications 55 (2015) 24– 46. [32] B. Vijay, B. Malarkodi, Improved qos in wlan using ieee 802.11 e, Procedia Computer Science 89 (2016) 17–26. [33] Y. Xiao, H. Li, S. Choi, Protection and guarantee for voice and video traffic in ieee 802.11 e wireless lans, in: IEEE INFOCOM 2004, Vol. 3, IEEE, 2004, pp. 2152–2162. [34] S. Mangold, S. Choi, P. May, O. Klein, G. Hiertz, L. Stibor, Ieee 802.11 e wireless lan for quality of service, in: Proc. European Wireless, Vol. 2, 2002, pp. 32–39. [35] L. Cai, Y. Xiao, X. Shen, L. Cai, J. W. Mark, Voip over wlan: Voice capacity, admission control, qos, and mac, International Journal of Communication Systems 19 (4) (2006) 491–508. [36] P. McGovern, P. Perry, S. Murphy, L. Murphy, Endpoint-based call admission control and resource management for vowlan, IEEE Transactions on Mobile Computing 10 (5) (2010) 684– 699. [37] P. Dini, N. Baldo, J. Nin-Guerrero, J. Mangues-Bafalluy, S. Addepalli, L. L. Dai, Distributed call admission control for voip over 802.11 wlans based on channel load estimation, in: 2010 IEEE International Conference on Communications, IEEE, 2010, pp. 1–6. [38] D. Pong, T. Moors, Call admission control for ieee 802.11 contention access mechanism, in: Global Telecommunications Conference, 2003. GLOBECOM’03. IEEE, Vol. 1, IEEE, 2003, pp. 174–178. [39] E. Charfi, L. Chaari, L. Kamoun, New adaptive frame aggregation call admission control (afa-cac) for high throughput wlans, Transactions on Emerging Telecommunications Technologies 26 (3) (2015) 469–481. [40] M. A. Ramirez-Reyna, F. A. Cruz-P´ erez, S. L. CastellanosLopez, G. Hernandez-Valdez, M. E. Rivero-Angeles, Connection admission control strategy for wireless voip networks using different codecs and/or codec mode-sets, in: 2017 20th International Symposium on Wireless Personal Multimedia Communications (WPMC), IEEE, 2017, pp. 258–264. [41] M. A. Ramirez-Reyna, F. A. Cruz-P´ erez, S. L. CastellanosLopez, G. Hernandez-Valdez, M. E. Rivero-Angeles, Differentiated connection admission control strategy for wireless voip networks with adaptive modulation coding, in: 2018 International Conference on Computing, Networking and Communications (ICNC), IEEE, 2018, pp. 31–37. [42] C. Cano, B. Bellalta, M. Oliver, Adaptive admission control mechanism for ieee 802.11 e wlans, in: 2007 IEEE 18th International Symposium on Personal, Indoor and Mobile Radio Communications, IEEE, 2007, pp. 1–5. [43] J. Zhu, A. O. Fapojuwo, A new call admission control method for providing desired throughput and delay performance in ieee802. 11e wireless lans, IEEE Transactions on Wireless Communications 6 (2) (2007) 701–709. [44] N. C. Taher, Y. Ghamri-Doudane, B. El Hassan, N. Agoulmine,

[49]

[50] [51]

re-

[52] [53]

[54]

urn al P

[55]

[56]

[57] [58] [59]

Jo

[60]

[61]

[62]

[63]

[64]

13

Journal Pre-proof

[69]

[70]

[71]

[72] [73]

[74]

[75]

[76]

[77]

[78]

[79]

[80] [81]

[82]

of

• Collision state, when more than one station attempt to transmit at the same slot and a collision happen.

pro

[68]

• Error state, when a single station attempts to transmit while the rest remain silent but transmission fails due to channel related errors.

We can compute the expected time per slot (E[T ]) by weighting the average time spent in each state as follows: E[T ] = TI + TS + TE + TC

(A.1)

where each term can be calculated as follows: Idle state (TI ). The time spent in idle states can be expressed as:

re-

[67]

• Success state, when just a station attempts to transmit while the rest remain silent and, additionally, there are no channel related errors.

TI =

S  Y

j=1

 1 − τ (j) · Tslot

(A.2)

where Tslot represents the time slot duration, which is defined in the corresponding IEEE 802.11 revision, and S is the number of stations (including the access point) in the system under consideration.

urn al P

[66]

• Idle state, when no stations attempt to transmit and, consequently, the medium remains silent.

Success state (TS ). The time spent on successful slots can be expressed as: TS =

S X

Ps(j)

j=1



1 − FER(j)



Ts(j)

(A.3)

(j)

where Ps stands for the probability that only an observed station j attempts to transmit while the rest remain silent, which can be expressed as:

Jo

[65]

pression for E[T ], we follow the technique presented in [73]. Then, we consider the following states for each station:

ran, in: 2017 International Conference on Computer, Information and Telecommunication Systems (CITS), IEEE, 2017, pp. 6–9. ITU-T, Itu-t recommendation g.107 : The e-model, a computational model for use in transmission planning, Tech. rep., International Telecommunication Union, International Telecommunication Union (June 2015). H. Assem, D. Malone, J. Dunne, P. O’Sullivan, Monitoring voip call quality using improved simplified e-model, in: Computing, networking and communications (ICNC), 2013 international conference on, IEEE, 2013, pp. 927–931. M. Manousos, S. Apostolacos, I. Grammatikakis, D. Mexis, D. Kagklis, E. Sykas, Voice-quality monitoring and control for voip, IEEE Internet Computing 9 (4) (2005) 35–42. A. Chhabra, D. Singh, Assessment of voip e-model over 802.11 wireless mesh network, in: 2015 International Conference on Advances in Computer Engineering and Applications, IEEE, 2015, pp. 856–860. J. Janssen, D. De Vleeschauwer, M. Buchli, G. H. Petit, Assessing voice quality in packet-based telephony, IEEE Internet Computing 6 (3) (2002) 48–56. W. Wang, S. C. Liew, V. O. Li, Solutions to performance problems in voip over a 802.11 wireless lan, IEEE transactions on vehicular technology 54 (1) (2005) 366–384. D. Malone, K. Duffy, D. Leith, Modeling the 802.11 distributed coordination function in nonsaturated heterogeneous conditions, IEEE/ACM Transactions on networking 15 (1) (2007) 159–172. K. Duffy, A. J. Ganesh, Modeling the impact of buffering on 802.11, IEEE Communications Letters 11 (2) (2007) 219–221. M. Laddomada, F. Mesiti, M. Mondin, F. Daneshgaran, On the throughput performance of multirate ieee 802.11 networks with variable-loaded stations: analysis, modeling, and a novel proportional fairness criterion, IEEE Transactions on Wireless Communications 9 (5) (2010) 1594–1607. Q. Zhao, D. H. Tsang, T. Sakurai, Modeling nonsaturated ieee 802.11 dcf networks utilizing an arbitrary buffer size, IEEE Transactions on Mobile Computing 10 (9) (2011) 1248–1263. C.-L. Huang, W. Liao, Throughput and delay performance of ieee 802.11 e enhanced distributed channel access (edca) under saturation condition, IEEE Transactions on wireless communications 6 (1) (2007) 136–145. K. R. Duffy, Mean field markov models of wireless local area networks, Markov Processes and Related Fields 16 (2) (2010) 295–328. K. D. Huang, K. R. Duffy, On a buffering hypothesis in 802.11 analytic models, IEEE Communications Letters 13 (5) (2009) 312–314. K. Huang, K. R. Duffy, D. Malone, On the validity of ieee 802.11 mac modeling hypotheses, IEEE/ACM Transactions on Networking (TON) 18 (6) (2010) 1935–1948. G. Pei, T. R. Henderson, Validation of ofdm error rate model in ns-3, Tech. rep., Boeing Research and Technology, Boeing Research and Technology (2010). G. Pei, T. R. Henderson, Validation of ns-3 802.11b phy model, Tech. rep., Boeing Research and Technology (May 2009). W. Kim, T. Song, T. Kim, H. Park, S. Pack, Voip capacity analysis in full duplex wlans, IEEE Transactions on Vehicular Technology 66 (12) (2017) 11419–11424. I. Rec, P. 561: In-service non-intrusive measurement device voice service measurements, International Telecommunication Union, Geneva (1996) 60.

Ps(j) = τ (j)

S Y

k=1, k6=j



1 − τ (k)



(A.4)

(j)

Also, in Equation (A.3), Ts represent the average time that the j-th station spends in successful transmissions. Their actual value depend on the IEEE 802.11 standard revision used and physical data rate of stations. They can be expressed as:

Appendix A. Expected time per slot: E[T] Ts(j) = DIFS + 2 · PLCP(j) +

The expected time per slot represents the average length of each state of the Markov-chain modeling the IEEE 802.11 system. In order to obtain a closed-form ex-

+ 14

Header(j) + Data(j) (j)

Rb

+ SIFS + Tack + 2δ

(A.5)

Journal Pre-proof (j)

Considering N (d) as the set of stations that belong to class d ∈ E, let us define L(d) as the set of stations whose (d) collision time is greater than Tc (i.e., they are slower), and H(d) as the set of stations whose collision time is (d) shorter than Tc (i.e., they are faster). H(d) and L(d) may be formally defined as:

Error state (TE ). Analogously, the time spent in corrupted transmissions due to channel errors can be written down as:

n o L(d) = i ∈ S | Tc(i) > Tc(d)

(A.10)

n o H(d) = i ∈ S | Tc(i) < Tc(d)

(A.11)

TE =

S X

Ps(j) FER(j) Te(j)

of

where Rb represents the physical layer bit-rate (which depends on the used modulation), DIFS, SIFS, EIFS account for some needed inter-frame periods as specified by the 802.11 standard and finally, PLCP(j) , Header(j) and Tack correspond with the PLCP header, the IEEE 802.11 header and the duration of an ack frame in the IEEE 802.11 standard7 respectively, and δ is the propagation delay.

(A.6)

Now, the probability that at least one station from class (or group) d ∈ E transmits is:

pro

j=1

(j)

where Te represent the average time that the j-th station spends in failed transmissions. As we did before, it can be expressed as:

N (d)

Ptx

Te(j) = DIFS + PLCP(j) + Header

+ Data

(j) Rb

+ EIFS + δ

(A.7)

urn al P

Collision state (TC ). The time spent in collided transmissions can be deduced as follows. Each station j exhibits an (j) average collision time, Tc which can be can be approxi(j) mated by the time spent in a erroneous transmission Te (j) (j) (i.e., Tc = Te ). When two different stations collide (i.e., they attempt to transmit at the same time slot), only the longest collision time has to be considered (i.e., the slowest station determines the channel occupation time). To do so, stations in the system (i.e., set S) are grouped in traffic classes according to their collision time (i.e., all stations with the same average collision time belong to the same class). Then, the following subsets of S can be defined: n o N (i) = j ∈ S | Tc(j) = Tc(i) , j ∈ / N (k), k ≤ i (A.8) i∈1..S

Jo

j∈N (d)

1 − τ (j)



(A.12)

H(d)

Ptx

L(d)

Ptx

=1−

=1−

Y 

j∈H(d)

Y 

j∈L(d)



(A.13)



(A.14)

1 − τ (j)

1 − τ (j)

Due to the fact that slower stations slow down faster ones as a result of longer channel occupation times, TC can be defined as: TC =

Nc  X d=1

PcN (d) + PcH(d)



Tc(d)

(A.15)

(d)

where Tc represents the average time that any station N (d) represents from class d spends on collision state, and Pc the probability that any collision occurs between stations from the same class d:

Where N (i) is a subset of S that groups those stations (i) whose collision time is Tc only if such stations are not yet in other group N (j) with j < i. Note that (A.8) defines different groups (e.g., N (1), N (2), . . . , N (S)), and since each station can only belong to one group, some of the previous sets may be empty. Therefore, let us define a new set which can be used to identify non-empty sets as: E = {i | N (i) 6= ∅}

Y 

And the probabilities that at least one station that belongs to a higher or lower class transmits are:

(j)

re-

+

(j)

=1−

    H(d) L(d) PcN (d) = 1 − Ptx · 1 − Ptx ·   X N (d) · Ptx − Ps(j) 

(A.16)

j∈N (d)

H(d)

and Pc accounts for the probability that class d is involved in a collision with at least one station from a higher class.   N (d) H(d) L(d) PcH(d) = Ptx · Ptx · 1 − Ptx (A.17)

(A.9)

consequently, the number of non-empty classes will be finally given by Nc = |E|.

Finally, one can substitute the terms TI , TS , TE , and TC in (A.1) to obtain a closed-form expression of the expected time per slot E[T ].

7 Note

that in the AP station these times are averaged considering the physical data rate and/or codec of every user.

15

Journal Pre-proof

Appendix B. Implementation issues

includes attributes of type c (e.g., ip-addr ), type m and type a (e.g., voip-codec and voip-nfpp used on each call). The actual mechanism for collecting the aforementioned information included in SIP messages depends of the software platform. For example, in Asterisk this information could be obtained from various interfaces such as Asterisk Gateway Interface (AGI), Asterisk Manager Interface (AMI), or Asterisk REST-full interface (ARI). Besides, Asterisk Internal database can also be used or fetched from ODBC connections.

In this section we outline some key issues to be addressed when implementing the suggested procedure for call admission control. As stated in Section 3, the main steps that follow the detection of a new call (i.e., SIP INVITE + 200 OK messages) are:

of

1. Retrieve information about the new call (e.g., source, destination, media) from the VoIP Proxy/Gateway. 2. Retrieve the WLAN-related properties of the caller and callee from the APs involved in the call.

Appendix B.2. Collecting wireless LAN information Our analytical model requires to have information about wireless clients such as SNR and data bit-rate 8 . However, in order to collect this information one has to identify first the AP to which caller and callee are associated. This can be done by polling APs through the standard management interface SNMP as most manufacturers implement MIBs that provide the IP (ipaddr ) and MAC (i.e., mac-addr ) addresses of the wireless clients associated (e.g., DOT11-WIRELESS MIB, DOT11-ASSOCIATION). Alternatively, if an AP controller is in place, one could retrieve it to determine the APs concerned in the new call. This could also be done via SNMP if the AP controller implemented the appropriate MIB (e.g., CISCO-LWAPP-CLIENT-MIB, or COLUBRIS-WIRELESS-CLIENT-MIB). Once the APs associated to the new call are found (i.e., ap-ip-addr ), they are further queried to obtain the SNR (i.e., phy-snr ) and data bit-rate (i.e., phy-bitrate) of the caller and callee. The method to obtain this information depends on available hardware and software, we have identified three cases to cover a large variety of scenarios:

pro

3. Update the database and the Ωs and Ωd call sets with the information collected in steps 1 and 2. 4. Execute decision algorithm (i.e., Algorithm 1 or 3).

CALL

− user−id − ip−addr − mac−addr − ap−ip−addr − phy−snr − phy−bitrate − voip−codec−list

urn al P

− call−id − call−status − timestamp − caller−id − callee−id − voip−codec − voip−nfpp

USER

re-

In Figure B.9 we suggest a simple data scheme that includes the minimum information required for each call. This could be used to create a repository (e.g., database) populated with the information collected in steps 1-2.

Figure B.9: Information fields for each call

Appendix B.1. Obtaining call and media information

Jo

Call events have to be monitored to identify new calls or changes in the status of ongoing calls. The call-status can take values from a SIP finite state machine [59] whose progress can be tracked from SIP messages send/received by the VoIP Gateway/Proxy. SIP messages also provide fields with basic call information such as FROM / TO, which identify the caller (caller-id ) and callee (callee-id ) with a SIP URI scheme such as sip:user@host:port, or the CALL-ID header field can be taken as unique identifier for each call (call-id ). For each call, media information must also be collected. This includes the codec and number of speech frames encapsulated on each packet, as well as RTP ports used by media streams. This information is typically exchanged via SDP content encapsulated in SIP messages. In general, SDP provides a set of {type,value} pairs with enough information to allow a user to join a session and announce its resources. The relevant information for our purposes

• Querying the APs using SNMP. As indicated earlier most APs implement a MIB that contains the previous information about their associated stations. • Act as end of the Control and Provisioning of Wireless Access Points (CAPWAP) protocol defined in RFC 5415/16 (e.g., OpenCAPWAP Protocol). This IETF protocol encapsulates IEEE 802.11 frames with a header that indicates SNR and data bit-rate, so one could use this API (e.g., OpenCAPWAP ) to receive all frames and update a list of wireless clients PHY information as long as APs implemented this IETF protocol. • Using proprietary solutions, asking the AP controller via proprietary protocols such as LWAPP.

Appendix B.3. Storage and message complexity Besides the execution of the WiFi-QoS function, whose computation time is shown in Appendix B.4, 8 We assume that this information is valid for the duration of the call. Otherwise, this information could be periodically sampled

16

Journal Pre-proof SNMP GetNextRequest

Let us consider the worst-case scenario (in terms of message complexity) we illustrated in Figure B.10, which considers:

P se SNM on Resp

1

SIP Re-INVITE

2

• Both peers, caller and callee, use VoWiFi terminals and belong to different WLANs in the corporate network.

NAPs

SIP UPDATE

2

Ncalls

1

2

Ncalls

1

2

Ncalls

• Every AP is handling the same number of calls (i.e., Ncalls ), so the number of users in the WLAN side of the corporate network can be calculated as Nusers = NAPs · Ncalls .

of

1 Caller

• The rest of users associated to both WLANs are engaged in different calls (i.e., external calls).

Callee

Ncalls · NAPs = Nusers

pro

Figure B.10: Message complexity: worst-case scenario

• There is no controller, so SNMP polling implies to ask every access point in the network.

the framework in this paper also requires storage capacity (e.g., database) and control-plane communication (e.g., SIP, SNMP). This section analyzes both requirements.

• Accepting a new call implies to modify: – The parameters of every call in progress from both WLANs (i.e., SIP Re-INVITE). – The default configuration for the incoming call (i.e., SIP UPDATE).

re-

Appendix B.3.1. Storage capacity Let us consider the worst-case scenario to analyse the storage capacity requirements: each user is engaged in a different VoIP conversation (i.e., there are no internal calls) and the advanced mode of the U-CAC is running. Recalling the example database we introduced in Figure B.9, the following information has to be stored:

urn al P

Observe that every message shown in Figure B.10 has to be sent before accepting the new call, so it only affects to the session establishment delay. SIP. The GW/Proxy is in the path of signaling, the UCAC needs to modify or generate SIP messages in some circumstances:

• Information about every call in progress.

(a) To identify incoming and ending calls.

• Information about each user engaged in a call.

(b) To accept or reject an incoming call.

• Information about each user in the WLAN section.

(c) To modify the configuration of the incoming call or any call in progress.

If we assume that there are Nusers users in the WLAN section of the corporate network, our framework requires up to Nusers entries in the CALL table and 2·Nusers entries in the USER table. Let us estimate the expected size of each entry by considering the size of each field (we used PostgreSQL data types sizes as a reference). Each entry in the CALL table has a fixed length of 22 Bytes. On the other hand, USER entries’ length may vary depending on the number of supported codec on each peer. Let us assume that every user has the codec priority list we introduced in Table 2 (e.g., 2 codec possibilities), so each entry in the USER table requires 33 Bytes. In turn, the total required storage capacity can be calculated as 22·Nusers +33·2·Nusers , which can be simplified to 88 Bytes per WLAN user. For example, in a corporate network with 1000 users, the worst-case required storage would be under 8.8 MB, which proves that our proposal does not require a challenging storage capacity.

Jo

While (a) and (b) tasks can be done by modifying the content of some of the SIP messages, (c) requires to send additional SIP messages. In fact, the U-CAC has to send one Re-INVITE message to each call in progress whose configuration is required to be changed, and an UPDATE message to the callee if its configuration has to be changed. In the scenario we illustrated in Figure B.10, the UCAC has to send up to 2 · (Ncalls − 1) SIP Re-INVITE messages and a single UPDATE message before accepting the incoming call, so the total number of SIP messages generated per new call is given by MSIP : 1 MSIP = 2 · (Ncalls − 1) + |{z} {z } | Re-INVITE

(B.1)

UPDATE

However, these messages are distributed between caller (source) and callee (destination) WiFi networks:

Appendix B.3.2. Message complexity The framework in this paper requires to send and interpret two different messaging protocols: SIP and SNMP.

(source)

MSIP

= Ncalls − 1

(B.2)

= Ncalls

(B.3)

(destination) MSIP

17

Journal Pre-proof

Regarding the time required to complete the reconfiguration phase, let us assume that the WLAN section of the network represents the only bottleneck in the SIP signaling path. Then, let us calculate each message size as represented in Table B.3. Notice that SIP methods are answered with an ACK PDU.

SNMP PDU IP + UDP MAC Total (Bytes)

NetNextRequest 71 28 18 117

Response 71 28 18 117

Table B.4: SNMP message sizes (ethernet)

UPDATE 570 36 28 634

ACK 180 36 28 244

Finally, the required time to complete the SNMP transaction can be derived as follows:

of

SIP PDU IP + UDP MAC Total (Bytes)

INVITE 570 36 28 634

TSNMP =

Table B.3: SIP message sizes (802.11n)

pro

(634 + 244) · 8 (destination) · MSIP Rb

(B.6)

For example, let us consider that SNMP traffic traverse through a Gigabit Ethernet interface, and there are 50 access points with 30 users associated to each. The complete transaction can be completed in less than 3 ms.

The time required to complete the SIP transaction on the worst-case WLAN (callee side) can be approximated as follows: TSIP =

117 · 8 · MSNMP Rb

Appendix B.4. Algorithm Computation time In order to explore the feasibility of our proposal in realworld applications, we have studied the computation time of both U-CAC algorithms (implemented in C++ for ns-3) in a computer with 16 GB RAM and CPU Intel Broadwell x86 (8 cores and 4 threads per core) at 2.2 GHz. Figure B.1110 shows the execution time of both, the WiFiQoS function (i.e., Algorithm 2) and the full CAC mechanism (i.e., Algorithms 1 and 3). As expected, the computational complexity of the WiFi-QoS algorithm grows linearly with the number of users in the network (i.e., O(S)). Observe that U-CAC only executes the WiFi-QoS function once per call attempt while U-CAC (adv. mode) does it multiple times depending on the number of combinations tested for the codec-nfpp settings, which explains the difference in execution time. At any rate, decisions are made in less than 170 ms (worst case with 130 users) for the U-CAC (adv. mode) procedure and below 20 ms for the U-CAC one.

(B.4)

MSNMP = NAPs · Ncalls + NAPs · Ncalls | {z } | {z }

(B.5)

Response

Jo

GetNextRequest

180 U-CAC (WiFi-QoS) U-CAC (algorithm) U-CAC (adv.) (WiFi-QoS) U-CAC (adv.) (algorithm)

160 140 CPU time (ms)

urn al P

re-

For example, if WLANs are limited to 6.5 Mbps and each AP handles 30 simultaneous calls, the SIP transaction requires up to TSIP = 32.41 milliseconds. Observe that this delay is only experienced on the session establishment phase, and does not affect the QoS during the call. SNMP. Our framework uses SNMP to retrieve the information about users and their location. In the scenario from Figure B.10, the corporate network does not have any controller so every AP has to be polled via SNMP to locate users. In our scenario, the U-CAC has to consult at least three column objects (i.e., corresponding to ip-addr, phy-bitrate, and phy-snr fields in the database), where each row in responses represents a value related to a different user associated. In order to retrieve this information, SNMP provides the GetNextRequest PDU9 , which allows to get the next row in a single response. Consequently, the U-CAC has to send one GetNextRequest for each user in the WLAN side of the corporate network, and each petition is replied with a Response message. As a result, the number of exchanged SNMP messages can be calculated as:

120 100 80 60 40

Observe that SNMP messages are sent through the wired section of the network and, consequently, do not affect the WLAN performance. Assuming that each GetNextRequest asks for three OIDs (which affects the PDU size) and each value is represented by an integer array, packet sizes can be approximated as those in Table B.4.

20 0 10

20

30

40

50

60

70 80 Users

90 100 110 120 130

Figure B.11: Execution time of the algorithms

9 The GetBulkRequest PDU is a more efficient solution, but in order to consider the worst-case scenario we use the GetNextRequest method

10 Confidence intervals were not included in this graph to ease readability.

18

Journal Pre-proof

Declaration of interests ☒ The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Jo

urn al P

re-

pro

of

☐The authors declare the following financial interests/personal relationships which may be considered as potential competing interests: