An Improved Mobile VoIP Call Setup with Pre-detection of MS State Information Soonuk Seol 1 and Sungsoo Cho 2 1 School of Electrical, Electronics & Communication Engineering, Korea University of Technology & Education 1600, Chungjeol-ro, Byeongcheon-myeon, Dongnam-gu, Cheonan-si 2 Advanced Institute of Technology, KT, 463-1, Jeonmin-dong, Yuseong-gu, Daejeon suseol@koreatech.ac.kr, nicecho@kt.com Abstract In conventional VoIP services, a call session control server, like the proxy call session control function (P-CSCF) in 3GPP IMS, is not aware of the callee s mobile station (MS) state information such as idle, active, or loss of connection. This may cause an inefficient or unintentional call setup, and sometimes call setup failure. For examples, although a callee MS is in idle state or loss of connection for some reasons, the P-CSCF would send a call session setup request message to the callee irrespective of the MS state and just wait for a response message for a preconfigured time without any action. These induce an undesired call forward or cancellation and a long post-dial delay, and thus degrade quality of service (QoS). In this paper, we propose an improved call setup scheme in which the P-CSCF detects the state of the callee MS during the call setup procedure and makes the procedure optimal. Also, we compare the performances of the proposed scheme and the conventional one by MATLAB simulations. Our scheme is adapted in WiMAX Forum as standard call setup procedure for WiMAX VoIP Service. Keywords: Mobile VoIP, QoS, IMS, WiMAX, call forward, post-dial delay 1. Introduction With the growth of communication systems, the voice over IP (VoIP) service has gradually been increasing and becoming a dominant service. Along this, the QoS has become one of the most important issues in the VoIP services. Previous studies have been conducted to improve the QoS by enhancing the performance of a MS, codecs, radio environments, system architectures, etc. [1, 3]. However, they did not consider problems that may occur in a VoIP call session setup procedure, particularly regarding with practical implementations of SIP timers. In wireless communication networks, it is likely for a MS to transit to an idle mode to save its own battery, or to be disconnected from the network due to poor radio environments. However, in a VoIP call session setup procedure, since the P-CSCF is not informed of the state of a callee, or MS, it would send a call session setup request (e.g., SIP INVITE) message to the callee irrespective of the state of that, and just wait for a response message for a preconfigured time without any action. These induce an undesired call forward or cancellation and a long post-dial delay, and thus degrade the QoS. 197
In order to solve these problems, we proposed a new scheme in which the P-CSCF detects the state of a callee before the call session setup signaling, and progresses an optimal call session setup procedure according to that, and standardized it in WiMAX Forum [4]. WiMAX Forum treats the VoIP issues seriously and has been establishing its own standards of the VoIP to accommodate it in WiMAX networks. The phase 1 was established in Service Provider Working Group (SPWG) from Dec. 2009 to March, 2010, where the use cases and requirements of WiMAX VoIP Services (WVS) were defined [5, 6]. Based on those, Working Group (NWG) has standardized network architecture and protocols [7] including our proposed scheme. However, our proposed scheme is not limited to the WiMAX network, but also applicable to any other networks such as 3GPP LTE, and thus improving the QoS of voice over LTE (VoLTE). The rest of the paper is organized as follows. In Section 2 we explain the problems in the call session setup procedure more precisely, and introduce our proposed scheme to solve them in Section 3. Then, we compare the performances of the proposed scheme and the conventional one by MATLAB simulations in Section 4. Finally, conclusions are presented in Section 5. 2. Problems in Mobile VoIP Call Setup Procedure In this section, we explain two typical problems in the conventional mobile VoIP call session setup procedure in wireless communication networks. 2.1. Problem #1; The callee is in idle mode Generally, to save its own battery, a MS may transit to idle mode when there is no traffic for a specific time. In order to send or receive traffic, it should be awaken in advance. It may induce a signaling delay. Figure 1 shows a conventional VoIP call session setup procedure where the terminating-side, or callee#1, is in idle mode. In this case, callee#1 may not respond to SIP INVITE message immediately because it takes time to be paged. Typical length of a paging cycle is 4~6[sec], and, furthermore, re-trials and a multi-paging for groups take much longer time. If there is no response message from callee#1, the P-CSCF retries to send the SIP INVITE message, until it receives a response message or its Call Forward (CF) timer is expired, by the time intervals of 2n*T1 where T1 is a basic time interval and n is natural numbers increasing from 1 (Step 3~5). Only after the CF timer in the P-CSCF is expired without receiving any SIP 180 Ringing message from callee#1, the P-CSCF considers callee#1 to be out of reach (Step 6). Then the P-CSCF decides whether it should forward the call to callee#2 or cancel the call session setup procedure right away (Step 7). In this situation, if the length of the CF timer is shorter than that of callee#1 s average awaking & response time, an undesired call forward or cancellation may occur. In other words, while callee#1 is being awakened, the call may be forwarded to callee#2 or cancelled by the P-CSCF. On the contrary, if we set the CF timer long enough for callee#1 to be successfully paged and respond, it will take too much time for the P-CSCF to make a decision about the states of callee#1. So, it will make the call session setup procedure to be slow even the callee is out of reach or powered off, and the caller wait ring-back tone for a long time, so called long postdial delay. 198
No Ringback Tone (long time) International Journal of Software Engineering and Its Applications P-CSCF GW #1 #2 1. SIP INVITE 2. SIP 100 (Trying) SIP Registered Originating -side 6. CF Timer expired Discarded T 1 T 1 *2 3. SIP INVITE 4. SIP INVITE 5. SIP INVITE SIP 180 Ringing Idle mode p a g i n g Active mode (Undesired call forwarding if the call forwarding has been configured) 7. SIP 181 Call is being forwarded 8. SIP INVITE (Undesired call session setup cancellation if the call forwarding has not been configured,) 7. SIP 408 Request Timeout Figure 1. Conventional VoIP call setup procedure; callee#1 is in idle mode 2.2. Problem #2; The callee is disconnected from networks A MS may also be disconnected from networks for reasons such as exhaustion of battery and movement out of network coverage [8]. Figure 2 describes a conventional VoIP call session setup procedure where callee#1 is disconnected from a network. In this case, callee#1 does not send a SIP 180 Ringing message to the P-CSCF because it cannot receive the SIP INVITE messages sent by the P-CSCF (Step 3~5). Despite the P- CSCF does not need to send the SIP INVITE messages to callee#1, it retransmits the SIP INVITE messages to callee#1 uselessly, until receiving the SIP 180 Ringing message from callee#1, by the time intervals of T 1 *2 n. After all, the P-CSCF cannot receive any SIP 180 Ringing message from callee#1 and its CF timer shall be expired (Step 6). Only after the timer is expired, the P-CSCF considers callee#1 to be out of reach, and decides whether it should forward the call to another callee, or callee#2, or cancel the call session setup procedure (Step 7). According to IETF RFC 3261 [9], the maximum length of the CF timer is 32 seconds which is too long for a caller to wait for. Thus, we can see that this long CF timer causes the call forward or call session setup cancellation to be occurred too late. Also, the caller cannot hear any ring-back tone for that time, or long post-dial delay. To settle the ineffectiveness, we should make the CF timer be shorter. However, as mentioned in subsection 2.1, if the CF timer is too short, it may occur an undesired call forward or cancellation when a callee is in idle mode. In this reason, it is impossible to make the CF timer be short unconditionally. 199
No Ringback Tone (very long time) International Journal of Software Engineering and Its Applications P-CSCF GW #1 #2 1. SIP INVITE 2. SIP 100 (Trying) SIP Registered Disconnected T 1 3. SIP INVITE 4. SIP INVITE T 1 *2 5. SIP INVITE Originating -side 6. CF Timer (max: T 1 *64=32sec) expired (Late call forwarding if the call forwarding has been configured) 7. SIP 181 Call is being forwarded 8. SIP INVITE (Late call session setup cancellation if the call forwarding has not been configured,) 7. SIP 408 Request Timeout Figure 2. Conventional VoIP call setup procedure; callee#1 is disconnected 3. The Proposed Scheme We now propose a new scheme in which once the P-CSCF receives a call session setup request (SIP INVITE) message from the originating-side, it detects the state of the callee MS and progresses an optimal call session setup procedure according to that. Here, we define three states of a UE as follows. ACTIVE: Registered in a VoIP service and connected to a network, and awaken. IDLE: Registered in a VoIP service and connected to a network, but sleep. NOT-IN-SERVICE: Not-registered in a VoIP service or disconnected from a network. In a WiMAX network, the AAA server keeps up with the events of a UE such as network entry, service flow manipulations, and accounting. Table 1 represents the relationship of the IEEE 802.16 MAC messages [10] and the state of a UE recognized by the AAA server in a WiMAX network. For an example, if a UE transits to idle mode, it sends DREG-REQ to the Access Service (ASN) through R1 reference point, and then, the ASN sends an interim update message indicating the transition to idle mode of the UE to the AAA server through R3 reference point. In this way, the AAA server is informed that the UE is in IDLE mode and can deliver it to the P-CSCF if requested. Thus we can design the new architecture in which the P-CSCF gets the state of a UE from the AAA server. If the P-CSCF is informed of the state of a UE in real time, we can solve the problems mentioned in Section 2. 200
R1 message (UE ASN) Nothing (POWER-OFF) RNG-REQ/RSP SBC-REQ/RSP PKM-REQ/RSP REG-REQ/RSP DSA-REQ/RSP DHCP request/response DREG-REQ/CMD (Idle Entry) RNG-REQ/RSP (Idle Exit) DREG-REQ/CMD (network exit) Table 1. The state of a UE in a WiMAX network R3 message (ASN AAA) - The state of a UE (in AAA) Our subscriber or not The state of a UE (AAA P-CSCF) NOT-IN-SERVICE - Our subscriber NOT-IN-SERVICE Access-Request/ Accept (DER/DEA) Authenticated NOT-IN-SERVICE - Authenticated NOT-IN-SERVICE Accounting start (ACR/ACA) Interim Update (Idle Entry) Interim Update (Idle Exit) Accounting-Stop (and Diameter STR) IP-Allocated (Active) Idle Mode Active De-registered (our subscriber) ACTIVE IDLE ACTIVE NOT-IN-SERVICE As well as the AAA server, the P-CSCF may get the state of a UE from policy and charging rule function (PCRF) [11]. If a UE transits to IDLE or ACTIVE mode, the network gateway, or the PDN-gateway in 3GPP, reports the events to the PCRF by the Event-Trigger AVPs through Gx reference point in real time. Also, the network disconnection and network entry events of a UE are also reported to the PCRF. Thus we can design the new architecture in which the P-CSCF gets the state of a UE from the PCRF. In the above ways, we make the VoIP call session setup procedure to be effective. In the following subsections 3.1 and 3.2, we explain our proposed scheme using the AAA server in the cases of IDLE and NOT-IN-SERVICE, respectively. But, in the case of ACTIVE, since the proposed scheme is similar to the conventional call session setup procedure, we skip the explanation. 3.1. Use Case #1; The callee is in IDLE mode Figure 3 depicts the proposed VoIP call session setup procedure where callee#1 is in idle mode. As mentioned above, in a WiMAX network, the AAA server maintains the states of all UEs. On receiving a SIP INVITE message from originating side, or a caller, the P-CSCF queries the state of callee#1 to the AAA server (Step 3, 4) before sending the SIP INVITE message to callee#1. If its state is IDLE, the P-CSCF adjusts or extends the CF timer value enough to wait for a response message from callee#1 (Step 5). This prevents an undesired call forward or an undesired call session setup cancellation, contrarily to Figure 1. Also, because the P-CSCF sends the SIP 180 Ringing message to originating-side instead of callee#1 (Step 7), the caller can hear ring-back tone with very short post-dial delay. After that, callee#1 will be awaken to active mode and sends the SIP 180 Ringing message to the P- CSCF. Because the CF timer in the P-CSCF is extended, the P-CSCF shall receive the SIP 180 Ringing message from callee#1 but it ignores the message (Step 12). It is because the message has already been sent to the originating-side (Step 5) by the P-CSCF. Finally, if callee#1 sends the SIP 200OK message, the VoIP call session is established successfully. 201
AAA P-CSCF GW #1 #2 1. SIP INVITE 2. SIP 100 (Trying) 3. Query #1's status 4. Response (IDLE) SIP Registered Idle mode 5. Adjust CF Timer Originating -side 7. SIP 180 Ringing T 1 T 1 *2 T 1 *4 6. SIP INVITE 8. SIP INVITE 9. SIP INVITE 10. SIP INVITE p a g i n g (No undesired call forwarding, No undesired call session setup cancellation) 15. SIP 200OK 16. SIP ACK CF Timer extended 12. SIP 180 Ringing 14. SIP 200OK 17. SIP ACK 11. Active mode 13. Hookoff VoIP Call Session Established Figure 3. Proposed VoIP call setup procedure; callee#1 is in IDLE 3.2. Use Case #2; The callee is NOT-IN-SERVICE Figure 4 illustrates the proposed VoIP call session setup procedure where callee#1 is disconnected from a network. On receiving a SIP INVITE message from originating side, or a caller, the P-CSCF queries the state of callee#1 to the AAA server (Step 3, 4) before sending the SIP INVITE message to callee#1. If its state is NOT-IN-SERVICE, the P-CSCF does not need to wait for a response message from callee#1 because callee#1 is not in service. Thus, immediately, the P-CSCF progresses the next signaling (Step 5). If callee#1 is subscribed to the call forwarding service, the P-CSCF sends the SIP INVITE message to another subscribed callee, or callee#2, to forward the call to it. Also, it sends the SIP 181 Call is forwarded message to the originating side, or the caller, to notify the call forward procedure. Otherwise, if callee#1 is not subscribed to the call forwarding service, the P-CSCF sends the SIP 408 Request Timeout message to the originating-side to cancel the call session setup procedure. Thus, the proposed scheme prevents a too late call forward or a too long call session setup cancellation and too long post-dial delay. Contrarily to Figure 2, it makes the caller to be comfort to wait for the response from the callee. 202
AAA P-CSCF GW #1 #2 1. SIP INVITE 2. SIP 100 (Trying) 3. Query #1's status 4. Response (NOT-IN-SERVICE) SIP Registered Disconnected Originating -side (Immediate call forwarding if the call forwarding has been configured,) 5. SIP 181 Call is being forwarded 6. SIP INVITE (Immediate call session setup cancellation if the call forwarding has not been configured,) 5. SIP 408 Request Timeout Figure 4. Proposed call setup procedure; callee#1 is NOT-IN-SERVICE 4. Performance Evaluations In this section, we compared the performances of the conventional scheme and the proposed one by MATLAB simulations. Although our research focuses on a wireless network, it is meaningful to analyze the performance for a stationary snapshot environment instead of an mobile environment. It is because they are similar to each other in the view of mathematical statistics. Table 2 shows simulation parameters. Basically, if total response time (R) from a callee is larger than the CF timer (Γ) in the P-CSCF, an undesired call forward or an undesired call session setup cancellation occurs. In the contrary, if R is shorter than Γ, the normal VoIP call setup procedure is proceeded. R is the sum of various time parameters such as T AAA, T callee, T CSCF, T req, or T rsp. But it is different according to the state of a callee. Especially, in the case of idle callees, R includes the time length λ which accords to an exponential distribution. Its probability distribution function (pdf) is defined to be f(λ)=1/m exp(-λ/m) where m is a mean. In the conventional system, Γ is a fixed value but, in the proposed scheme, it can be dynamically adjusted according to the state of the callee. In this simulation, we assumed that the P-CSCF extends Γ by 5 seconds if it is informed of that the callee is in idle mode. The probability of successful paging for an idle callee is P pg. If there is no response message from a callee, a P-CSCF retransmits a SIP INVITE message after T INV. The criterion of a satisfied post-dial delay, S, is assumed to be 8 seconds. If R is larger than S, then the caller feels dissatisfied. Also, total number of callees is 10,000[ea]. Here, we assumed that 18[%] active callees, 80[%] idle callees and 2[%] not-in-service callees, and they are coexist in a WiMAX system. 203
Table 2. Simulation parameters Parameter Definition Value N Number of callees 10,000[ea] N active Number of active callees 1,800[ea] N idle Number of idle callees 8,000[ea] N nis Number of not-in-service callees 200[ea] P pg Probability of successful paging 80[%] R Total response time from a callee Variable S Criterion for a satisfied post-dial delay 8[sec] T AAA Response time of an AAA server for the request of a P-CSCF 40 [ms] T callee Internal processing delay of a callee for a SIP signaling 15 [ms] T CSCF Internal processing delay of a P-CSCF for a SIP signaling 15 [ms] T INV Time interval of SIP INVITE messages. T 1 =500 T INV = 2 n T 1 where T 1 =500[ms] and n=0,1,2, [ms] T req Transmission time of a SIP INVITE message from a P-CSCF to a callee 10[ms] T rsp Transmission time of a SIP 180 Ringing message from a callee to a P-CSCF 10 [ms] λ Time length for an idle callee to be awaken. An exponential distribution of m=5,000 which pdf is f(λ)=1/m exp(-λ/m)) where m is a mean. [ms] Γ Time length of the CF timer in a P-CSCF Variable Γ adj Adjusted time length of the CF timer in a P-CSCF Γ+5 [sec] Γ max The maximum value of the CF timer in a P-CSCF 32,000[ms] The simulation data are summarized in Table 3. As we expected, our new scheme lowers the average probability of an undesired call forward or an undesired call session setup cancellation. This is because the P-CSCF adjusts the length of the CF timer optimally according to the state of a callee. In the conventional scenario, we also may prevent those problems by extending the CF timer. For an example, when Γ is 6[sec], the problems occur in 19.85[%] of the total calls. But, when Γ is 14[sec], it decreases to 2.59[%]. However, extending the CF timer (Γ) unconditionally causes a too long post-dial delay when a callee is disconnected from a network. Practically, we can see that as Γ increases, the average and variance of post-dial delay also increases, and this causes higher ratio of dissatisfied callers. In other words, if Γ is 14[sec], the P-CSCF may wait for a response message from a callee for 14[sec] maximally which is tediously long time for the caller exceeding the criterion. Here, since we assume a criterion of post-dial delay as 8[sec], Table 3. Simulation data Average probability of undesired CF or cancel [%] Average and variance of post-dial delay[sec, sec 2 ] and ratio of dissatisfied callers[%] Conventional Proposed Conventional Proposed Γ=6[sec] 19.85 5.91 2.7610, 5.2360, 0 0.0750, 0, 0 Γ=8[sec] 11.26 3.27 3.0718, 7.8930, 11.03 0.0750, 0, 0 Γ=10[sec] 7.42 2.22 3.3406, 10.6257, 13.70 0.0750, 0, 0 Γ=12[sec] 4.54 1.35 3.4537, 12.9167, 13.72 0.0750, 0, 0 Γ=14[sec] 2.59 0.70 3.5684, 15.1346, 13.88 0.0750, 0, 0 204
(a) Average probability of undesired CF or Cancel (b) Ratio of dissatisfied callers Figure 5. Simulation results about 13.88[%] of calls does not satisfy the criterion. On the contrary, if we use the proposed scheme, when Γ is 6[sec], the problems decreases from 19.85[%] to 5.91[%] maintaining very low average and variance of post-dial delay. Also, when Γ is 14[sec], the problems decreases from 2.59[%] to 0.70[%] also maintaining very low average and variance of post-dial delay, and zero ratio of dissatisfied callers. This is because it takes always just 75[msec] for the caller to receive a response message from the P-CSCF, and thus, satisfy the port-dial delay criterion. Also, refer to Figure 5(a) and 5(b). 5. Conclusions In this paper, in order to improve QoS of mobile VoIP services, we have proposed a new scheme in which a call session control server provides an appropriate and effective VoIP call setup procedure according to the pre-detected mobile states of callee. It prevents the VoIP service from resulting in an undesired call forwarding or an undesired call session setup cancellation and having a long post-dial delay when callee MS is in idle mode. Also, it reflects the not-in-service state of callee in real-time so that it can make a quicker decision for call forwarding or cancellation, providing a prompt post-dial tone. We showed that the performances of the proposed scheme are superior to those of the conventional one, quantitatively, by MATLAB simulations. Especially, the effectiveness is dominant in wireless communication environments. We standardized our proposed scheme in WiMAX Forum where the WiMAX VoIP Service (WVS) is one of killer applications. For further study, we will apply our proposed scheme to other networks like the 3GPP LTE, as well as WiMAX networks. 205
References [1] S. Jelassi, G. Rubino, H. Melvin, H. Youssef and G. Pujolle, Quality of Experience of VoIP Service: A Survey of Assessment Approaches and Open Issues, IEEE Communications survey & tutorials, vol. 14, no. 2, (2012). [2] J. -w. Park and M. -j. Lee, QoS Provisioning Method for Downstream VoIP Service Flows in HFC s, IEEE Transactions on Consumer Electronics, vol. 53, (2007). [3] M. Grah and P. Radcliffe, Dynamic QoS and Control of Commercial VoIP Systems in Future Heterogeneous s, 10 th IEEE International Symposium on Multimedia, (2008). [4] WiMAX Forum NWG, WVS_00045_r003_KT_ZTE_Intel_CallSetup_for_Idle_harmonized.doc, (2010) August 30. [5] WiMAX Forum SPWG, DRAFT-T31-128-R020v01 SPWG VoIP Requirements Specification. doc, (2010) March 23. [6] WiMAX Forum SPWG, ewvs Requirements baseline v6.doc, (2010) September 2. [7] WiMAX Forum NWG, NWG_WVS_Working_Baseline_Version_1.2.0_Marked_Up.doc, (2010). [8] WiMAX Forum NWG, WVS_00032_r001_WVS_KT_handling_MS_stats.ppt, (2010) June 23. [9] IETF RFC 3261, SIP: Session Initiation Protocol, June (2002). [10] IEEE Standard for Local and metropolitan area networks, Part16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems (802.16e), (2005) September. [11] 3GPP TS29.212, Release 9, Policy Policy and Charging Control over Gx reference point, (2012). Authors Soonuk Seol received his B.S. degree from Korea University of Technology and Education (KOREATECH) in 1998, M.S and Ph.D. degrees in Information and Communication Engineering from KAIST in 2000 and 2004, respectively. From 1998 he was also a visiting researcher at the Protocol Engineering Center in ETRI in Korea until October 1999. He worked as a senior researcher at KT from 2004 to 2012 and mainly participated on developing mobile VoIP platform and QoS control system like PCRF. Also, he has contributed to standardization of WiMAX VoIP Service and Policy Server in WiMAX Forum since 2005. He is currently an Assistant Professor in School of Electrical, Electronics, and Communication Engineering at KOREATECH. His research interests include Mobile VoIP, QoS, and protocol testing. Sungsoo Cho received the B.S. degree from the Kyungpook National University(KNU), Daegu, in 2004 and the M.S. degree from the Korea Advanced Institute of Science and Technology (KAIST), Daejeon, in 2006. He has many experiences working as an Engineer for the company KT, Korea. He developed several systems and services such as the policy and charging rule function (PCRF) in 3GPP/WiMAX, the unified customer equipment management system (U-CEMS) based on SNMP/TR-069, and a desktop virtualization solution (so called mspace). Also, he contributed to the deployment and optimization of the WiBro network for KT. His research interests include VoIP, QoS/QoE, wireless networks, resource management. 206