Yate (Yet Another Telephony Engine) is free and open source communications software with support for video, voice and instant messaging. It is an extensible PBX under the GPL-2.0-only license. It is written in C++ with a modular design, allowing the use of scripting languages like Perl, Python and PHP to create external functionality. History In 2004, NullTeam, the company behind Yate, launched the official website. In 2005 Sangoma announced their support for Yate development on the Microsoft Windows platform. On May 4, 2011 sipgate announced that it had chosen the Yate project for its core infrastructure. Yate version 5.0 was released in January 2014. Architecture Yate's architecture is based on a message passing system. The architecture can be divided into 4 main parts: Core, where encapsulations for sockets, threads and other primitives can be found. Message Engine, message-related classes, used to exchange data between modules. Telephony Engine, telephony-related classes. Yate Modules, modules extending the functionality of Yate, not necessarily telephony-related. A 2006 O'Reilly Emerging Telephony review shows that Yate offers flexibility via the external text protocol. This protocol allows the majority of features to be exposed. Because of this, it is fairly easy to mix telephony-related functions with text-based protocols like HTTP, SMTP or an interface with a database via SQL. Therefore, the protocol is easy to write in any programming language. Currently YAYPM is the most advanced connector library and uses Python with the Twisted framework for rapid development. See also List of SIP software Comparison of VoIP software Software defined mobile network References External links VoIP software Free VoIP software Software that was ported from GTK to Qt