Beginners in Yate

From Yate Documentation
Revision as of 15:00, 20 November 2012 by Dana (Talk | contribs)

Jump to: navigation, search

Yate (acronym for Yet Another Telephony Engine) is a next-generation telephony engine, is a free and open source communications software with support for video, voice and instant messaging.
Based on Voice over Internet Protocol (VoIP) and PSTN, it can easily be extended. It supports SIP, H.323, IAX, MGCP, Jingle, Jabber, E1, T1, analogic, ISDN PRI, BRI, and SS7. It is written in C++, having in mind a modular design, allowing the use of scripting languages like Perl, Python or PHP to create external functionalities.


How to get Yate source from SVN

Since you are going the full process of fetching and building Yate you will need the following:

  • Basic software development tools:
    • The Gnu make program (it won't build with the BSD make)
    • The C++ compiler of the Gnu suite (gcc/g++) and its libraries
    • The autoconf configuration script builder
  • A subversion (svn) client

As root go to /usr/src or where ever you'd like to store source code. Once you have the svn client installed getting the sources is a simple command:

svn checkout yate-SVN
cd yate-SVN

First command will fetch a copy of the SVN TRUNK (where the code is committed) in a new directory called yate-SVN. The second command will change your current directory to the Yate sources directory.

For more information go to page Installation.

How to compile

To generate configure file run this, then configure the source code:


compile it:


How to run

  • to run in debug mode:

./run -vvvvvv

  • to run in the daemon mode:

./run -d

Configuration Files

The files that you can configure are in /usr/src/yate-SVN/conf.d.

Each file has a .sample termination. You have to create a a new file with the same name but with .conf.

Each parameter in the files have a section that is in brackets. Comment in this files are done by using ;.

Adding Users

You'll have to edit regfile.conf to add users. We are going to add 2 users:user 100 with password 001 and user 200 with password 002 like this:



There is another way of adding users if you wish to use a database, the file to use is register.conf.

SIP Configuration

'ysipchan.conf' has two sections. In [general] section you can define the listening port and IP address to bind to. Also you can enable/disable user registration.

Section [codecs] is used to configure codecs:


; This section allows to individually enable or disable the codecs



To define routing to other registered users, PSTN, gateways we need to edit 'regexroute.conf'.

There is no need to define any routing for registered SIP users on the same machine.

Configure phones

You have to configure the users from regfile on two SIP phone (you could use a SIP softphone as well) to call Yate Server.

Test the setup

Make a call from one phone to the other.

Personal tools