Programmer's guide
Line 7: | Line 7: | ||
The software is written in C++ and supports scripting in various programming languages like PHP, Python and Javascript. | The software is written in C++ and supports scripting in various programming languages like PHP, Python and Javascript. | ||
+ | == About Yate structure == | ||
{|class="yate-table" | {|class="yate-table" | ||
Line 18: | Line 19: | ||
Components of messages and how messages are processed by messages handlers. | Components of messages and how messages are processed by messages handlers. | ||
− | + | {|class="yate-page-subtitle" | |
− | + | |- | |
* [[Standard Messages]] | * [[Standard Messages]] | ||
All standard messages in Yate. | All standard messages in Yate. | ||
Line 25: | Line 26: | ||
* [[Message Flows]] | * [[Message Flows]] | ||
Flow messages for an incoming call. | Flow messages for an incoming call. | ||
+ | |} | ||
− | |||
* [[Coding style]] | * [[Coding style]] | ||
Line 32: | Line 33: | ||
* [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 | ||
+ | |} | ||
+ | |||
+ | |||
+ | == Javascript == | ||
+ | |||
+ | {|class="yate-table" | ||
+ | |||
+ | |class="yate-header-right"|Yate for programmers | ||
+ | |- | ||
+ | |class="yate-content-right"| | ||
* [[Javascript]] | * [[Javascript]] | ||
Yate offers a embedded Javascript implementation. | Yate offers a embedded Javascript implementation. | ||
− | + | {| | |
− | + | |- | |
* [[Javascript routing]] | * [[Javascript routing]] | ||
Configuring Javascript module to use routing scripts. | Configuring Javascript module to use routing scripts. | ||
Line 54: | Line 65: | ||
* [[How to access a database from Yate's Javascript module]] | * [[How to access a database from Yate's Javascript module]] | ||
Accessing the database from javascript module. | Accessing the database from javascript module. | ||
+ | |} | ||
− | + | |} | |
+ | == PHP == | ||
+ | |||
+ | {|class="yate-table" | ||
+ | |||
+ | |class="yate-header-right"|Yate for programmers | ||
+ | |- | ||
+ | |class="yate-content-right"| | ||
* [[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. | ||
− | + | {| | |
− | + | ||
*[[IVR Setup]] | *[[IVR Setup]] | ||
Line 70: | Line 88: | ||
* [[How To For External Modules In Telnet]] | * [[How To For External Modules In Telnet]] | ||
Test an existing PHP script on Windows. | Test an existing PHP script on Windows. | ||
− | + | |} | |
+ | |} | ||
+ | |||
+ | ==Python== | ||
+ | |||
+ | {|class="yate-table" | ||
+ | |||
+ | |class="yate-header-right"|Yate for programmers | ||
+ | |- | ||
+ | |class="yate-content-right"| | ||
+ | |||
* [[YAYPM|YAYPM Yet Another Yate Python Module]] | * [[YAYPM|YAYPM Yet Another Yate Python Module]] | ||
Line 98: | Line 126: | ||
Some noteworthy mutexes that have program-wide implications in Yate code. | Some noteworthy mutexes that have program-wide implications in Yate code. | ||
</div> | </div> | ||
+ | |} | ||
+ | |||
+ | ==Debugging == | ||
+ | |||
+ | {|class="yate-table" | ||
+ | |||
+ | |class="yate-header-right"|Yate for programmers | ||
+ | |- | ||
+ | |class="yate-content-right"| | ||
* [[Debugging in Yate]] | * [[Debugging in Yate]] |
Revision as of 17:37, 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 |
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. How to write a simple IVR in Yate. How to write a simple IVR with Inline Callbacks in Yate. How to bridge and then unbridge. How to bridge and then redirect after a hangup How to install YAYPM on Windows. YIAX library in Yate. Yate's implementation provides classes for mutual exclusion and locking. Provide an overview of problems caused by improper locking and how to troubleshoot them. Some noteworthy mutexes that have program-wide implications in Yate code. |
Debugging
Yate for programmers |
How to debug in Yate. How to enable debug in Yate. You can use the msgsniff module to investigate the messages in yate. |
See also