Abstract: Background: 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. Objective: This study compared the two widely common signaling protocols, Inter-Asterisk eXchange Protocol (IAX) and the VoIP extension of the extensible messaging and presence protocol (Jingle) in terms of jitter during the media session. Both call setup and teardown sessions are out of this study. Methodology: Each one of the chosen protocols has its methods to exchange the data between the users, IAX uses its own header which is called mini header to carry the payload, whereas, the voice call is exchanged between two jingle participants over RTP header. Results: The NS2 has been used in order to test the performance for each protocol by finding the jitter value within certain number of calls varying from one to five calls. Conclusion: It can be noticed from the experiments that IAX protocol has improvement of performance over jingle protocol due to trunking property provided by IAX.
INTRODUCTION
With the appearance of numerous multimedia conferencing and Voice over Internet Protocols (VoIP)1-3, 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.
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). The 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 SIP4,5, H.3236, MGCP7 and RSW8,9 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.
IAX protocol: In 2004, Spencer et al.10 has created the Inter-Asterisk eXchange (IAX) protocol for asterisk that performs VoIP signaling10,11. The IAX is supported by a few other softswitches, (Asterisk Private Branch eXchange) PBX systems and softphones. Any type of media (video, audio and document conferencing) can be managed, controlled and transmitted through the Internet Protocol (IP) networks based on IAX protocol12,13. The IAX2 is considered to be the current version of IAX as the IAXs first version is obsolete. The IAX supports the trunk connection concept for numerous calls14,15. 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 channels16,17.
Jingle protocol: The eXtensible Messaging and Presence Protocol (XMPP)18,19 is a standard specified by the Internet Engineering Task Force (IETF) for carrying instant message service. The 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 Google20. Jingle protocol is responsible for all media calls including voice and video calls.
This study defined the attributes of IAX and jingle protocols because of their services compared with the other signaling protocols. Therefore, the objective of this study was mainly to make a comparative study between IAX and jingle protocols in terms of quality of services (jitter). This study does not cover video conferencing and document conferencing services (instant messaging, file attachment and image sharing) since IAX is a VoIP signaling protocol, despite it can be used for any type of streaming media, but it is mainly designed for IP voice calls.
MATERIALS AND METHODS
Internet-Asterisk eXchange (IAX) protocol uses its own header to carry the payload during the media session. This header is called as mini header which has the size of 4 bytes and is divided into two fields, the first field is the source call number which has the size of 2 bytes and the second field is the timestamp which has the size of 2 bytes. So, during the voice call, both the initiator and responder exchange the data carried by the mini header.
In case of jingle protocol, both the initiator and the responder can exchange the audio data over RTP protocol21, as jingle protocol does not have a certain header to carry the data. During the media session, the payload is carried by RTP header which has the size of 12 bytes and is divided into nine fields; one field for the timestamp which has the size of 4 bytes, another field for synchronization source identifier which has the size of 4 bytes and other small fields such as version, padding, extension, contributing source identifier count, marker and payload type, which have the sizes of 2, 1, 1, 4, 1 and 7 bits, respectively.
RESULTS AND DISCUSSION
The jitter for both IAX and jingle protocols during media session has been tested by using the Network Simulation NS2 (ns-2.35)22 and G.711 audio codec for data compression23,24. Five scenarios have been provided in order to compare the values of jitter delay in IAX client with the corresponding ones in jingle protocol. It can be noticed from the experiments that IAX protocol has improvement of performance over jingle protocol due to trunking property, so several communications can be multiplexed into the data stream.
Table 1 shows the simulation parameters with regard to nodes, peer connection, audio codec, protocols, packet size and simulation time have been clarified.
The media session has the responsibility to start 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.
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 jitter has been compared. The performance of both protocols has been tested using a fixed packet sequence number ranging from 1-100 with increment of 1.
As shown in Fig. 1-5, the jitter value during the media session for both IAX and jingle does not exceed 0.002 sec.
Table 1: | Simulation parameters |
Table 2: | Performance of protocols by using data exchange methods |
Performance order from 1 to 6 represent the worst to the best protocol in terms of quality of services |
Fig. 1: | Performance with jitter (one-to-one) |
As shown in Fig. 1, the minimum value of jitter in case of IAX is approximately 0.315 msec when the packet sequence number is 75, whereas, in case of jingle, the minimum value when having only one call is 0.46 msec when the packet sequence number is 50 (exactly at the middle of the call).
Fig. 2: | Performance with jitter (two-to-two) |
Fig. 3: | Performance with jitter (three-to-three) |
Fig. 4: | Performance with jitter (four-to-four) |
Fig. 5: | Performance with jitter (five-to-five) |
As noticed in Fig. 2-4, the jitter values have very slight increment although the increased number of calls. This indicates the high performance for IAX and jingle protocols in terms of the jitter regardless the number of calls since the average one way jitter value should be targeted at less than 30 msec.
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, Fig. 5 indicates the packet delay within five calls, so to find the packet delay value when the packet sequence number is 50, the summation of the delay values has to be founded during call 1, 2, 3, 4 and 5 with the same packet sequence number over 5 which is the number of calls. This means that:
Packet 50 jitter (for 5 calls) = Packet 50 jitter (for call 1)+
Packet 50 jitter (for call 2)+Packet 50 jitter (for call 3)+
Packet 50 jitter (for call 4)+Packet 50 jitter (for call 5)/5
As there are only two methods used in VoIP for data exchange during the media session which are either RTP or mini header, the obtained results have shown a performance improvement of IAX and jingle protocols which are created in 2004 and 2005, respectively over the older protocols such as H.323, SIP, RSW, SCCP, MGCP and DMIF which are created in the years between 1996 and 199925-27. Although, all the older protocols use the same method (RTP header) to carry the data during the media session as jingle protocol, many properties have been added to this newest protocol in order to enhance its quality of service. Besides, the performance of IAX protocol is better than the aforementioned protocol since it uses its own method (mini header) and having trunking property which is not provided in other protocols28-30. Based on the experiments of all protocols with the two data exchange methods, Table 2 shows the general order of the protocols from 1-6 which represent the worst to the best protocol compared to the other protocols in terms of quality of services.
CONCLUSION
This study investigated the main differences between the Inter-Asterisk eXchange Protocol (IAX) and the VoIP extension of the eXtensible messaging and presence protocol (jingle) by doing a comparison in terms of quality of services (jitter) during the media session. The comparison has been performed within certain number of calls varying between 1 and 5 calls.