A PROPOSED MAPPING ARCHITECTURE BETWEEN IAX AND JINGLE PROTOCOLS

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 mapping architecture is a very critical issue since it solves the communication problems between any two protocols, as well as it enables people around the world to make a voice/video call even if they use different chatting applications. Providing the interoperability between different signaling protocols and multimedia applications takes the advantages of more than one protocol. Many mapping architectures have been proposed to ease exchanging the media between at least two users without facing any difficulties such as SIP-Jingle, IAX-RSW, H.323-MGCP, etc. However, the design of any of the existing mapping architectures has some weaknesses related to larger delay, time consuming, and security matters. The only way to overcome these problems is to propose an efficient mapping architecture. This paper proposed a new mapping architecture between Inter-Asterisk eXchange Protocol and Jingle Protocol. The proposed mapping architecture consists of IAX domain (IAX client, IAX server, IAX-to-Jingle gateway), and Jingle domain (Jingle client, Jingle server, Jingle-to-IAX gateway). The tasks of the translation gateways are represented by the URI conversion, media capability exchange, translator of call setup and teardown signals, and real time media transmission.


INTRODUCTION
Over the last decade, multimedia techniques have developed rapidly to enable users to communicate between each other over the Internet using all types of chatting services such as instant messages, audio, and video.However, users cannot phonetically communicate with each other unless they use the same chatting applications since each chatting application has its own control protocol to handle the call setup, the real time media transmission, and the call teardown sessions [1].
Due to the appearance of many signaling protocols such as IAX, SIP, H.323, and RSW [2,3,4,5], media conferencing systems and Internet Protocol (IP) applications, the interoperability has become necessary to provide full end-to-end connectivity and to give users the flexibility to select their preferred applications, as long as there is a method or mechanism that allows bridging the gap between the heterogeneous signaling protocols.Furthermore, the multimedia communication service providers understand that users want to communicate with each other regardless of the service provider and protocol used in their IP network.
The only way to enable the users to communicate phonetically using different chatting applications is to design a new mapping architecture for any two control protocols used by different chatting applications [6].
Choosing IAX and Jingle protocols to build a mapping architecture 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 [7,8], H.323 [9], MGCP [10] and RSW [11] 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 Hangout.

BACKGROUND
In this section, we will briefly define IAX and Jingle protocols with regard to the main functions and other properties that indicate their preference, compared with the rest of the protocols.

IAX Protocol
In 2004, Mark Spencer has created the Inter-Asterisk eXchange (IAX) protocol for asterisk that performs VoIP signaling [12].IAX is supported by a few other softswitches, (Asterisk Private Branch eXchange) PBX systems [13], and softphones [14].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 [15].IAX2 is considered to be the current version of IAX.The IAX's first version is obsolete.User Datagram Protocol (UDP) [16,17] is the only protocol that is used by either IAX2 or IAX as a transport protocol.More specifically, UDP is usually used on port 4569 where port 5036 is used by IAX1.The same UDP port is used throughout media transmission and signaling information sessions.IAX mini and full frames are used to carry the media packets during the call [18].
IAX supports trunk connections concept for numerous calls.The bandwidth usage is reduced when this concept is used because all the protocol overhead is shared by two IAX nodes for the whole calls.Over a single link, IAX provides multiplexing channels [19,20].

Jingle Protocol
The eXtensible Messaging and Presence Protocol (XMPP) [21,22] 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 [23].
Jingle protocol uses Real-time Transport Protocol (RTP) [24] for data transmission and uses the Interactive Connectivity Establishment (ICE) method to overcome Network Address Translation (NAT) problems [25].Transport Control Protocol (TCP) is used by Jingle to transmit the registration, call setup, and call teardown signals between the clients, and it can be used in the media flow session too.UDP protocol is used only during the real time media transferring session [26].

