⬆️ ⬇️

Mail.Ru Agent + ICQ = interoperability

Mail.Ru Agent and ICQ projects have a big event - we have launched server transport, giving users of both networks the opportunity to communicate with each other. In other words, the notorious interoperability, or peering, about which advanced users of messengers talked for so long, has finally happened!







What does this mean for the user?



Very simple.

Mail.Ru Agent users can add ICQ users to their contact lists (and, of course, exchange messages with them). At the same time, having an ICQ account is optional.

')

The same principle works in the opposite direction - ICQ users can add Mail.Ru Agent users to their existing contact list.



For simplicity, we will consider the interaction of two networks on the example of Mail.Ru Agent, although in ICQ-clients it works quite similarly.



When searching for a contact by first and last name, it is no longer necessary to think about what kind of messenger this person uses - the search is automatically performed on both networks at once.







I already use Mail.Ru Agent as an ICQ client. What to do? ?



Nothing special. In Mail.Ru Agent you can still set up an ICQ account and decide for yourself which account (Mail.Ru Agent or ICQ) to add another ICQ contact. It’s hard to believe or even understand, but adding contacts from the Agent to your ICQ account in the Agent also works! ;)



How is this technically implemented?



One of the key tasks assigned to the developers was to ensure backward compatibility with old clients (both Mail.Ru Agent and ICQ). The new functionality is implemented on the server side, so communication with users added from another network is possible in almost all versions of Mail.Ru Agent and ICQ, including the old ones. But in order to make the best impression about the service, it is better to update the client applications.



Mail.Ru Agent clients still connect to their servers through their own protocol, ICQ clients do the same. Mail.Ru Agent’s clients “see” ICQ contacts in the format 12345@uin.icq, ICQ clients in the form of a regular e-mail address.



Thus, neatly written client applications (expecting a string, rather than a number as UIN), do not notice any changes at all, and work correctly with the new type of contacts right out of the box.



The main “magic” happens between servers. We have developed a special interface between Mail.Ru Agent and ICQ servers (based on the SIP / SIMPLE protocol), within which data is transmitted from one protocol to another and vice versa.



In clients, only “cosmetic” work was done - for example, ICQ-contacts in the Mail.Ru Agent’s contact list were visually highlighted (marked with “flowers”), texts and prompts were updated, etc.







So far, only the most basic capabilities of both protocols are supported: message transfer, authorization request / confirmation, contact search, presense-status, questionnaire request. However, in the future, depending on the popularity of the peering, we plan to support most of the popular functions, including file transfer, voice and video calls, etc.



Please also note that we are still testing our server and correcting errors, so interoperability is guaranteed only on the official Mail.Ru Agents and ICQ clients. And, of course, we, as always, will be grateful to you for bug reports.



Download official PC clients here:



Why support two different client server protocols?



The question is fair - at first glance, it is easier to transfer Mail.Ru Agent and ICQ clients to a single protocol than to support two types of servers with a layer between them. However, the reason for this "zoo" is very prosaic - backward compatibility. The audience of both networks is tens of millions of users per day, and all of them use clients of the most different versions. Unfortunately, desktop or mobile platforms are not the web, and it is impossible to instantly update all client applications on user devices. This problem is particularly acute for the ICQ network, in which non-native customers make up a significant proportion of clients.



Therefore, despite our strategic willingness to switch both products to one single technology, we, unfortunately, will have to maintain two different protocols for quite some time. Nevertheless, we are already taking certain steps towards unification.



Who will benefit from interoperability?



Given that the audience of Mail.Ru Agent and ICQ is approximately comparable, we expect that synergy will benefit both networks. In general, we believe that artificial barriers in the field of personal communications have long outlived themselves, so the more ways people of various services can communicate with each other, the better it will be for everyone.



Ilya Naumov,

Project Manager Mail.Ru Agent

Source: https://habr.com/ru/post/129440/



All Articles