What is Yate

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Yate's arhitecture)
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
Yate stands for '''Y'''et '''A'''nother '''T'''elephony '''E'''ngine, and like the name states it is mainly a telephony engine; while currently focused on [http://www.fcc.gov/voip/ Voice over Internet Protocol (VoIP)] and [http://www.webopedia.com/TERM/P/PSTN.html PSTN], its power lies in its ability to be easily extended. Voice, video, data and instant messenging can all be unified under Yate's flexible routing engine, maximizing communications efficiency and minimizing infrastructure costs for businesses.
 
Yate stands for '''Y'''et '''A'''nother '''T'''elephony '''E'''ngine, and like the name states it is mainly a telephony engine; while currently focused on [http://www.fcc.gov/voip/ Voice over Internet Protocol (VoIP)] and [http://www.webopedia.com/TERM/P/PSTN.html PSTN], its power lies in its ability to be easily extended. Voice, video, data and instant messenging can all be unified under Yate's flexible routing engine, maximizing communications efficiency and minimizing infrastructure costs for businesses.
  
Yate can be used as a:
+
==Yate usability==
 +
 
 
* [[VoIP_Server|VoIP Server]]   
 
* [[VoIP_Server|VoIP Server]]   
 
* [[VoIP_Client|VoIP client]]
 
* [[VoIP_Client|VoIP client]]
* Conference server - with up to 200 channels in a single conference. [[Conference|Here]] you can find a bit about the conference room module.
+
* [[Yate as a Conference Server|Conference server]] - with up to 200 channels in a single conference.
* VoIP to PSTN gateway - see [[VoIP_PSTN_Gateway|here]] a general description of what this means.
+
* [[VoIP_PSTN_Gateway|VoIP to PSTN gateway]]
 
* PC2Phone and Phone2PC gateway
 
* PC2Phone and Phone2PC gateway
 
* IP Telephony server and/or client
 
* IP Telephony server and/or client
** [[H323_Gatekeeper_And_Multiple_Endpoint_Server|H.323 gatekeeper]]
+
** [[Yate as H323 GateKeeper and YateClient as H323 client|H.323 gatekeeper]]
 
** [[H323_Gatekeeper_And_Multiple_Endpoint_Server|H.323 multiple endpoint server]]
 
** [[H323_Gatekeeper_And_Multiple_Endpoint_Server|H.323 multiple endpoint server]]
** H.323<->SIP Proxy - [[H323_To_SIP_Signalling_Proxy|see]] an explanation on how to configure Yate to do that.
+
** [[H323_To_SIP_Signalling_Proxy|H.323<->SIP Proxy]]
** SIP router - [[SIP_Router|here]] are a few words on what features can be done with Yate.
+
** [[SIP Router]]
 
** [[SIP_Session_Border_Controller|SIP session border controller]]
 
** [[SIP_Session_Border_Controller|SIP session border controller]]
 
** [[SIP_Registration_Server|SIP registration server]]
 
** [[SIP_Registration_Server|SIP registration server]]
** IAX server and/or client - briefly described [[IAX_Server_And_Client|here]]
+
** [[How to configure Yate as IAX server|IAX Server]]
** Jingle client or server - [[Jabber_Client_With_Jingle_Yate_Server|there's]] an example of how to use Yate as both server and client.
+
** [[IAX Client]]
 +
** [[Jabber_Client_With_Jingle_Yate_Server|Jingle client or server]]  
 
** MGCP server (Call Agent)
 
** MGCP server (Call Agent)
 
* ISDN passive and active recorder
 
* ISDN passive and active recorder
Line 24: Line 26:
 
* Prepaid and/or postpaid cards system
 
* Prepaid and/or postpaid cards system
  
 +
== About Yate's software==
  
 
The software is ''written in C++'' and it supports scripting in various programming languages (such as those supported by the currently implemented PHP, Python, Perl and Javascript libraries) and even any Unix shell. The PHP, Python, Perl and Javascript libraries have been developed and made available in order to ease development of external functionalities for Yate.
 
The software is ''written in C++'' and it supports scripting in various programming languages (such as those supported by the currently implemented PHP, Python, Perl and Javascript libraries) and even any Unix shell. The PHP, Python, Perl and Javascript libraries have been developed and made available in order to ease development of external functionalities for Yate.
  
 
Yate is production-ready software and is easily extensible.
 
Yate is production-ready software and is easily extensible.
 +
 +
== Yate's license==
  
 
Yate is licensed under the [http://www.fsf.org/licenses/gpl.html GPL].
 
Yate is licensed under the [http://www.fsf.org/licenses/gpl.html GPL].
  
=== Yate Architecture ===
+
==Yate's arhitecture==
 +
 
 +
The architecture of Yate is based on a message passing system. The architecture can be divided into 4 main parts:
 +
 
 +
*  Core, where encapsulations for sockets, threads and others primitives can be found
 +
*  Message Engine, message related classes, used to exchange data between modules
 +
*  Telephony Engine, the telephony related classes
 +
*  Yate Modules, modules extending the functionality of Yate
 +
 
 +
Find more about Yate's [[Yate_architecture|architecture]].
  
The most important aspect of Yate is its message-passing system. Modules are passing around messages among them. This allows us to have a bigger flexibility than with plain functions, mainly because messages in Yate can have an arbitrary number of parameters, and can be sent to more than one module by changing the priority.
 
  
Yate's four main components are:
+
'''See also'''
  
*   '''Core''' - generic classes like String, Thread, Socket, Mutex
+
* [[A Brief History of Yate]]
*    '''Message Engine''' - message related classes Message, Engine, Plugin
+
*    '''Telephony Engine''' - telephony related classes like Driver, Channel
+
*    '''Yate Modules''' - modules of Yate are equal no matter if they are telephony or routing or anything else related, because of the message passing system.
+
  
A picture of the Yate architecture can be found [[Yate_architecture|here]].
+
[[Category:Server]] [[Category:Client]] [[Category:Design]]

Latest revision as of 14:42, 4 November 2013

Yate stands for Yet Another Telephony Engine, and like the name states it is mainly a telephony engine; while currently focused on Voice over Internet Protocol (VoIP) and PSTN, its power lies in its ability to be easily extended. Voice, video, data and instant messenging can all be unified under Yate's flexible routing engine, maximizing communications efficiency and minimizing infrastructure costs for businesses.

Contents

[edit] Yate usability

[edit] About Yate's software

The software is written in C++ and it supports scripting in various programming languages (such as those supported by the currently implemented PHP, Python, Perl and Javascript libraries) and even any Unix shell. The PHP, Python, Perl and Javascript libraries have been developed and made available in order to ease development of external functionalities for Yate.

Yate is production-ready software and is easily extensible.

[edit] Yate's license

Yate is licensed under the GPL.

[edit] Yate's arhitecture

The architecture of Yate is based on a message passing system. The architecture can be divided into 4 main parts:

  • Core, where encapsulations for sockets, threads and others primitives can be found
  • Message Engine, message related classes, used to exchange data between modules
  • Telephony Engine, the telephony related classes
  • Yate Modules, modules extending the functionality of Yate

Find more about Yate's architecture.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers