Beginners in Yate

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Test the setup)
(Test the setup)
Line 110: Line 110:
 
  99991001 - you should here dial tone
 
  99991001 - you should here dial tone
 
  99991002 - you should here busy tone
 
  99991002 - you should here busy tone
  99991003 - you shoud here a ring tone
+
  99991003 - you should here ring tone
  
 
Make a call from one phone to the other and check the audio, if you can here the other end then you may have a NAT problem.<br>
 
Make a call from one phone to the other and check the audio, if you can here the other end then you may have a NAT problem.<br>

Revision as of 11:01, 7 March 2013

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.

Note The instructions below are suitable for linux platforms.

Contents

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 http://voip.null.ro/svn/yate/trunk 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:

./autogen.sh
./configure

compile it:

make

How to run

  • to run in debug mode:
./run -vvvvvv 
  • to run in the daemon mode:
./run -d

For more details about what parameters that can be set when Yate starts you can give command

./run --help

As an advice for debbuging purpose run Yate with this parameters:

 -v 			Verbose debugging (you can use more than once)
 -d 			Daemonify, suppress output unless logged
 -l filename 	 	Log to file
 -Dt                    Timestamp debugging messages relative to program start

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

Go to /usr/src/yate-SVN/conf.d where Yate was installed and rename regfile.conf.sample into regfile.conf.
Then 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:

[100]
password=001

[200]
password=002

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

SIP Configuration

The file that is used is ysipchan.conf. No configuration is needed in this file because by default Yate will bind with all the network interfaces on your server on port 5060. If other programs use this port then you have to to use another free port and put it in [general] section.

Routing

There is no need to define any routing for registered SIP users on the machine. Yate will know to route calls between the users defined in regfile.conf.

To add authentication requirement for all inbound calls add in the regexroute.conf file:

[default]
${username}^$=-;error=noauth

To define routing to other registered users, PSTN, gateways you need to edit regexroute.conf.
To register users in a database you can use register.conf. And then make your route rules in regexroute.conf.

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

If Yate was running when you written in configuration file reload Yate so that the changes will take place.

From the telephony, dial one of the following:

99991001 - you should here dial tone
99991002 - you should here busy tone
99991003 - you should here ring tone

Make a call from one phone to the other and check the audio, if you can here the other end then you may have a NAT problem.

Also if you want to see the flow of the messages we can use a telnet client. Connect like this:

telnet localhost 5060

And write next commands

debug on 
color on

Then make the call and watch SIP messages flow.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers