Programmer's guide
(→Javascript) |
|||
(14 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | Yate has 3 major API's to build applications on top of it: C API, Javascript and extmodule (you can use your favorite language like PHP, Python, Ruby, Lisp). | ||
− | + | But all Yate API's are quite unified, so all Yate design pages, apply to all API's. Enjoy. | |
− | + | ||
− | + | == About Yate design and implementation == | |
− | + | ||
− | + | ||
− | + | ||
− | == About Yate | + | |
{|class="yate-table" | {|class="yate-table" | ||
Line 15: | Line 11: | ||
* [[Yate Design]] | * [[Yate Design]] | ||
Yate arhitecture and design. | Yate arhitecture and design. | ||
+ | * [http://yate.null.ro/docs/ Yate C++ API] | ||
+ | Documentation for Yate C++ API | ||
+ | |||
* [[Messages]] | * [[Messages]] | ||
Components of messages and how messages are processed by messages handlers. | Components of messages and how messages are processed by messages handlers. | ||
− | {|class="yate- | + | {|class="yate-subtable" |
|- | |- | ||
+ | |class="yate-page-subtitle"| | ||
* [[Standard Messages]] | * [[Standard Messages]] | ||
All standard messages in Yate. | All standard messages in Yate. | ||
Line 25: | Line 25: | ||
Flow messages for an incoming call. | Flow messages for an incoming call. | ||
|} | |} | ||
+ | |||
* [[Coding style]] | * [[Coding style]] | ||
Rules for coding Yate | Rules for coding Yate | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* [[Mutexes and locking]] | * [[Mutexes and locking]] | ||
Yate's implementation provides classes for mutual exclusion and locking. | Yate's implementation provides classes for mutual exclusion and locking. | ||
− | + | {|class="yate-subtable" | |
+ | |- | ||
+ | |class="yate-page-subtitle"| | ||
* [[Locking Issues]] | * [[Locking Issues]] | ||
Provide an overview of problems caused by improper locking and how to troubleshoot them. | Provide an overview of problems caused by improper locking and how to troubleshoot them. | ||
Line 42: | Line 39: | ||
Some noteworthy mutexes that have program-wide implications in Yate code. | Some noteworthy mutexes that have program-wide implications in Yate code. | ||
|} | |} | ||
+ | * [[YIAX design]] | ||
+ | YIAX library in Yate. | ||
|} | |} | ||
Line 57: | Line 56: | ||
Yate offers a embedded Javascript implementation. | Yate offers a embedded Javascript implementation. | ||
− | {|"yate- | + | {|"yate-subtable" |
|- | |- | ||
− | * [[Javascript | + | |class="yate-page-subtitle"| |
− | Configuring Javascript module to use routing scripts. | + | * [[Javascript module]] |
+ | Configuring Javascript module to use routing or global scripts. | ||
* [[Including other files]] | * [[Including other files]] | ||
Language extensions for including other files and libraries. | Language extensions for including other files and libraries. | ||
Line 88: | 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- | + | {|"yate-subtable" |
|- | |- | ||
+ | |class="yate-page-subtitle"| | ||
*[[IVR Setup]] | *[[IVR Setup]] | ||
How to setup an IVR in Yate. | How to setup an IVR in Yate. | ||
Line 108: | Line 109: | ||
|- | |- | ||
|class="yate-content-right"| | |class="yate-content-right"| | ||
− | |||
− | |||
* [[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- | + | {|"yate-subtable" |
|- | |- | ||
+ | |class="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 127: | Line 127: | ||
|} | |} | ||
− | + | ==Debugging == | |
{|class="yate-table" | {|class="yate-table" | ||
Line 137: | Line 137: | ||
* [[Debugging in Yate]] | * [[Debugging in Yate]] | ||
How to debug in Yate. | How to debug in Yate. | ||
− | {|"yate- | + | {|"yate-subtable" |
|- | |- | ||
+ | |class="yate-page-subtitle"| | ||
+ | |||
* [[Debug Output]] | * [[Debug Output]] | ||
How to enable debug in Yate. | How to enable debug in Yate. | ||
Line 150: | Line 152: | ||
* [[Telephony]] | * [[Telephony]] | ||
+ | |||
+ | [[Category:Programmers]] [[Category:Javascript]] [[Category:IVR]] [[Category:Messages]] [[Category:Debug]] |
Latest revision as of 11:01, 10 March 2016
Yate has 3 major API's to build applications on top of it: C API, Javascript and extmodule (you can use your favorite language like PHP, Python, Ruby, Lisp).
But all Yate API's are quite unified, so all Yate design pages, apply to all API's. Enjoy.
Contents |
[edit] About Yate design and implementation
Yate for programmers | ||
Yate arhitecture and design. Documentation for Yate C++ API Components of messages and how messages are processed by messages handlers.
Rules for coding Yate Yate's implementation provides classes for mutual exclusion and locking.
YIAX library in Yate. |
[edit] Scripting languages supported by Yate
[edit] Javascript
Yate for programmers | |
Yate offers a embedded Javascript implementation.
|
[edit] PHP
Yate for programmers | |
The library used by PHP to comunicate with Yate.
|
[edit] Python
Yate for programmers | |
The library used by Python Module to comunicate with Yate.
|
[edit] Debugging
Yate for programmers | |
How to debug in Yate.
|
See also