SER 2.0.0 Release Candidate 1
Release candidate 1 has been thoroughly tested and also used in several commercial production environments. It has thus proven stable.
SERi 2.0 Release Candidate 1 was made available May 12, 2007. A detailed ChangeLog is available, while an overview of news can be found in the NEWS file.
You can either compile SER from the sources or install a binary package. Standard SER is fairly easy to compile, so compiling it from sources should be fine. You should have a SER 2.0 up and running in 15-30 minutes by following the procedures below!
Installing from binary packages
- See at the end of this page for an overview of binary packages available.
- If you have downloaded an installable package, install using rpm or the appropriate tool for your OS.
- If you have downloaded a binary tar-package , you will get a ./usr/local directory in your current directory when you unpack it. This directory tree reflects how SER is installed in the /usr/local directory tree in a standard installation. You can choose to copy everything into /usr/local or run SER from ./usr/local.
Compiling from sources
In the directory you want SER sources, unpack the tar archive: tar xzf seri-2.0.0-rc1_src.tar.gz
You can choose to include different modules when compiling SER. See the INSTALL file for detailed information on options.
The very basic configuration (without dependencies) can be compiled using: make group_include="standard" all
Alternatives (see step 5 for instructions when installing to a different prefix than /usr/local):make group_include="standard mysql" all
will also add the mysql database modules.make group_include="standard standard-dep" all
will add the standard modules with dependencies (first install mysql, mysql-devel, libcurl, libcurl-devel, libxml2, and libxml2-devel packages for your OS) and if you also want to compile the standard-dep RADIUSi
-based modules (for authentication and groups), you need to install radiusclient-ng
first. See INSTALL file for information on dependencies per module.
If you don't get any errors (except possibly RADIUS-modules not compiling if you include standard-dep), you are now ready to install:
make group_include="standard" install
Make sure you use the same group_include here as when compiling above. SER will be installed to /usr/local as default. By adding prefix=/install/to/path, you can change this. If you do, remember to also add the same prefix to make in step 4 above (to make sure that the default ser.cfg path is correct).
Creating your first configuration file
Download the SER configuration file buildsystem
. (it will later be included in SER 2.0 release, but it is external in this release candidate).
Unpack it to where you want to maintain your configuration file (tar xzf ser.buildsystem.latest.tar.gz
). You can for example use /usr/local/etc/ser. When unpacking, you get a new directory called buildsystem.
Change directory into the buildsystem directory (cd buildsystem)
To create your basic helloworld configuration file:
Run ./configure and answer all the questions. You can safely accept all the defaults (in this release candidate only gettingstarted helloworld is currently supported!), except if you have installed to another prefix (same prefix as you used in make command).
Run make and then make prefix=/path/to/your/etc/dir install (if you omit prefix, the config will be installed to /usr/local/etc/ser/
Go to the directory where you installed the configuration file. Create a symbolic link from ser_default.cfg (the newly generated and installed configuration) to ser.cfg:
ln -s ser_default.cfg ser.cfg
Start SER: /usr/local/sbin/ser -f /path/to/your/etc/dir/ser.cfg (default is again /usr/local/etc/ser/ser.cfg)
Run /usr/local/sbin/sercmd and type ctl.listen to see if SER is running and listening. Type help to see other commands available.
Congratulations, you have a working SER 2.0!!
Configure a SIP client with your domain and register and start making calls :-)
Registrar: IP address of your server/public DNS name of your server
NOTE: Not all parameters above are used for all user clients
SERCTLi 2.0 (optional, but recommended)
Download the SERCTL tool
for controlling SER, unpack it where you want it (tar xzf serctli-2.0.0-rc1_src.tar.gz
) , for example to /usr/local/sbin/ser. You need python (at least 2.3) and python-mysqld installed because SERCTL is made in python.
Beyond Hello World
sercmd is a simple tool for local control of SER, but most people have more needs, like creating domains, users, etc. SERCTL 2.0 is the tool for that. It can run both locally and remotely.
If you have installed ser_ctl, you can run it like this: ser_ctl -j ps (or skip ps to get a list of commands).
If you have changed the fifo path (in buildsystem/local/common/local.m4), you need to specify -J /path/to/fifo
In the packages, you will find an etc directory with ser.cfg and ser_basic.cfg. These two files include lots of more functionality than the hello world example. Modify them to your local parameters (IP address) and try it out by changing the ser.cfg symbolic link. (These example files will probably be included in the buildsystem in the future to simplify installation and management of your configuration files.)
ser.cfg can become big and wieldy for a production setup, and the buildsystem is also there to help you manage your configuration files. Check out the buildsystem documentation
We are working on a migration guide from 0.9.x and a reference guide. Meanwhile, you can check out the what's new
to get an idea of the new features.
To find all the available commands, parameters, functions, and selects in SER 2.0, both for core and module, you can use the search tool
. You can also access the module documentation
How to get help and report bugs
- Please use firstname.lastname@example.org to ask questions, comment on SER 2.0 or tell about your experiences and ideas.
- If you believe you have found a bug, please register as much information as possible on the tracker. Don't worry if it is not a bug, it will be checked and either fixed or closed with a comment.
For production installations, we recommend compiling from sources, but here you can find some binary packages for convenient installation.
These packages have been compiled with standard and standard-dep modules. If you can provide a binary package for inclusion here, please contact us or just add the package below. In order to create a binary package, please use:
make group_include="standard standard-dep" all; make prefix=/tmp/usr/local group_include="standard standard-dep" install; cd /tmp;tar czf /tmp/ser-2.0.0-rc1_your_os_architecture.tar.gz usr
|System ||Package || ser -V|| Dependencies|
Compiled for i386 on
CentOS 4.4 under VMware
2.6.9-42.0.2.ELsmp #1 SMP
Wed Aug 23 00:17:26 CDT 2006
i686 i686 i386 GNU/Linux
version: ser 2.0.0-rc1 (i386/linux)
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP,
PKG_MALLOC, DBG_QM_MALLOC, FAST_LOCK-
ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER,
262144, MAX_LISTEN 16, MAX_URIi_SIZE 1024,
poll method support: poll, epoll_lt, epoll_et, sigio_rt,
@(#) $Id: main.c,v 184.108.40.206 2007/03/01 13:53:37 andrei Exp $
main.c compiled on 12:50:28 May 12 2007 with gcc 3.4.6
| || || || |
| || || || |
| || || || |