Programmer's guide
Line 10: | Line 10: | ||
{|class="yate-table" | {|class="yate-table" | ||
− | |||
|class="yate-header-right"|Yate for programmers | |class="yate-header-right"|Yate for programmers | ||
|- | |- | ||
Line 23: | Line 22: | ||
* [[Standard Messages]] | * [[Standard Messages]] | ||
All standard messages in Yate. | All standard messages in Yate. | ||
− | |||
* [[Message Flows]] | * [[Message Flows]] | ||
Flow messages for an incoming call. | Flow messages for an incoming call. | ||
|} | |} | ||
− | |||
− | |||
* [[Coding style]] | * [[Coding style]] | ||
Rules for coding Yate | Rules for coding Yate | ||
* [http://yate.null.ro/docs/ Yate C++ API] | * [http://yate.null.ro/docs/ Yate C++ API] | ||
Documentation for Yate C++ API | Documentation for Yate C++ API | ||
+ | |||
+ | * [[YIAX design]] | ||
+ | YIAX library in Yate. | ||
+ | {|class="yate-page-subtitle" | ||
+ | |- | ||
+ | * [[Mutexes and locking]] | ||
+ | Yate's implementation provides classes for mutual exclusion and locking. | ||
+ | <div class="yate-page-subtitle"> | ||
+ | * [[Locking Issues]] | ||
+ | Provide an overview of problems caused by improper locking and how to troubleshoot them. | ||
+ | * [[Important Mutexes]] | ||
+ | Some noteworthy mutexes that have program-wide implications in Yate code. | ||
+ | |} | ||
|} | |} | ||
+ | ==Scripting languages supported by Yate == | ||
− | == Javascript == | + | === Javascript === |
{|class="yate-table" | {|class="yate-table" | ||
Line 47: | Line 57: | ||
Yate offers a embedded Javascript implementation. | Yate offers a embedded Javascript implementation. | ||
− | {| | + | {|"yate-page-subtitle" |
|- | |- | ||
* [[Javascript routing]] | * [[Javascript routing]] | ||
Line 69: | Line 79: | ||
|} | |} | ||
− | == PHP == | + | === PHP === |
{|class="yate-table" | {|class="yate-table" | ||
Line 78: | Line 88: | ||
* [[Yate's PHP library]] | * [[Yate's PHP library]] | ||
The library used by PHP to comunicate with Yate. | The library used by PHP to comunicate with Yate. | ||
− | {| | + | {|"yate-page-subtitle" |
− | + | |- | |
*[[IVR Setup]] | *[[IVR Setup]] | ||
How to setup an IVR in Yate. | How to setup an IVR in Yate. | ||
Line 91: | Line 101: | ||
|} | |} | ||
− | ==Python== | + | ===Python=== |
{|class="yate-table" | {|class="yate-table" | ||
Line 102: | Line 112: | ||
* [[YAYPM|YAYPM Yet Another Yate Python Module]] | * [[YAYPM|YAYPM Yet Another Yate Python Module]] | ||
The library used by Python Module to comunicate with Yate. | The library used by Python Module to comunicate with Yate. | ||
− | + | {|"yate-page-subtitle" | |
− | + | |- | |
* [[YAYPM:Simple IVR]] | * [[YAYPM:Simple IVR]] | ||
How to write a simple IVR in Yate. | How to write a simple IVR in Yate. | ||
Line 114: | Line 124: | ||
* [[YAYPM_Installation_on_windows|Using YAYPM on windows]] | * [[YAYPM_Installation_on_windows|Using YAYPM on windows]] | ||
How to install YAYPM on Windows. | How to install YAYPM on Windows. | ||
− | + | |} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
− | ==Debugging == | + | ===Debugging === |
{|class="yate-table" | {|class="yate-table" | ||
Line 138: | Line 137: | ||
* [[Debugging in Yate]] | * [[Debugging in Yate]] | ||
How to debug in Yate. | How to debug in Yate. | ||
− | + | {|"yate-page-subtitle" | |
+ | |- | ||
* [[Debug Output]] | * [[Debug Output]] | ||
How to enable debug in Yate. | How to enable debug in Yate. | ||
* [[Debugging and, or Investigation of messages]] | * [[Debugging and, or Investigation of messages]] | ||
You can use the msgsniff module to investigate the messages in yate. | You can use the msgsniff module to investigate the messages in yate. | ||
− | + | |} | |
|} | |} | ||
Revision as of 17:46, 1 November 2013
The most important parts of Yate are described bellow and also some libraries used to communicate with Yate.
The purpose of Yate is to provide an extensible telephony engine. Holding the base code as simple as possible and adding functionality as needed allows one to find the best balance between desired functionality, performance and stability.
Yate is a next-generation telephony engine; while currently focused on Voice over Internet Protocol (VoIP), its power lies in its ability to be easily extended. Voice, video, data and instant messaging can all be unified under Yate's flexible routing engine, maximizing infrastructure and communications in business.
The software is written in C++ and supports scripting in various programming languages like PHP, Python and Javascript.
Contents |
About Yate structure
Yate for programmers |
Yate arhitecture and design. Components of messages and how messages are processed by messages handlers. Rules for coding Yate Documentation for Yate C++ API YIAX library in Yate. |
Scripting languages supported by Yate
Javascript
Yate for programmers |
Yate offers a embedded Javascript implementation. |
PHP
Yate for programmers |
The library used by PHP to comunicate with Yate. |
Python
Yate for programmers |
The library used by Python Module to comunicate with Yate. |
Debugging
Yate for programmers |
How to debug in Yate. |
See also