INSTALL
550bb8c3
 $Id$
 
cb7dae9d
 
550bb8c3
 Installation Notes
 
5b0cb4c6
 Supported arhitectures: Linux/i386, Linux/armv4l, FreeBSD/i386,
 Solaris/sparc64, Win*/i386 (CYGWIN) - only the core
8fac7c9d
 (for other arhitectures the Makefile must be edited)
550bb8c3
 
628e3a5a
 There are various configuration options defined in the Makefile.
 
550bb8c3
 Requirements:
 
 
5b0cb4c6
 - gcc or icc : gcc >= 2.9x; 3.[12] recommended (it will work with older version
   but it might require some options tweaking for best performance)
550bb8c3
 - bison or yacc (Berkley yacc)
 - flex
5b0cb4c6
 - GNU make (on Linux this is the standard "make", on FreeBSD and Solaris is
  called "gmake")
 - sed and tr (used in the makefiles)
 - GNU tar ("gtar" on Solaris) and gzip if you want "make tar" to work
 - GNU install or BSD install (on Solaris "ginstall") if you want "make
   install", "make bin", "make sunpkg" to work
 
550bb8c3
 
b2dec9c6
 OS Notes:
550bb8c3
 
 - FreeBSD: make sure gmake, bison & flex are installed
5b0cb4c6
 - Solaris: as above; you can use Solaris's yacc instead of bison. You might
   need also gtar and ginstall.
 - Windows: it works in windows (only the core) but you must install a recent
   cygwin version (http://www.cygwin.com/) and also install a newer regex
   library version (>=0.12). 
     
550bb8c3
 
247c2b65
 
 
 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
 
b2dec9c6
 -compile with the "tm" module statically linked and with profiling
 
 make static_modules=tm PROFILE=-pg all
 
5b0cb4c6
 -compile with gcc-3.2 instead of gcc
 
 make CC=gcc-3.2 all
b2dec9c6
 
5b0cb4c6
 or
 
 CC=gcc-3.2 make all
b2dec9c6
 
247c2b65
 
 
 Make targets:
 
628e3a5a
 Clean:
247c2b65
 
628e3a5a
 make clean   (clean the modules too)
 make proper  (clean also the dependencies)
247c2b65
 make distclean (the same as proper)
 make mantainer-clean (clean everything, including auto generated files,
  tags, *.dbg a.s.o)
628e3a5a
 
550bb8c3
 Compile:
 
628e3a5a
 make proper
550bb8c3
 make
 (or gmake on non-Linux systems)
390bec9b
 make modules 
 or make modules exclude_modules="CVS print" etc.
550bb8c3
 
247c2b65
 Make tags:
 
 make TAGS
 
5b0cb4c6
 Create a tar.gz with the sources (in ../):
247c2b65
 
 make tar
 
5b0cb4c6
 Create a tar.gz with the binary distribution (in ../):
247c2b65
 
0294499f
 make bin
247c2b65
 
5b0cb4c6
 Create a gzipped solaris package (in ../):
bc5cc4ec
 
 make sunpkg
 
5b0cb4c6
 Create debian packages (in ../):
 
 make deb
 
 or
 
 dpkg-buildpackage
 
bc5cc4ec
 Install:
550bb8c3
 
 make prefix=/usr/local  install
 
cb7dae9d
 
 
 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
 ----------------------------------------------
 
919e909c
 The following step-by step guide gives you
 instructions how to install the sql-free
 distribution of ser. If you need persistancy
 and authentication, then you have to install
 additional MySql support -- proceed to section B)
 after you are finished with A).
 
5b0cb4c6
 1) Download an RPM or debian package from our site
     http://www.iptel.org/ser
 If you don't use an rpm or debian based distro, try our tar.gz'ed binaries
  (ser-$(version)_$(os)_$(arch).tar.gz, e.g: ser-0.8.8_linux_i386.tar.gz).
 If you use Solaris 8 you can try our solaris package.
 
cb7dae9d
 2) install the package
5b0cb4c6
 RPM:
     rpm -i <package_name>
 debian:
     dpkg -i <package_name>
 tar.gz:
     cd /; tar zxvf <package_name>_os_arch.tar.gz
     (it will install in /usr/local/, and the configuration file in
      /usr/local/etc/ser/ser.cfg)
 Solaris:
     gunzip <package_name>.gz ; pkgadd -d <package_name>
     
cb7dae9d
 3) start the server
5b0cb4c6
 RPM:
     /etc/init.d/ser start
 debian:
     ser is started automatically after the install
     (in case something fails you can start it wiht /etc/init.d/ser start)
 tar.gz:
     the tar.gz does not include an init.d script, you'll have to create one of
     your own or adapt one from the source distribution (debian/init.d,
     rpm/ser.init.*, gentoo/ser.init)
     You can start ser directly with /usr/local/sbin/ser.
 Solaris:
     see tar.gz.
     
cb7dae9d
 4) optionally, watch server's health using the
    serctl utility
b11ee5d8
     - to do so, first set the environment variable SIP_DOMAIN to your domain 
5b0cb4c6
       name, e.g., in Bourne shell, call
         export SIP_DOMAIN="foo.bar"
b11ee5d8
 	- if you are using other than 'localhost' mysql server for maintaining
 	  subscriber database, change the variable 'SQL_HOST' to the proper
 	  host name in the serctl script
5b0cb4c6
     - run the serctl utility
         /usr/sbin/serctl moni
       or
         /usr/local/sbin/serctl moni (if you installed from a tar.gz or solaris
         package)
cb7dae9d
 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: <username>@<your_server_address>
      Advanced->Configure Settings (on)
      Advanced->Server: <your_server_address>
      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.
 
 
5b0cb4c6
 1) Download the package containing the ser mysql module from: 
     http://www.iptel.org/ser/
74a565c7
     (rpm and deb provided, most of the binary tar.gz distributions and the 
      solaris package include it; if it is not present you'll have to rebuild
      from the source).
cb7dae9d
 2) install the package
5b0cb4c6
     rpm -i <package_name>
     or
     dpkg -i <package_name>
92307808
 3) create MySQL tables
cb7dae9d
     /usr/sbin/ser_mysql.sh create
92307808
 4) configure ser to use SQL
cb7dae9d
     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", "calculate_ha1", yes)
     - if (!www_authorize("iptel.org", "subscriber")) {
         www_challenge("iptel.org", "0"); 
         break;
f770a896
       }; /* be sure to replace realm, the first parameter
             in www_* actions, with name of your server;
             some broken UAC implementations don't authenticate
             otherwise
           */
5b0cb4c6
 5) restart the server
     /etc/init.d/ser restart
92307808
 6) you can now start  managing the server using
    the serctl utility; you need to first set the
    environment variable SIP_DOMAIN to your local
    SIP realm, e.g.,
        export SIP_DOMAIN="foo.bar"
f770a896
    The realm name should be the value you set in
    step #4.
 
92307808
    a) watch the server status using 'serctl moni'
    b) try to login as user 'admin' with password 'heslo'
    c) try adding new users using 
        'serctl add <name> <password> <email>'
cb7dae9d
 
 
 
 C) Troubleshooting
 ----------------------------------------------
 
d8159ce1
 /etc/ser/ser.cfg
 /etc/init.d/ser restart
 listen
 aliases
cb7dae9d