THE PROBLEMS WITH THE PREVIOUS STUDIES AND THE PROPOSED IAX-JINGLE MAPPING ARCHITECTURE
The IAX-Jingle mapping architecture are built by solving the problems happened in the previous mapping architectures, such as larger delay time when using one translation gateway in the mapping architecture, including the registration session in the translation gateway instead of the client's respective server, and the existence of client's respective server during the signaling session.
By using only one translation gateway in the mapping architecture, the translation gateway will be responsible of checking, first, whether the packet received belongs to either protocol 1 client or protocol 2 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 protocol 1 and protocol 2, in addition to two methods of packet translation, from protocol 1 message format to protocol 2 message format and vice versa.These steps have to be done for all signaling messages and media packets during signaling and media sessions in case of both protocols have different message format not only the signaling messages but also the media packets.Concluding that, using one translation gateway will lead to larger delay time compared to using more than one translation gateway.
The proposed mapping architecture used two translation gateways, by distributing the function of translation gateway into two gateways (IAX-to-Jingle and Jingle-to-IAX), 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 Jingleto-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 simpler and leads to lower delay time compared to use one translation gateway.
The other problem faced by some previous works is that using the client's server not only for registration session but also for signaling session, so the translation gateway should obtain admission from the client's server for each signaling message which leads to repeated signaling messages since the message passes through the server first before the server forwards it to the translation gateway, which leads to longer time for each request-response from client's side.On the other hand, some previous works use the translation gateway for registration purpose which is less reliable and easy to be hacked by the other party.In a view of this problem, the proposed mapping architecture uses the client's server for registration session to ensure a very high security system, whereas the translation gateways are used during signaling and media transmission sessions so the translation gateways can deal directly with the clients.Thus, no need to obtain permission from the server for each signaling message sent to or received from the client as the translation gateway maintains a look-up table to provide address resolution, signaling and media messages translation.
Figures 1, 2, and 3 present three main existing mapping architectures.In Figure 1, both protocol 1 and protocol 2 register with the proposed translation gateway, setup, teardown and make the voice call directly through the proposed translation gateway as both protocols have different message format, not only the signaling messages but also the media packets.In Figure 2, both protocols register with their respective servers, dealing with the proposed translation gateway during only the signaling session as both protocols use the same transport protocol to carry the media packets during the media transmission session.In Figure 3, both protocols register with their respective servers, dealing with the two proposed translation gateways during only the signaling session after the translation gateways obtain permission from the client's respective server for each sent and received signaling messages.During a media session, clients exchange media packets without translation gateways as both protocols use the same transport protocol to carry the media packets.Based on the three existing architectures, the proposed mapping architecture is built to overcome the aforementioned problems faced when using anyone of the three previous architectures.
The proposed mapping architecture consists of IAX client, IAX server, Jingle client, Jingle server, IAX-to-Jingle gateway, and Jingle-o-IAX gateway, as shown in figure 4. IAX and Jingle servers coordinate IAX and Jingle respectively during registration session only, whereas IAXto-Jingle and Jingle-to-IAX gateways coordinate IAX and Jingle clients during signaling and media sessions, as well as both gateways should maintain a look-up table to provide address resolution for both IAX and Jingle clients.Both translation gateways are included in the mapping architecture to ease storing, sending/ receiving, and translating the format of the messages.
The main function of IAX-to-Jingle gateway is to receive the signaling or media data message from IAX client, store the message inside the translation gateway, convert the format of IAX message to the format of Jingle message, and forward the converted message to the Jingle client, whereas the main function of Jingle-to-IAX gateway is to receive the signaling or media data message from Jingle client, store the message inside the translation gateway, convert the format of Jingle message to the format of IAX message, and forward the converted message to the IAX client.Both IAX-to-Jingle and Jingle-to-IAX gateways provide seamless connectivity between IAX and Jingle clients without modifying the clients' architecture.

+ + CONCLUSIONS
The proposed IAX-Jingle mapping architecture are built to solve the problems faced in the existing mapping architectures, such as larger delay time when using one translation gateway in the mapping architecture, including the registration session in the translation gateway instead of the client's respective server, and the existence of client's respective server during the signaling session.
In view of the aforementioned problems in the existing architectures, the proposed mapping architecture uses two translation gateways, by distributing the function of translation gateway into two gateways (IAX-to-Jingle and Jingle-to-IAX), each gateway receives only from one party and sends only to the other party, in this case, there is no need to check the source of each sent/received packet by the gateway, 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 simpler and leads to less de-lay time compared to use one translation gateway.The proposed mapping architecture uses the client's server for registration session to ensure a very high security system, whereas the translation gateways are used during signaling and media transmission sessions so the translation gateways can deal directly with the clients.Thus, no need to obtain permission from the server for each signaling message sent to or received from the client as the translation gateway maintains a look-up table to provide address resolution and signaling and media messages translation.