IAX-JINGLE Network Architectures Based-One / Two Translation Gateways

Nowadays, Multimedia Communication has improved rapidly to allow people to communicate via the Internet. However, Internet users cannot communicate with each other unless they use the same chatting applications since each chatting application uses a certain signaling protocol to make the media call. The interworking module is a very critical issue since it solves the communication problems between any two protocols, and enables people around the world to make a voice/video call even if they use different chatting applications. Providing interoperability between different signaling protocols and multimedia applications takes the advantages of more than one protocol. Usually, each signaling protocol has its own messages which differ from other signaling protocol messages format. Thus, when two clients use different signaling protocols want to communicate phonetically, the sent/received messages between them will not be understood because the control and media packets in each protocol are different than the corresponding ones in the other protocol, The interworking module solves this kind of problem by matching the signals and media messages by providing translation gateways in the middle between the two protocols. Thus, many interworking modules have been proposed in order to enable many protocols’ users to chat with each other without any difficulties. This paper compares two interworking modules between Inter-Asterisk eXchange Protocol and Jingle Protocol. An experimental implementation in terms of session time is provided. Keywords—media conferencing; VoIP; interworking; translation gateway; IAX; Jingle


INTRODUCTION
Over the last few years, the need to provide communication facilities for participants all over the world and at any time via computer network systems has increased.These network systems enable the use of multimedia applications with several kinds of media conferencing, such as audio, video, graphics, images, and text [6,17].
Nowadays, many signaling protocols and techniques such as Multimedia Conferencing and Voice over Internet Protocols (VoIP) [9] have been created and developed according to their usages in providing services between at least two participants.Such protocols are Session Initiation Protocol (SIP) [3,7], InterAsterisk eXchange protocol (IAX) [1], Real-time SWitching Control Protocol (RSW) [11], eXtensible Messaging and Presence extension Protocol (XMPP extension/ Jingle) [15], H.323 protocol [2,8], etc.All the signaling protocols take place in the session layer (L5) in the Open Systems Interconnection (OSI) model.Layer 5 provides the mechanism for opening, closing and managing a session between the end-user application processes.
With the appearance of numerous signaling protocols, 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 [12].Choosing IAX and Jingle protocols to build an interworking module between them 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, H.323, and RSW in terms of the 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 [10].
This paper compares two interworking modules between IAX and Jingle protocols with regard to call setup, call teardown, and media sessions.

A. IAX Protocol
Mark Spencer has created the Inter-Asterisk eXchange (IAX) protocol for asterisk that performs VoIP signaling [14].IAX is supported by a few other softswitches, (Asterisk Private Branch eXchange) PBX systems, and softphones [5].Any type of streaming media can be managed, controlled and transmitted through the Internet Protocol (IP) networks based on IAX protocol.However, IP voice calls are basically being controlled by IAX protocol.Currently, IAX has been changed to IAX2 which is the second version of the IAX protocol [18].IAX protocol is used for many purposes, firstly, it is to minimize bandwidth usage for both control and media transmissions with specific emphasis on individual voice calls, secondly, to provide Network Address Translation (NAT) transparency, thirdly, to support the ability to transmit dial plan information, and lastly, to support efficient implementation of intercom and paging features.IAX is www.ijacsa.thesai.orgconsidered as both signaling and media protocol since it has its own media transfer method (full and mini frames) to exchange the data, unlike the other signaling protocols which use Real time Transport Protocol (RTP) to carry the data during the media session.

B. Jingle Protocol
Jingle protocol is the extension of the eXtensible Messaging and Presence Protocol (XMPP) [4] which is a standard specified by the 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, and it is an out-of-band signaling protocol.The XMPP architecture consists of three elements, XMPP client, XMPP server and gateways to foreign networks [16].The developers have added media session capabilities (which have been defined as an XMPP-specific negotiation protocol called Jingle) to XMPP clients [13,19].Jingle has been designed to support many types of applications, such as voice and video conferencing, file transfer, application sharing, and others.

