$Id$ TODO --we'll probably go for mysql dependancy, then INSTALL needs to be completely changed --see TROUBLES -- on some hosts, like mine (Jiri) ser binds to 127.0.0.1 -- not really good for quick-start Installation Notes Supported arhitectures: Linux/i386, Linux/armv4l, FreeBSD/i386, Solaris/sparc64, Win*/i386 (CYGWIN) (for other arhitectures the Makefile must be edited) There are various configuration options defined in the Makefile. Requirements: - gcc >= 2.9x; 3.0.x recommended (it will work with older version but it might require some options tweaking for best performance) - bison or yacc (Berkley yacc) - flex - gmake (on Linux this is the standard "make") OS Notes: - FreeBSD: make sure gmake, bison & flex are installed - Solaris: as above; you can use Solaris's yacc instead of bison - Windows: it works in windows but you must install a recent cygwin version (http://www.cygwin.com/) and also install a newer regex library version (>=0.12). Howto: (NOTE: if make doesn't work try gmake instead) - compile with default options: make #builds only ser core, equivalent to make ser make modules or make all #builds everything - compile with profiling make PROFILE=-pg all -compile debug mode version make mode=debug all -compile debug version with profiling make mode=debug PROFILE=-pg all -compile only the print module make modules=modules/print modules -compile all the modules except textops make exclude_modules="CVS textops" modules -compile with the "tm" module statically linked and with profiling make static_modules=tm PROFILE=-pg all -compile with gcc-3.0 instead of gcc make CC=gcc-3.0 all Make targets: Clean: make clean (clean the modules too) make proper (clean also the dependencies) make distclean (the same as proper) make mantainer-clean (clean everything, including auto generated files, tags, *.dbg a.s.o) Compile: make proper make (or gmake on non-Linux systems) make modules or make modules exclude_modules="CVS print" etc. Make tags: make TAGS Create a tar.gz with the sources: make tar Install(not done yet): make prefix=/usr/local install Quick-Start Installation Guide ---------------------------------------------- This guide give you instructions on how to set up the SIP Express Router (ser) on your box quickly. In case the default configuration does not fly, check documentation at ser site http://www.iptel.org/ser If the documentation does not resolve your problem you may try contacting us by E-mail at serhelp@iptel.org Note well the default configuration is very simple in order to be easily installable and provides minimum features. Particularly, authentication is disabled, which means anyone can register using any name with the server. (This is on purpose to avoid installation dependencies on MySQL which is needed for storing user credentials.) A) Quick Start ---------------------------------------------- 1) Download an RPM package from our site http://www.iptel.org/ser/ 2) install the package rpm -i 3) start the server /etc/init.d/ser start 4) optionally, watch server's health using the serctl utility - to do so, first set the environment variable SIP_DOMAIN to your domain name, e.g., in Bourne shell, call export SIP_DOMAIN="foo.bar" - run the serctl utility /usr/sbin/serctl moni 5) Register with the server using your favorite SIP User Agent. You may want to look at configuration hints for use of iptel.org site at http://www.iptel.org/phpBB/viewforum.php?forum=1&8 For example, users of Windows Messenger need to set in Tools->Options->Accounts the foolowing values: Sign-in Name: @ Advanced->Configure Settings (on) Advanced->Server: Connect Using: UDP B) ser with Persistent Data Storage ---------------------------------------------- The default configuration is very simple and features many simplifications. In particular, it does not authenticate users and loses User Location database on reboot. To provide persistency, keep user credentials and remember users' locations across reboots, ser can be configured to use MySQL. Before you proceed, you need to make sure MySQL is installed on your box. 1) Download an RPM *source* package from our site http://www.iptel.org/ser/ 2) install the package rpm -i 3) compile the package 4) install the package 5) create MySQL tables /usr/sbin/ser_mysql.sh create 6) configure ser to use SQL uncomment all lines which are related to authentication: - loadmodule "/usr/lib/ser/modules/mysql.so" - loadmodule "/usr/lib/ser/modules/auth.so" - modparam("usrloc", "db_mode", 2) - modparam("auth", "secret", "alsdkhglaksdhfkloiwr") - modparam("auth", "calculate_ha1", yes) - if (!www_authorize("iptel.org", "subscriber")) { www_challenge("iptel.org", "0"); break; }; 7) restart the server /etc/init.d/ser start C) Troubleshooting ---------------------------------------------- /etc/ser/ser.cfg /etc/init.d/ser restart listen aliases TROUBLES In the following config, ser bound itself to /dev/lo -- not good for quick start. [jiri@cat jiri]$ hostname -a localhost.localdomain localhost [jiri@cat jiri]$ hostname cat [jiri@cat jiri]$ [root@cat log]# uname -a Linux cat 2.4.18-3 #1 Thu Apr 18 07:37:53 EDT 2002 i686 unknown /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 cat localhost.localdomain localhost [root@cat log]# /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:08:02:38:D9:A0 inet addr:192.168.0.16 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:152917 errors:0 dropped:0 overruns:0 frame:0 TX packets:87759 errors:0 dropped:0 overruns:0 carrier:0 collisions:35 txqueuelen:100 RX bytes:216441566 (206.4 Mb) TX bytes:5542812 (5.2 Mb) Interrupt:5 Base address:0x7000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:162 errors:0 dropped:0 overruns:0 frame:0 TX packets:162 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:10568 (10.3 Kb) TX bytes:10568 (10.3 Kb)