| With the development of Internet technology, instant messaging software has become more and more, its business has become increasingly complex, and it occupies more space of system. Now people use instant messaging software to communicate and exchange routine has become a habit, many users may have several different instant messaging software accounts, which gives users the trouble: too much need to remember the login account and password, need to use and manage multiple instant messaging software, cost too much system resources cause the system to run slower and so on. To address these issues, there has been multi-protocol instant messaging software.Multi-protocol instant messaging software provides support for multiple instant messaging protocols, to help users manage multiple instant messaging software that allows users to use only one an software and one interface to chat with friends in different accounts. By using multi-protocol instant messaging software, it not only can reduce the complexity of user operations, improve the user experience, it can also be a good ease of the burden of user's system.The multi-protocol instant messaging software in current market can not meet our needs: they either do not support audio and video chat, or do not support multiple operating systems, or hard to use. Therefore, we must own to implement a multi-protocol instant messaging software, to enable it to support cross-platform multi-protocol, and can provide text, voice, video, PSTN(Public Switched Telephone Network) phones and other features.Based on this background, proposed the implementation framework of multi-protocol instant messaging software which is based on middleware. through a clear design goals and requirements, proposed the implementation based on three-tier hierarchical structure of multi-protocol instant messaging software. On the basis of in-depth study and understanding of the D-Bus communication to develop a software interface and communication protocol. while research and compare a variety of ways of NAT(Network Address Translation) traversal and coding and decoding the audio and video, realized SIP-based(Session Initiation Protocol) consultation UPNP(Universal Plug and Play) NAT traversal and MP4V-ES-based video coding and decoding and SPEEX-based audio coding and decoding. thus completing the design and implementation goals of our cross-platform, support for scalable, audio and video chat software, multi-protocol instant messaging. |