III. IAX-JINGLE INTERWORKING MODULES: A COMPARISON
Both IAX and Jingle protocols are widely used to provide two ways media transfer features.Each protocol differs from the other one in many ways, such as registration matters, transport methods, media transport, signals, header format, and media packet formatting.Each protocol has its own signals in order to manage the call setup/ teardown sessions which has the same task compared to the other protocols but different formats.Table 1 shows IAX/Jingle signals matching.Solving the aforementioned problems will enable people around the world to talk with each other without caring about the protocols used by their applications.
In order to enable the IAX users to communicate with people who use application base Jingle protocol without any difficulties, an interworking module between IAX and Jingle has been presented in order to help bridging the gap between them and to provide the capability of IAX-Jingle interoperability.The network architecture of the first interworking module consists of IAX domain (IAX Client, IAX Server), Jingle domain (Jingle Client, Jingle Server), and IAX-Jingle gateway in the middle of IAX and Jingle domains, whereas, the architecture of the second interworking module consists of IAX domain (IAX Client, IAX Server, IAX-to-Jingle gateway), and Jingle domain (Jingle Client, Jingle Server, Jingle-to-IAX gateway) The presented translation gateways are considered as translation and database server.The translation gateways are considered as a translator when sending any type of messages from one protocol to the other.The tasks of the translation gateways are represented by translator of call setup and teardown signals, and real time media data.A. Call Setup/Teardown Sessions For each signaling protocol, the call setup has to go through four steps: call initiation, negotiation acceptance, ringing, and answering.The caller has to send a terminate signal to the callee to end the call.In case of two different protocols, the translation gateway is needed for the translation or matching matters between IAX and Jingle users.
By using only one translation gateway, the translation gateway will be responsible of checking first whether the packet received belongs to either IAX client or Jingle client before translates the packet and forwards it to the other party.The checking step has to be done for each received packet by the translation gateway as well as the gateway is responsible for handling sending and receiving directions of both IAX and Jingle, in addition to two methods of packet translation; IAX message format to Jingle message format and vice versa.These steps have to be done for all signaling messages.Concluding that, using one translation gateway will lead to larger delay time compared to using more than one translation gateway.
The IAX-Jingle architecture based two translation gateways distributes the function of translation gateway into two gateways (IAX-to-Jingle and Jingle-to-IAX), so each gateway receives only from one party and sends only to the other party, in this case no need from the gateway to check the sent/received packet belongs to which party, and since each translation gateway handles only one direction, the two translation methods (IAX-to-Jingle and Jingle-to-IAX) have to be distributed between the two translation gateways, so each translation gateway performs only one translation method.This makes the function of each gateway is simpler and lead to less delay time compared to using one translation gateway.

B. Media Session
The media session happens after the call setup session/ before the call teardown session.Just as the translation gateway translates the signals format in order to be exchanged between two different protocols, it is also responsible for translating the media packet format during the media session as each protocol has its own media packet format.
In case of using one translation gateway which is two ways gateway (IAX to Jingle/ Jingle to IAX), the gateway has to check whether the received packet from the client is carried by mini frame or RTP.If the packet is carried by mini frame, so it has been sent by IAX protocol, otherwise it is a Jingle packet.As a result, the translation gateway has to send the IAX packet to the Jingle client carried by RTP and vice versa.Thus, by using one translation gateway, its task is to both check the packet format and translate the packet format of the other protocol.
In case of using two translation gateways (IAX to Jingle and Jingle to IAX), the gateway is only one way gateway so no need check the packet format as each gateway receive from only one protocol and send to only the other one.So, the task of each of the two gateways is translating the packet format of the other protocol.Figures 5 and 6 show the IAX-Jingle media session in case of using one and two translation gateways.www.ijacsa.thesai.org

IV. RESULTS
The IAX-Jingle interworking module has been implemented by using ns2.35 simulator.The results have been obtained in terms of session time.In IAX-Jingle Environment, two main sessions have to be considered namely signaling session and media session.Signaling session is divided into two sessions: setup session and teardown session.Table 1 describes the simulation parameters such as the packet size, the transport protocols used, and simulation time.Eleven scenarios have been tested in order to find the session time of the IAX-Jingle media conferencing as shown in Tables 3, 4, and 5.Each scenario shows the IAX-Jingle network architecture with certain number of calls.This means that each scenario differs from the others in the number of clients/ calls.The different number of calls has been settled to 1,5,10,15,20,25,30,35,40,45, and 50 for the 11 scenarios respectively.In the experiments with more than one call, each session time value has been founded by calculating the average of the session time values for the whole number of calls.
For example, to find the setup/teardown session time within five calls, we have to find the summation of the setup/teardown session time of call 1, call 2, call 3, call 4, and call 5 divided by 5 which is the number of calls.This means that: Setup/teardown session time (for 5 calls) = [setup/teardown session time (for call 1) + setup/teardown session time (for call 2) + setup/teardown session time (for call 3) + setup/teardown session time (for call 4) + setup/teardown session time (for call 5)] / 5.For media session experiments, the session time values have been founded for the first hundred packets only.To find the media session time during the first 100 packet, we have to calculate the summation of the end to end packet delay values (d) starting from the packet sequence number 1 until the packet sequence number 100 with considering the number of calls.Session Time for the first 100 packets with n number of call=[∑ ∑ ] V. CONCLUSION This paper provides a comparison between two IAX-Jingle interworking modules in terms of call setup, call teardown, and media session time.It can be noticed from the experiments that the IAX-Jingle network architecture based two translation gateways has improvement of performance over the architecture based one translation gateway due to distributing the task of one translation gateway into two gateways in order to make the translation process consuming less time.

TABLE III .
IAX-JINGLE SETUP SESSION TIME: A COMPARISON

TABLE IV .
IAX-JINGLE TEARDOWN SESSION TIME: A COMPARISON