Programmer's guide

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
Line 28: Line 28:
 
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Javascript]]</font><br/>
 
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Javascript]]</font><br/>
 
<div class="yate-page-desc">Yate offers a embedded Javascript implementation.</div>
 
<div class="yate-page-desc">Yate offers a embedded Javascript implementation.</div>
 +
 +
<div class="yate-page-subtitle"><div class="bullet">&nbsp;</div><font class="yate-page-title">[[Javascript routing]]</font><br/>
 +
<div class="yate-page-desc">Configuring Javascript module to use routing scripts.</div>
 +
 +
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Including other files]]</font><br/>
 +
<div class="yate-page-desc">Language extensions for including other files and libraries.</div>
 +
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Constructors and prototypes]]</font><br/>
 +
<div class="yate-page-desc">Object construction and prototypal inheritance in Javascript.</div>
 +
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Messages in JS]]</font><br/>
 +
<div class="yate-page-desc">Messages in JavaScript</div>
 +
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Time events in Javascript]]</font><br/>
 +
<div class="yate-page-desc">Describes implemented methods that process actions in certain time intervals.</div>
 +
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Sharing data in Javascript]]</font><br/>
 +
<div class="yate-page-desc">Methods of sharing data between different Javascript instances.</div>
 +
 +
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to do routing using javascript]]</font><br/>
 +
<div class="yate-page-desc">Routing rules written in a script using Yate's Javascript module.</div>
 +
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[How to access a database from Yate's Javascript module]]</font><br/>
 +
<div class="yate-page-desc">Accessing the database from javascript module.</div>
 +
 +
</div>
  
 
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Yate's PHP library]]</font><br/>
 
<div class="bullet">&nbsp;</div><font class="yate-page-title">[[Yate's PHP library]]</font><br/>

Revision as of 11:32, 7 August 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 Design
Yate arhitecture and design.
 
Messages
Components of messages and how messages are processed by messages handlers.
 
Standard Messages
All standard messages in Yate.
 
Message Flows
Flow messages for an incoming call.
 
Coding style
Rules for coding Yate
 
Yate C++ API
Documentation for Yate C++ API
 
Javascript
Yate offers a embedded Javascript implementation.
 
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.
 
Yate's PHP library
The library used by PHP to comunicate with Yate.
 
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.
 
YAYPM Yet Another Yate Python Module
The library used by Python Module to comunicate with Yate.
 
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
 
Using YAYPM on windows
How to install YAYPM on Windows.
 
YIAX design
YIAX library in Yate.
 
Mutexes and locking
Yate's implementation provides classes for mutual exclusion and locking.
 
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.
 
Debugging in Yate
How to debug in Yate.
 
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.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers