Mirror/Fork of https://github.com/yatevoip/yate (formerly http://yate.null.ro/svn/yate/) with some fixes. We're submitting our patches upstream, but until they actually review/respond, we're collecting them here.
Go to file
paulc 8074248ace Use CallEndpoint::commonMutex() instead of CallFork's private mutex.
Prevents deadlocks when trying to lock them in different order.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3026 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-17 17:44:35 +00:00
clients Explicitely idle the Qt client thread ourselves, do not rely on QTimer since the glib event scheduler eats much CPU for short timeouts. 2009-12-17 13:35:18 +00:00
conf.d Warn and refuse authentication if the designated password return column is missing from the user.auth result set. 2010-01-06 12:46:45 +00:00
docs Added diagram of data flow inside and between Data Endpoints. 2009-12-28 15:35:12 +00:00
engine Reduced contention on mutex in CallEndpoint::getPeerId() when there is no peer. 2010-01-16 21:04:08 +00:00
libs Fixed some doxygen comments. 2010-01-11 00:24:17 +00:00
modules Use CallEndpoint::commonMutex() instead of CallFork's private mutex. 2010-01-17 17:44:35 +00:00
packing Added Debian style init files provided by Philipp Kempgen. 2010-01-07 18:58:20 +00:00
share The decision to use stderr or extmodule's %%>output for debugging PHP can be overriden via Yate::Output(boolean). 2009-12-21 12:00:34 +00:00
tools Generate a full (including variable values) backtrace on the core. 2008-11-10 16:41:19 +00:00
windows Added Winsock to the libraries used by the pgsql module since it directly calls select() 2010-01-05 12:42:47 +00:00
.cvsignore Made all YateLocal* to be ignored by SVN/CVS. 2008-02-05 12:25:40 +00:00
COPYING Updated copyright and FSF address. 2006-05-27 15:08:43 +00:00
ChangeLog Bumped version to 1.3.0 2007-08-27 17:26:32 +00:00
Makefile.in Implemented jabber server. Changed jingle channel to support the new jabber library. Replaced tinyxml with yate own XML library. Added openssl support for server. Work in progress in jabber client support. 2009-11-02 16:05:39 +00:00
README Minor documentation additions. 2006-12-17 19:20:45 +00:00
autogen.sh Generate yate-config.in dynamically to add support for arbitrary parameters. 2009-06-10 13:43:42 +00:00
configure.in Bumped SVN trunk version to 3.0.0 alpha 1. 2009-11-03 09:48:34 +00:00
main.cpp Updated copyright and FSF address. 2006-05-27 15:08:43 +00:00
run.in Added multi thread backtrace output via ./run --backtrace 2008-09-16 12:34:16 +00:00
yate-config.sh Suppress the MODULE_ parameters since they can be retrieved by other means. 2009-06-10 14:16:44 +00:00
yate.pc.in Added to pkgconfig several custom variables like in yate-config. 2008-10-09 14:53:51 +00:00
yatecbase.h Client sounds can now carry a stereo parameter. This parameter is forwarded by utility client channels in the chan.attach message. 2009-06-22 16:09:09 +00:00
yateclass.h Added method to retrieve the name of the Thread currently owning a Mutex. 2010-01-16 20:42:25 +00:00
yateiss.inc.in Include code status in installer. 2008-01-08 19:22:51 +00:00
yatemime.h Added a method to retrieve a desired body type from a possibly multipart MIME body. 2009-08-23 19:48:17 +00:00
yatengine.h Added a ClientProxy engine run mode for clients with no local UI. 2009-07-14 15:49:20 +00:00
yatephone.h Modified the CallEndpoint::getPeerId() API so it copies the string while holding CallEndpoint::commonMutex(). 2010-01-14 00:01:38 +00:00
yateversn.h.in Added Qt4 package and status tag. 2008-01-07 21:07:07 +00:00

README

		YATE - Yet Another Telephony Engine
		-----------------------------------

  The YATE project aims to be a fully featured software PBX.
  
  It was created to alow developers and users to have more functionality and
  scalability. To reach this goal YATE is built from two kinds of components: 
    1. The main engine - telengine.
    2. Modules - routing modules
               - drivers
               - script language bindings
	       - billing modules
  
  Its license is GPL with exceptions (in case of linking with proprietary
  software). We have chosen this license to help the growth of this project.


Building YATE Software
----------------------

YATE have been tested on Linux and Windows and was ported to FreeBSD.
Please report bugs at bugs@voip.null.ro

To build Yate the quick way is:
  ./configure
  make
  make install

If you are lacking both doxygen and kdoc you will need to install without the
API documentation:
  make install-noapi

1. Building the engine

You have just to run 'make engine' in the main directory.

2. Building the modules.

Run 'make modules' in the main directory or 'make' in the modules directory.

3. Building the test modules.

Run 'make test' in the main directory or 'make' in the test directory.

After you have create the test modules use 'mktestlinks' in the modules
directory to make links from test modules into modules directory.

4. Building the classes API documentation

Run 'make apidocs' in the main directory. You will need to have kdoc or
doxygen installed.


Alternatively you can just 'make everything' in the main directory which will
build them all.


Running YATE
------------

You can run YATE directly from the build directory - just use 'run' script
from the main directory.
  ./run -vvv

You can also install YATE - then you can run it from anywhere.
  yate -vvv

On the command line you can use '-v' to increase the verbosity level. If in
doubt run "run --help" (or "yate --help" if installed) to get a list of
possible options. There is also a manual page - "man yate" and read.

While running the following signals and keys are trapped and used:
  - SIGTERM and SIGINT (Ctrl-C) will cleanly stop the engine
  - SIGHUP and SIGQUIT (Ctrl-\) will reinitialize the modules
  - SIGUSR1 will gracefully restart a supervised engine
  - SIGUSR2 will forcefully restart a supervised engine


Configuring YATE
----------------

Some samples for the configuraton files can be found in the conf.d directory.
Note that you must rename them without the .sample extension or create symlinks
to them.