HOME

TheInfoList



OR:

Yate (Yet Another Telephony Engine) is free and
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
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 Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
, Python and
PHP PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
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 Sipgate, stylised as sipgate, is a European VoIP and mobile telephony operator. Company Sipgate was founded in 2004 and became one of Germany's largest VoIP service providers for consumers and small businesses. Through its network, which us ...
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 In computer science, message passing is a technique for invoking behavior (i.e., running a program) on a computer. The invoking program sends a message to a process (which may be an actor or object) and relies on that process and its supporti ...
system. The architecture can be divided into 4 main parts: * Core, where encapsulations for sockets,
threads Thread may refer to: Objects * Thread (yarn), a kind of thin yarn used for sewing ** Thread (unit of measurement), a cotton yarn measure * Screw thread, a helical ridge on a cylindrical fastener Arts and entertainment * ''Thread'' (film), 2016 ...
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 The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
,
SMTP The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typic ...
or an interface with a database via SQL. Therefore, the protocol is easy to write in any
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming l ...
. Currently YAYPM is the most advanced connector library and uses Python with the
Twisted Twisted may refer to: Film and television * ''Twisted'' (1986 film), a horror film by Adam Holender starring Christian Slater * ''Twisted'' (1996 film), a modern retelling of ''Oliver Twist'' * ''Twisted'', a 2011 Singapore Chinese film directed ...
framework for rapid development.


See also

*
List of SIP software This list of SIP software documents notable software applications which use Session Initiation Protocol (SIP) as a voice over IP (VoIP) protocol. Servers Free and open-source license A SIP server, also known as a SIP proxy, manage ...
*
Comparison of VoIP software This is a comparison of voice over IP (VoIP) software used to conduct telephone-like voice conversations across Internet Protocol (IP) based networks. For residential markets, voice over IP phone service is often cheaper than traditional public swi ...
*
Software defined mobile network Software-defined mobile networking (SDMN) is an approach to the design of mobile networks where all protocol-specific features are implemented in software, maximizing the use of generic and commodity hardware and software in both the core network a ...


References


External links

* {{official website, http://yate.null.ro/pmwiki/ VoIP software Free VoIP software Software that was ported from GTK to Qt