A Comparison Between Inter-Asterisk eXchange Protocol and Jingle Protocol : Session Time

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


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].

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.

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 realtime 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 sessionaccept 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 sessionterminate 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 sessionterminate 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.

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.

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.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.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.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 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 .
Fig. 13.IAX/Jingle Packet Delay for 3 Calls: Media Session IV. CONCLUSIONThis 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.

TABLE III .
IAX/JINGLE TEARDOWN SESSION TIME

TABLE IV .
IAX/JINGLE MEDIA SESSION TIME