Yate (software)
Open source telephony engine
From Wikipedia, the free encyclopedia
Yate (Yet Another Telephony Engine) is a free and open source communications software with support for video, voice and instant messaging. It is an extensible IP PBX under the GPLv2 with linking exception license.[3] It is written in C++ with a modular design,[4] allowing the use of scripting languages like Perl, Python and PHP to create external functionality.[3]
| Yate | |
|---|---|
| Developer | NullTeam; |
| Stable release | |
| Written in | C++ |
| Operating system | Cross-platform |
| Type | Voice over Internet Protocol |
| License | GPL-2.0-only with linking exception[2] |
| Website | yate |
History
In 2004, NullTeam, the company behind Yate, launched the official website.[5] In 2005 Sangoma announced their support for Yate development on the Microsoft Windows platform.[6] On May 4, 2011, sipgate announced that it had chosen the Yate project for its core infrastructure.[7] Yate version 5.0 was released in January 2014.[8]
Architecture
Yate's architecture is based on a message passing system. The architecture can be divided into four main parts:[9]
- 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[10] 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.