Difference between revisions of "Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a VOIP Server"
Davidmbrooke (Talk | contribs) (Expanded Yate section for Yate 3) |
Davidmbrooke (Talk | contribs) m (Corrected navigation links for new Print Server page) |
||
Line 2: | Line 2: | ||
! colspan="3" align="center" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a VOIP Server|Advanced Topics - Setting Up a VOIP Server]] | ! colspan="3" align="center" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a VOIP Server|Advanced Topics - Setting Up a VOIP Server]] | ||
|- | |- | ||
− | | width="20%" align="left" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a | + | | width="20%" align="left" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a Print Server|Prev]] |
! width="60%" align="center" | [[Bering-uClibc 4.x - User Guide]] | ! width="60%" align="center" | [[Bering-uClibc 4.x - User Guide]] | ||
| width="20%" align="right" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a File Server|Next]] | | width="20%" align="right" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a File Server|Next]] | ||
Line 122: | Line 122: | ||
---- | ---- | ||
{| summary="Navigation footer" width="100%" | {| summary="Navigation footer" width="100%" | ||
− | | width="40%" align="left" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a | + | | width="40%" align="left" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a Print Server|Prev]] |
| width="20%" align="center" | [[Bering-uClibc 4.x - User Guide - Advanced Topics|Up]] | | width="20%" align="center" | [[Bering-uClibc 4.x - User Guide - Advanced Topics|Up]] | ||
| width="40%" align="right" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a File Server|Next]] | | width="40%" align="right" | [[Bering-uClibc 4.x - User Guide - Advanced Topics - Setting Up a File Server|Next]] |
Revision as of 11:08, 23 April 2011
Advanced Topics - Setting Up a VOIP Server | ||
---|---|---|
Prev | Bering-uClibc 4.x - User Guide | Next |
Contents
Yate
Introduction
This Howto describes a Voice-over-IP (VoIP) solution based on Yate. Yate is a small but powerful IP telephony engine.
The yate.lrp
Package in Bering-uClibc 4.x is based on Yate version 3.
This is much more advanced than Yate version 1 which was used for Bering-uClibc 3.x and includes many more Yate modules, each with their own configuration file.
Since many of these Yate modules will only be of interest to advanced users, the Bering-uClibc 4.x yate.lrp
Package includes a large number of Yate modules (and their configuration files) but only loads a small number of Yate modules by default (the same ones as were available for Yate version 1 on Bering-uClibc 3.x) and only lists the configuration files for these default Yate modules in the lrcfg menu.
Requirements
To install Yate on a Bering-uClibc based system the following Packages are required:
-
yate.lrp
-
libcxx.lrp
-
libm.lrp
-
lpthread.lrp
Yate Basics
Startup and Shutdown
The Yate processes are stopped and started via init script /etc/init.d/yate
. This is executed automatically at boot time, or the Yate processes can be started manually with the following command:
svi yate start
Logging
Log output is sent to /var/log/yate.log
By default the logging is fairly minimal.
Extra log output can be configured by adjusting the [debug] settings in /etc/yate/yate.conf
or by using the Remote Manager.
Test Numbers
Yate comes pre-configured with some test numbers, which are specified at the end of /etc/yate/regexroute.conf
:
; The following are for testing purposes ^99991001$=tone/dial ^99991002$=tone/busy ^99991003$=tone/ring ^99991004$=tone/specdial ^99991005$=tone/congestion ^99991006$=tone/outoforder ^99991007$=tone/milliwatt
For example, after dialling 99991003@192.168.1.254 (assuming that is the IPv4 address of your Yate server) you should hear a (US) ring tone.
Configuration Recipes
Yate has a number of configuration files in directory /etc/yate/
. Only some of those are listed in the Yate section of the LEAF configuration menu.
SIP Client Registration
To allow SIP clients to register edit file ysipchan.conf
and un-comment the registrar entry.
; registrar: bool: Allow the SIP module to receive registration requests registrar=enable
You have to set the username and passwords for those clients in regfile.conf
like this:
[someusername] password=something
Call Routing Configuration
The regexroute module provides a simple way of routing telephony calls inside Yate. This module describes the routes using a configuration file in which each number is matched using regular expressions. The config file is named regexroute.conf
and contains numerous examples.
Accounts
The accfile module allows Yate to act as a SIP or AIX client, this can be used to connect Yate to an other VOIP server or provider.
[test_sip] enabled=yes protocol=sip username=me description=Test SIP account ;interval=600 formats=alaw,mulaw password=1234 ;number=1234 ;domain=somewhere.org registrar=10.0.0.1:5060 ;outbound=10.0.0.1:5061 ;localaddress=auto
An example on how to connect Yate to FWD (Free World Dialup) can be found in yate's wiki.
Firewall settings
In most situations you don't install a firewall VoIP server itself. If you install a VoIP server behind a firewall you need to open a SIP and a RTP range.
SIP uses udp port 5060, RTP (udp) ports are not hard defined but depends very much upon the application. In Yate the range of ports can be defined in yrtpchan.conf
.
Asterisk
Status
As of March 2011 Asterisk version 1.8.2.3 (the latest upstream version) is in the process of being ported to Bering-uClibc 4.x. This is currently at "Alpha Test" status and is NOT included in any of the Bering-uClibc 4.0 Beta releases.
Experimental versions of the various Asterisk Packages can be downloaded from davidMbrooke's "devel" directory in SourceForge CVS.
(Developers only: the corresponding buildtool Source definitions are here.)
See also LEAF Trac ticket #5.
Update 2011-02-24: The asterisk executable seems to segfault early in the startup process unless the "-p" command-line argument is specified (or "highpriority = yes" is specified in /etc/asterisk/asterisk.conf
).
Packages
The Asterisk distribution is divided into four .lrp
Packages, based on the structure adopted for Asterisk 1.2 on Bering-uClibc 3.x but somewhat extended.
The Packages are:
-
asterisk.lrp
- The main Package, with the Asterisk executables installed into directory
/usr/sbin/
and also all of the Asterisk modules installed into directory/usr/lib/asterisk/modules/
-
astsmpls.lrp
- The sample configuration files which are installed into directory
/etc/asterisk/
-
astsnds.lrp
- The sound files which are installed into directory
/var/lib/asterisk/sounds/
- This file is big - 1.7MB - and once installed the files occupy over 2.25MB of disk space
-
astmoh.lrp
- The music-on-hold files which are installed into directory
/var/lib/asterisk/moh/
- This file is very big - 14.6MB - and once installed the files occupy over 17MB of disk space
The following Packages are pre-requisites:
-
libm.lrp
-
libssl.lrp
-
libcrpto.lrp
-
lpthread.lrp
-
ncurses.lrp
Configuration
The standard Asterisk version 1.8 documentation is located here.
Prev | Up | Next |