Microsoft Word - 3-664-ed.doc Engineering, Technology & Applied Science Research Vol. 6, No. 4, 2016, 1050-1055 1050 www.etasr.com Haj Aliwi et al.: A Comparison Between Inter-Asterisk eXchange Protocol and Jingle Protocol … A Comparison Between Inter-Asterisk eXchange Protocol and Jingle Protocol: Session Time H. S. Haj Aliwi School of Computer Sciences Universiti Sains Malaysia Hadeelsaleh12@yahoo.com N. K. A. Alajmi Saad Al-Abdullah Academy for Security Sciences, Kuwait Naser.k.a.alajmi@gmail.com P. Sumari School of Computer Sciences Universiti Sains Malaysia putras@usm.my K. Alieyan National Advanced IPv6 Center Universiti Sains Malaysia kamal_alian@nav6.usm.my Abstract—Over the last few years, many multimedia conferencing and Voice over Internet Protocol (VoIP) applications have been developed due to the use of signaling protocols in providing video, audio and text chatting services between at least two participants. This paper compares between two widely common signaling protocols: InterAsterisk eXchange Protocol (IAX) and the extension of the eXtensible Messaging and Presence Protocol (Jingle) in terms of delay time during call setup, call teardown, and media sessions. Keywords-multimedia conferencing; VoIP; signaling protocols; Jingle; IAX I. INTRODUCTION With the appearance of numerous multimedia conferencing and Voice over Internet protocols [3, 6, 10, 12], the decision to choose the appropriate protocol to be utilized in such a service has become very difficult since each protocol has its own privileges which differ from the corresponding privileges of the other protocols. This paper defines the attributes of IAX and Jingle protocols because of their services compared with the other signaling protocols. Therefore, the objective of this paper is mainly to make a comparative study between IAX and Jingle protocols in terms of quality of services (packet delay). This paper does not cover video conferencing and document conferencing services (instant messaging, file attachment and image sharing) since IAX is a VoIP Protocol, despite it can be used for any type of streaming media, but it is mainly designed for IP voice Calls. Choosing IAX and Jingle protocols to be compared is due to many reasons. IAX is an interesting alternative compared to the conventional VoIP protocols. Nowadays, IAX is being deployed by service providers for their VoIP service offerings (e.g. H.323 and SIP). IAX protocol offers significant features that are not provided by other existent VoIP signaling protocols. Furthermore, many researchers have shown that IAX is slightly better than SIP [4, 5, 11], H.323 [1], MGCP [8] and RSW [9, 17] in terms of quality of services. Just as IAX protocol has many features, Jingle protocol is considered as the standard protocol for Gmail chatting application with regard to audio and video conferencing services. Most popular chatting applications use Jingle protocol to handle the call setup, audio/video chatting, and call teardown sessions. Such applications are Gtalk, Talkonaut, and Hangouts [7]. II. BACKGROUND A. IAX Protocol In 2004, Mark Spencer created the Inter-Asterisk eXchange (IAX) protocol for asterisk that performs VoIP signaling [22]. IAX is supported by a few other softswitches, (Asterisk Private Branch eXchange) PBX systems [23], and softphones [18]. Any type of media (Video, audio, and document conferencing) can be managed, controlled and transmitted through the Internet Protocol (IP) networks based on IAX protocol [25]. IAX2 is considered to be the current version of IAX. The IAX’s first version is obsolete. IAX supports the trunk connections concept for numerous calls. The bandwidth usage is reduced when this concept is being used because all the protocol overhead is shared by two IAX nodes for the whole calls. Over a single link, IAX provides multiplexing channels [13, 14]. The three main procedures used for the audio conferencing between two IAX endpoints are call setup, audio transmission, and call teardown with the steps of each procedure. Endpoint A Sends NEW packet to the Endpoint B to place a call, and wait until receiving an ACCEPT packet from Endpoints B, After ACCEPT reply, Endpoint A sends an ACK packet to Endpoint B to acknowledge of receiving the ACCEPT packet by Endpoint A. After that, Endpoint B rings at Endpoint A by sending a RINGING packet, which in turn send an ACK packet to Endpoint B to inform about receiving the ACCEPT message. Then, Endpoint B sends an ANSWER packet to Endpoint A in order to start the call, and wait till sending the acknowledgment message (ACK) by endpoint A. At that time, the audio conferencing is started by transferring the audio packets between the two endpoints which is carried by the IAX mini and full frames. Once the two endpoints complete their call, Endpoint A sends HANGUP packets to Endpoint B to end the call, finally Endpoint B do reply back by sending an acknowledgment packet (ACK). It can be concluded that [24]: • IAX Setup Session Time = the receiving time of the third ACK message – the sending time of NEW message. Engineering, Technology & Applied Science Research Vol. 6, No. 4, 2016, 1050-1055 1051 www.etasr.com Haj Aliwi et al.: A Comparison Between Inter-Asterisk eXchange Protocol and Jingle Protocol … • IAX Media Session Time = the sending time of HANGUP message – the receiving time of the third ACK message. • IAX Teardown Session Time = the receiving time of the fourth ACK message – the sending time of HANGUP message. B. Jingle Protocol The eXtensible Messaging and Presence Protocol (XMPP) [19] is a standard specified by the Internet Engineering Task Force (IETF) for carrying instant message service. XMPP is an open Extensible Markup Language (XML) protocol for a real- time messaging, presence, and request/response services. First, Jabber open-source community proposed and introduced XMPP. Subsequently, the IETF approved and archived it in many Internet specifications. Originally, the scope of XMPP was only instant messaging, but as an extensible protocol, it has also come to support VoIP. The VoIP extension to XMPP is known as Jingle and was developed by Google [20]. There are three types of sessions used by Jingle to do the negotiations between two entities. They are respectively session-initiation, session-accept, and session-terminate. Considering that two entities are starting in negotiation, which are the initiator and the responder. To setup the call, the initiator sends a session initiation offer to the responder. After the responder acknowledges the receipt of the session-initiate message, it prompts the responder to choose whether he wants to proceed with the session. If he wants to proceed, he selects the appropriate interface element and his client sends a session- accept message to the initiator. The initiating client acknowledges receipt of the session-accept message [16]. After that, both the initiator and the responder can exchange the audio data over RTP protocol [2]. Eventually, one of the clients will terminate the session. The other client acknowledges receipt of the session-terminate message and the session is ended. Like the call setup, the call teardown takes place over Jingle protocol [21]. It can be concluded that [15]: • Jingle Setup Session Time = the receiving time of the second ACK message – the sending time of session-initiate message. • Jingle Media Session Time = the sending time of session- terminate message – the receiving time of the second ACK message. • Jingle Teardown Session Time = the receiving time of the third ACK message – the sending time of session- terminate message. III. IAX AND JINGLE: A COMPARISON The packet delay for both IAX and Jingle protocols during Setup, teardown, and media sessions has been tested by using the Network Simulation NS2 (ns-2.35) [26]. For each session, five scenarios have been provided in order to compare the values of packet delay in IAX client with the corresponding ones in Jingle protocol. It can be noticed from the experiments that IAX protocol has an improved performance over Jingle protocol due to trunking property, so several communications can be multiplexed into the data stream. A. Simulation Parameters In Table I, the simulation parameters with regard to nodes, peer connection, audio codec, protocols, transmission range, packet size, and simulation time are clarified. TABLE I. SIMULATION PARAMETERS Parameter Value Used in Scenarios Nodes IAX Client, IAX Server, Jingle Client, Jingle Server Peer Connection One-to-One, Two-to-Two, Three-to-Three, Four-to-Four, Five-to-Five Codec G.711 Network Protocol IP Transport Protocol UDP, RTP Signaling Protocol IAX & Jingle Transmission Range 375 m Propagation Delay 10 Milli Seconds Packet Size 512 Bytes Simulation Time 50 Seconds B. Performance with Packet Delay (Call Setup Session) The experiments focused on comparing the values of the setup delay time in Jingle with the corresponding values in IAX. To examine the quality effects due to setup delay, both IAX and Jingle have been compared with a fixed packet sequence number ranging from 1 to 6 with increment of 1. Five Scenarios are provided starting from 1 to 5 calls. As indicated in Figures 1 and 2, the IAX packet delay varies between 0.00231 and 0.00314 seconds, 0.00375 and 0.00427 seconds in case of one and two calls respectively, whereas, Jingle packet delay varies between 0.00254 and 0.00318 seconds in case of one call and between 0.00389 and 0.00447 seconds in case of two calls. As shown in figure 3, the packet delay value for both IAX and Jingle increase since one more call is added by adding two more clients to the experiment (one IAX client and one Jingle client). In this experiment, the packet delay value for both IAX and Jingle clients varies between 0.00477 and 0.00552 seconds with the note that IAX has an improvement in performance over Jingle. In addition, for both four-to-four and five-to-five peer connections, the maximum IAX packet delay values during the setup session are 0.00635 and 0.00726 seconds respectively which are slightly less than the maximum Jingle packet delay values during the same session which are 0.00648 and 0.00732 seconds respectively. In Table II, the whole setup session time is calculated for both IAX and Jingle within number of calls varies between 1 and 5 calls. The setup session is responsible for initiating the IAX/Jingle call before starting the voice chatting. TABLE II. IAX/JINGLE SETUP SESSION TIME Setup Session Time Number of Calls IAX Jingle 1 0.01642 Seconds 0.01745 Seconds 2 0.02414 Seconds 0.02501 Seconds 3 0.03115 Seconds 0.03184 Seconds 4 0.03652 Seconds 0.03748 Seconds 5 0.04218 Seconds 0.04278 Seconds Engineering, Technology & Applied Science Research Vol. 6, No. 4, 2016, 1050-1055 1052 www.etasr.com Haj Aliwi et al.: A Comparison Between Inter-Asterisk eXchange Protocol and Jingle Protocol … Fig. 1. IAX/Jingle Packet Delay for 1 Call: Setup Session Fig. 2. IAX/Jingle Packet Delay for 2 Calls: Setup Session Fig. 3. IAX/Jingle Packet Delay for 3 Calls: Setup Session Fig. 4. IAX/Jingle Packet Delay for 4 Calls: Setup Session Fig. 5. IAX/Jingle Packet Delay for 5 Calls: Setup Session C. Performance with Packet Delay (Call Teardown Session) The comparison between the call teardown delay values in Jingle and the corresponding values in IAX is presented in this section. Both IAX and Jingle are compared with a fixed packet sequence number ranging from 1 to 5 with increment of 1. Based on Figures 6 and 8, the minimum IAX and Jingle packet delay values during teardown session are in the first packet, whereas, the last packet has the maximum packet delay values for IAX protocol in case of one call and for Jingle protocol in case of three calls. Figure 7 present IAX/Jingle packet delay within two active IAX/Jingle clients. As seen, the teardown session starts in the highest delay values for both IAX and Jingle, then the delay values keeps decreasing until the fourth packet sequence number where increasing later. Fig. 6. IAX/Jingle Packet Delay for 1 Call: Teardown Session Fig. 7. IAX/Jingle Packet Delay for 2 Calls: Teardown Session Engineering, Technology & Applied Science Research Vol. 6, No. 4, 2016, 1050-1055 1053 www.etasr.com Haj Aliwi et al.: A Comparison Between Inter-Asterisk eXchange Protocol and Jingle Protocol … From Figure 9, it can be noticed that the delay values for both IAX and Jingle are much closed to each other although despite IAX has lass delay values for the whole packet sequence numbers. The delay difference between IAX and Jingle delay values does not exceed 0.00011 seconds. On the other hand, the differences between the IAX and Jingle delay values in Figure 10 are far apart by nearly 0.0003 seconds especially in the packet sequence numbers two to five. Fig. 8. IAX/Jingle Packet Delay for 3 Calls: Teardown Session Fig. 9. IAX/Jingle Packet Delay for 4 Calls: Teardown Session Fig. 10. IAX/Jingle Packet Delay for 5 Calls: Teardown Session Table III presents the teardown session time in case of one IAX/Jingle to five IAX/Jingle calls The teardown session has the responsibility for terminating the IAX/Jingle call once the two participants decided to end the voice chatting. TABLE III. IAX/JINGLE TEARDOWN SESSION TIME Teardown Session Time Number of Calls IAX Jingle 1 0.01312 Seconds 0.01369 Seconds 2 0.01942 Seconds 0.01979 Seconds 3 0.02644 Seconds 0.02699 Seconds 4 0.03112 Seconds 0.03147 Seconds 5 0.03587 Seconds 0.03694 Seconds D. Performance with Packet Delay (Media Session) During the media session, the participants exchange the speech which is transferred from the source to the distention in the form of media packets. In this section, the performance of Jingle and IAX in the presence of packet delay has been compared. The performance of both protocols has been tested using a fixed packet sequence number ranging from 1 to 100 with increment of 1. As shown in Figures 11-15, the packet delay during the media session for both IAX and Jingle does not exceed 0.009 seconds. Based on the media session results, during the first 100 packets the delay values vary from an increase in delays and decreasing. The media packet is exchanged with the lowest delay values of roughly 0.002 seconds in case of one call. By increasing the number of calls by one, the packet delay values increase by 0.001 to 0.002 seconds until reaching 0.0009 seconds in case of five calls. Fig. 11. IAX/Jingle Packet Delay for 1 Call: Media Session Fig. 12. IAX/Jingle Packet Delay for 2 Calls: Media Session In the experiments with more than one call, each packet delay value has been founded by calculating the average of the packet delay values for the whole call. For example, Figure 13 indicates the packet delay within three calls, so to find the Engineering, Technology & Applied Science Research Vol. 6, No. 4, 2016, 1050-1055 1054 www.etasr.com Haj Aliwi et al.: A Comparison Between Inter-Asterisk eXchange Protocol and Jingle Protocol … packet delay value when the packet sequence number is 50; we have to find the summation of the delay values during call 1, call 2, and call 3 with the same packet sequence number over 3 which is the number of calls. This means that: Packet 50 delay (for 3 calls) = Packet 50 delay (for call 1) + Packet 50 delay (for call 2) + Packet 50 delay (for call 3) / 3. Fig. 13. IAX/Jingle Packet Delay for 3 Calls: Media Session Fig. 14. IAX/Jingle Packet Delay for 4 Calls: Media Session Fig. 15. IAX/Jingle Packet Delay for 5 Calls: Media Session Table IV presents the media session time for the first 100 packets. The session time is founded in case of 1 to 5 calls. The media session has the responsibility for starting the voice chatting between two participants after initiating the call by the setup session and stop the call in order to terminate the call by the teardown session. TABLE IV. IAX/JINGLE MEDIA SESSION TIME Media Session Time Number of Calls IAX Jingle 1 0.245445 Seconds 0.27061 Seconds 2 0.363002 Seconds 0.398217 Seconds 3 0.511089 Seconds 0.540154 Seconds 4 0.656467 Seconds 0.696029 Seconds 5 0.801055 Seconds 0.846396 Seconds IV. CONCLUSION This paper investigated the main differences between the InterAsterisk eXchange Protocol (IAX) and the extension of the eXtensible Messaging and Presence Protocol (Jingle) IAX and Jingle by performing a comparison in terms of quality of services (packet delay) during all sessions. REFERENCES [1] I. Basicevic, M. Popovic, D. Kukolj, “Comparison of sip and h.323 protocols”, 3rd International Conference on Digital Telecommunications ICDT ’08, pp. 162–167, 2008 [2] E. Chow, “RTP: A transport protocol for real-time applications”, 2000, available at: http://cs.uccs.edu/~cs525/RTP.PDF [3] B. Forouzan, Data Communications and Networking, 4th edition, McGrawHill, New York, USA, 2007. [4] D. Geneiatakis, T. Dagiuklas, G. Kambourakis, C. Lambrinoudakis, S. Gritzalis, “Survey of security vulnerabilities in session initial protocol”, IEEE Communications Surveys & Tutorials, Vol. 8, No. 3, pp. 68-81, 2006 [5] J. Glasmann, W. Kellerer, H. Muller, “Service architectures in h.323 and SIP: a comparison”, IEEE Communications Surveys & Tutorials, Vol. 5, No. 2, pp. 32-47, 2003 [6] B. Goode, “Voice over internet protocol (VoIP)”, Proceedings of the IEEE, pp. 1495 –1517, 2002 [7] Google Developers, “Google Talk for developers”, 2011, available at: https://developers.google.com/talk/jep_extensions/extensions [8] T. Dajiuklas, K. Ioannou, A. Garmpis, “A lightweight and scalable VoIP platform based on MGCP/H.323 interworking and QOS management capabilities”, 4th WSEAS International Conference on Information Security, Communications and Computers, Tenerife, Spain, pp. 548-553, 2005 [9] H. S. Haj Aliwi, S. A. Alomari, P. Sumari, “An effective method for audio translation between IAX and RSW protocols”, World Academy of Science, Engineering and Technology, Vol. 5, No. 11, pp. 253-256, 2011 [10] H. S. Haj Aliwi, P. Sumari, “A comparative study of VoIP, MCS, instant messaging protocol and multimedia applications”, International Journal of Advances in Computer Networks and Its Security, Vol. 4, No. 2, pp. 67-70, 2014. [11] H. S. Haj Aliwi, S. A. Alomari, P. Sumari, “An efficient audio translation approach between SIP and RSW protocols”, 3rd World Conference on Information Technology (WCIT-2012), University of Barcelona, Spain, pp. 31-37, 2013 [12] H. S. Haj Aliwi, P. Sumari, “A comparative study of VoIP protocols”, International Journal of Computer Science and Information Security, Vol. 11, No. 4, pp. 97-101, 2013 [13] H. S. Haj Aliwi, P. Sumari, S. A. Alomari, “An efficient interworking between heterogeneous networks protocols and multimedia computing applications”, International Journal of Computer Science and Information Security, Vol. 11, No. 5, pp. 81-86, 2013 [14] M. Kolhar, M. Abu-Alhaj, O. Abouabdalla, T.C. Wan, A. Manasrah, “Comparative evaluation and analysis of IAX and RSW”, International Journal of Computer Science and Information Technology, Vol. 6, No. 3, pp. 250–252, 2013 Engineering, Technology & Applied Science Research Vol. 6, No. 4, 2016, 1050-1055 1055 www.etasr.com Haj Aliwi et al.: A Comparison Between Inter-Asterisk eXchange Protocol and Jingle Protocol … [15] S. Ludwig, J. Beda, P. Saint-Andre, R. McQueen, S. Egan, J. Hildebrand, “Jingle”, XSF XEP 0166, 2007, available at: http://xmpp.org/extensions/xep-0166.html [16] S. Ludwig, P. Saint-Andre, S. Egan, R. McQueen, D. Cionoiu, “Jingle RTP Sessions”, XEP 0167, 2009, available at: http://xmpp.org/extensions/xep-0167.html [17] S. Ramadass, R. K. Subramanian, H. Guyennet, M. Trehel, “Using RSW control criteria to create a distributed environment for multimedia conferencing”, Proceedings on Research and Development in Computer Science and its Applications, Penang, Malaysia, pp. 27-29, 1997 [18] E. Reeves, “Testing devices that handle Inter-Asterisk eXchange, Version 2 (IAX2) Protocol”, 2011. available at: http://blogs.ixiacom.com/ixia-blog/content-aware-testing-iax2-protocol/ [19] P. Saint-Andre, “Extensible messaging and presence protocol (XMPP)”, RFC 3921, Instant Messaging and Presence. Internet Engineering Task Force, 2004 [20] P. Saint-Andre, “Interworking between the session initiation protocol (SIP) and the extensible messaging and presence protocol (XMPP): media sessions”, XMPP Standards Foundation, 2013, available at: https://tools.ietf.org/html/draft-ietf-stox-media-07 [21] P. Saint-Andre, S. Ibarra, E Ivov, “Interworking between the session initiation protocol (SIP) and the extensible messaging and presence protocol (XMPP): Media Sessions”, XMPP Standards Foundation, 2015, available at: https://tools.ietf.org/html/draft-ietf-stox-media-05 [22] M. Spencer, B. Capouch, E. Guy, F. Miller, K. Shumard, “IAX: Inter- Asterisk eXchange Version 2”, 2010, available at: http://tools.ietf.org/html/ rfc5456 [23] M. Spencer, “IAX”, 2004, available at: http://www.voip-info.org/wiki/ view/IAX [24] M. Spencer, “Configuring IAX clients”, 2004, available at: http://www.voip-info.org/wiki/view/Asterisk+config+iax.conf [25] M. Spencer, F.W. Miller, “IAX protocol description”, 2004, available at: http://www.voipinfb.hu/content/download/iax.pdf [26] N. Garg, “Network simulators: a case study”, International Journal of Advanced Research in Computer Science and Software Engineering, Vol. 5, No. 1, pp. 651-655, 2015