Programmer's guide
Line 6: | Line 6: | ||
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. | ||
+ | |||
+ | |||
{|class="yate-table" | {|class="yate-table" | ||
|class="yate-header-right"|Yate for programmers | |class="yate-header-right"|Yate for programmers | ||
|- | |- | ||
− | |class=" | + | |class="yate-content-right"| |
− | + | * [[Yate Design]] | |
− | + | Yate arhitecture and design. | |
− | + | * [[Messages]] | |
− | + | Components of messages and how messages are processed by messages handlers. | |
− | <div class="yate-page-subtitle" | + | <div class="yate-page-subtitle"> |
− | + | ||
− | + | ||
− | + | ||
− | + | * [[Standard Messages]] | |
− | + | All standard messages in Yate. | |
− | + | ||
− | + | ||
− | + | * [[Message Flows]] | |
− | + | Flow messages for an incoming call. | |
− | + | </div> | |
− | + | ||
− | + | * [[Coding style]] | |
− | + | Rules for coding Yate | |
− | + | * [http://yate.null.ro/docs/ Yate C++ API] | |
− | + | Documentation for Yate C++ API | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * [[Javascript]] | |
− | + | Yate offers a embedded Javascript implementation. | |
− | + | ||
− | + | ||
− | < | + | <div class="yate-page-subtitle"> |
− | + | * [[Javascript routing]] | |
− | + | Configuring Javascript module to use routing scripts. | |
+ | * [[Including other files]] | ||
+ | Language extensions for including other files and libraries. | ||
+ | * [[Constructors and prototypes]] | ||
+ | Object construction and prototypal inheritance in Javascript. | ||
+ | * [[Messages in JS]] | ||
+ | Messages in JavaScript | ||
+ | * [[Time events in Javascript]] | ||
+ | Describes implemented methods that process actions in certain time intervals. | ||
+ | * [[Sharing data in Javascript]] | ||
+ | Methods of sharing data between different Javascript instances. | ||
+ | * [[How to do routing using javascript]] | ||
+ | Routing rules written in a script using Yate's Javascript module. | ||
+ | * [[How to access a database from Yate's Javascript module]] | ||
+ | Accessing the database from javascript module. | ||
− | + | </div> | |
− | + | ||
− | + | * [[Yate's PHP library]] | |
− | + | The library used by PHP to comunicate with Yate. | |
− | <div | + | <div class="yate-page-subtitle"> |
− | + | ||
− | + | *[[IVR Setup]] | |
− | + | How to setup an IVR in Yate. | |
+ | * [[Writing an IVR]] | ||
+ | How to write an IVR. | ||
+ | * [[Using Yate's PHP library on windows]] | ||
+ | Test an existing PHP script on Windows. | ||
+ | * [[How To For External Modules In Telnet]] | ||
+ | Test an existing PHP script on Windows. | ||
</div> | </div> | ||
− | |||
− | |||
− | + | * [[YAYPM|YAYPM Yet Another Yate Python Module]] | |
− | + | The library used by Python Module to comunicate with Yate. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | <div | + | <div class="yate-page-subtitle"> |
− | + | * [[YAYPM:Simple IVR]] | |
− | + | How to write a simple IVR in Yate. | |
− | + | * [[YAYPM:Simple IVR with Inline Callbacks]] | |
− | + | How to write a simple IVR with Inline Callbacks in Yate. | |
− | + | * [[YAYPM:Bridge and then unbridge]] | |
− | + | How to bridge and then unbridge. | |
− | + | * [[YAYPM:Bridge and then redirect after a hangup]] | |
+ | How to bridge and then redirect after a hangup | ||
+ | * [[YAYPM_Installation_on_windows|Using YAYPM on windows]] | ||
+ | How to install YAYPM on Windows. | ||
</div> | </div> | ||
− | + | ||
− | <div class="yate-page- | + | * [[YIAX design]] |
+ | YIAX library in Yate. | ||
+ | * [[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. | ||
+ | </div> | ||
+ | |||
+ | * [[Debugging in Yate]] | ||
+ | How to debug in Yate. | ||
<div class="yate-page-subtitle"> | <div class="yate-page-subtitle"> | ||
− | + | * [[Debug Output]] | |
− | + | How to enable debug in Yate. | |
− | + | * [[Debugging and, or Investigation of messages]] | |
− | + | You can use the msgsniff module to investigate the messages in yate. | |
</div> | </div> | ||
|} | |} |
Revision as of 13:12, 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.
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 Yate offers a embedded Javascript implementation. Configuring Javascript module to use routing scripts. Language extensions for including other files and libraries. Object construction and prototypal inheritance in Javascript. Messages in JavaScript Describes implemented methods that process actions in certain time intervals. Methods of sharing data between different Javascript instances. Routing rules written in a script using Yate's Javascript module. Accessing the database from javascript module. The library used by PHP to comunicate with Yate. How to setup an IVR in Yate. How to write an IVR. Test an existing PHP script on Windows. Test an existing PHP script on Windows. 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. 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