VoIP Server

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Yate Server)
(Yate Server)
Line 38: Line 38:
 
In this chapter we will make an overview of the Yate Server components. <br>
 
In this chapter we will make an overview of the Yate Server components. <br>
  
First, the important thing you have to know is that it is available for Linux and Windows, too. The executable that installs with the Yate Package in Windows is called Yate Console. Under Windows, Yate Server provides also a service to the operating system.<br>
+
First, the important thing you have to know is that it is available for Linux and Windows, too. The executable that installs with the Yate Package in Windows is called Yate Console.  
<!--Yate can be used under other platforms too like Sun Solaris, Free BSD or even ARMs, a Pocket PC GUI being under development. <br>-->
+
  
 
Here is a list of the software modules integrated in the Yate Server, which Yate loads at startup:
 
Here is a list of the software modules integrated in the Yate Server, which Yate loads at startup:
 +
 
* h323chan - this module handles the H323 protocol through the OpenH323 library
 
* h323chan - this module handles the H323 protocol through the OpenH323 library
 
* ysipchan - this module handles the SIP protocol through its YASS – Yet Another SIP Stack  implementation   
 
* ysipchan - this module handles the SIP protocol through its YASS – Yet Another SIP Stack  implementation   
Line 64: Line 64:
  
 
Let's take a close look on Yate console now. Below is a picture of how it looks right after it has been launched.  
 
Let's take a close look on Yate console now. Below is a picture of how it looks right after it has been launched.  
 +
  
 
[[File:yate_console_start.png]]
 
[[File:yate_console_start.png]]
 +
  
 
Observe that Yate console first prints on the screen the date it was started and then loads the modules that are registered to it. After that it is trying to initialize them, showing errors or warnings.
 
Observe that Yate console first prints on the screen the date it was started and then loads the modules that are registered to it. After that it is trying to initialize them, showing errors or warnings.
 +
  
 
[[File:yate_console_finish.png]]
 
[[File:yate_console_finish.png]]
 +
  
 
In this case, you can see that all the modules have been properly initialized. After that, the console waits for something to happen (someone to interact with it). Possible things may be interaction using [[rmanager]] or YateGUI.  
 
In this case, you can see that all the modules have been properly initialized. After that, the console waits for something to happen (someone to interact with it). Possible things may be interaction using [[rmanager]] or YateGUI.  

Revision as of 15:23, 21 March 2013

The VoIP Server is the piece of software that the client connects to it to make or to receive a call. Without a server, a lot of services would not be possible.

Contents

Routing

First of all, a server takes care of routing. It finds the paths between two endpoints along with which pieces of information will pass from one to the other. There are different algorithms for determining that, varying from the shortest path to the most secure or the fastest. This is done automatically, so there is no need for human intervention.

Communicate through different protocols

The VoIP server can also be used to make communication possible through a lot of types of protocols. Modules that implement different protocols can be added. But what happens if the caller knows a protocol and the other one doesn’t know it. It is just like two different people are trying to talk to each other, but they speak different languages. In this case, the role of the translator can be taken by the server. This function is called proxying.

Server communicate with clients

Finally, the server has to look after the network’s clients. It handles a list with every client that is allowed to use that network’s VoIP.

Server functionalities

Some of the functions that a server may implement are listed below:

  • Anonymous Call Rejection – you can reject all the incoming calls that you cannot find out their number
  • Blacklist – maintain a list of numbers that your phone will not accept
  • Call Forwarding – redirect incoming phones to another telephone
  • Call Return – redial the last called number automatically
  • Call Waiting – make a beep when you have a second incoming call
  • Caller ID – find out the number of the person that is calling
  • Caller ID Blocking – make a phone without sending out your number

Yate Server

The Yate Server can be considered Yate's package main component. It is the telephony engine that controls all the types of communication that could take part in a VoIP environment.
They range from:

  • routing information
  • managing different protocols
  • handling audio and video data

to:

  • registering users
  • communicating with PSTN, a PC or a VoIP regular phone.

In this chapter we will make an overview of the Yate Server components.

First, the important thing you have to know is that it is available for Linux and Windows, too. The executable that installs with the Yate Package in Windows is called Yate Console.

Here is a list of the software modules integrated in the Yate Server, which Yate loads at startup:

  • h323chan - this module handles the H323 protocol through the OpenH323 library
  • ysipchan - this module handles the SIP protocol through its YASS – Yet Another SIP Stack implementation
  • iaxchan - this module handles IAX and IAX2 routing
  • osschan - this module is for sound card suport
  • tonegen - this module supports the tones (dial, busy, congestion) for Yate
  • wavefile - this module can play or record on a certain channel
  • faxchan - this module can transmit and receive a fax, is based on spandsp
  • ortpchan - this module is the initial implementation for media transport using the RTP protocol
  • yrtpchan - Yate native rtp channel (for Yate versions after 0.9)

Yate supports the use of Sangoma cards for interfacing with PSTN and also some of the cards made by Digium through the Zaptel Interface.

Besides the software and hardware interfaces dedicated, the actual functionality in Yate as a server is provided by the next categories of modules:

  • Routing modules used as it states to route the calls, this being done through more then one module, one example being the module based on regular expressions
  • Registering modules, used for authentication and registration of the call parties
  • Call data recording modules, used for gathering and managing information about the incoming and outgoing calls
  • External Module which offers support for writing external scripts, used for building applications like an IVR for example based on the Yate server

More about all these Yate Server components can be found in the "Yate modules" chapter,to see what capabilities provides the Yate Server.

Let's take a close look on Yate console now. Below is a picture of how it looks right after it has been launched.


Yate console start.png


Observe that Yate console first prints on the screen the date it was started and then loads the modules that are registered to it. After that it is trying to initialize them, showing errors or warnings.


Yate console finish.png


In this case, you can see that all the modules have been properly initialized. After that, the console waits for something to happen (someone to interact with it). Possible things may be interaction using rmanager or YateGUI.

The Console itself doesn't provide input possibility, maintaining the modular Yate philosophy, which provides its flexibility. The console represents only the VoIP engine. Tools for controlling it are run separately.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers