misc/examples/kemi: engine python for app_python3s
[kamailio] / INSTALL
1
2      ==================================================
3
4           Kamailio SIP Server Installation Notes
5
6                  https://www.kamailio.org
7
8      ==================================================
9
10   Welcome! This is an amazingly flexible, robust and secure SIP server
11   built on years of experience in several Open Source projects. It's a merge
12   of the SIP Express Router (SER) and the Kamailio (OpenSER) products produced
13   by a joint development team.
14
15   This memo gives you hints on how to set up the Kamailio quickly.
16
17   You can find a similar tutorial and many more on project's web site:
18     - https://www.kamailio.org/w/documentation/
19     - https://www.kamailio.org/wikidocs/
20
21
22 Table of Contents
23 =================
24
25 1. Supported Architectures And Requirements
26 2. How-To Build Kamailio From The Source Code Distribution
27    2.1 Kamailio Fast Track Installation
28    2.2 Details Installing From Source Code
29      A) Build Commands
30 3. Quick-Start Installation Guide
31    A) Getting Help
32    B) Disclaimers
33    C) Quick Start
34    D) Kamailio With Persistent Data Storage
35 4. Troubleshooting
36
37
38 1. Supported Architectures And Requirements
39 -------------------------------------------
40
41 Supported operating systems:
42  - Linux (Debian, Ubuntu, Fedora, RedHat, CentOS, OpenSUSE, Gentoo, a.s.o.)
43  - FreeBSD, NetBSD, OpenBSD, Dragonfly BSD
44  - Solaris
45  - OS/X, Darwin
46
47 Note that some modules have dependencies on the Linux operating system.
48 This is clearly noted in the README files.
49
50 Partially supported
51  - Windows+Cygwin (core + static modules only, no IPv6, no
52    TCP, no dynamic modules)
53
54 Supported architectures
55  - i386, x86_64 (amd64), armv4l, sparc64, powerpc, powerpc64
56
57 Experimental architectures:
58  - mips1, mips2, sparc32, alpha
59
60 (for other architectures the Makefiles might need to be edited)
61
62 There are various configuration options defined in the Makefile.
63
64 Requirements:
65
66 - gcc or clang:
67      gcc >= 2.9x; 3.[12] recommended (it will work with older version
68      but it might require some options tweaking for best performance)
69      clang >= version 3.3
70 - bison or yacc (Berkley Yacc)
71 - flex
72 - GNU make (on Linux this is the standard "make", on *BSD and Solaris it is
73   called "gmake") version >= 3.80 (recommended 3.81).
74 - sed and tr (used in the makefiles)
75 - GNU tar ("gtar" on Solaris) and gzip if you want "make tar" to work
76 - GNU install, BSD install or Solaris install if you want "make
77   install", "make bin", "make sunpkg" to work
78 - libmysqlclient & libz (zlib) if you want MySQL support (the db_mysql module)
79 - libxml2 if you want to compile the cpl-c (CPL support) or pa (presence)
80    modules
81 - freeradius, radcli or libradiusclient-ng (> 5.0) if you need RADIUS support
82   (the auth_radius, acc_radius and misc_radius modules)
83 - libpq if you need PostgreSQL support (the db_postgres module)
84 - libexpat if you want the jabber gateway support (the jabber module) or the
85   XMPP gateway support
86 - libxml2 if you want to use the cpl-c (Call Processing Language) or
87   the presence modules (presence and pua*)
88 - libradius-ng -libs and devel headers- if you want to use functionalities
89   with radius support - authentication, accounting, group support, etc
90 - unixodbc - libs and devel headers - if you want UNIXODBC support as
91   DB underlayer
92 - libperl - libs and devel headers - if you want the perl connector to support
93   perl scripting from your config file (perl module)
94 - libsnmp9 - libs and devel headers - if you want SNMP client functionality
95   (SNMP AgentX subagent) for Kamailio
96 - libldap libs and devel headers v2.1 or greater - if you want LDAP support
97 - libpcre libs and devel headers - if you want to compile the lcr and dialplan
98   modules
99 - libsctp devel headers - if you want to compile the SCTP transport in the core
100 - libssl devel headers (openssl project) - if you want to compile the TLS module
101 - libunistring - for the WebSocket module
102 - python and devel headers for the Python module
103 - jdk and gcj for Java module
104 - the jansson library for the jansson module used for JSON document handling
105 - libsqlite3 if you need SQLite support (the db_sqlite module)
106
107 Some modules have other requirements on third-party libraries. This is documented
108 in the README for the specific module.
109
110 OS Notes:
111
112  FreeBSD/OpenBSD/NetBSD: make sure gmake, bison or yacc & flex are installed.
113
114   FreeBSD 5.4:
115   ------------
116   If you want to compile all the modules, you will need the following packages:
117   - mysql-client-* (any version, install one of the mysql*-client ports) for
118     libmysqlclient
119   - postgresql-libpqxx-2.4.2_1 (/usr/ports/databases/postgresql-libpqxx) for
120     libpq
121   - expat-1.95.8 (/usr/ports/textproc/expat2) for libexpat
122   - libxml2-2.6.18 (/usr/ports/textproc/libxml2) for libxml2
123   - radiusclient-0.4.7 (/usr/ports/net/radiusclient) for libradiusclient-ng
124   - sqlite3-3.35.5 (/usr/ports/databases/sqlite3) for libsqlite3
125   NOTE: you'll need to add radiusclient_ng=4 to the gmake command line if you
126   use the 0.4.* version.
127
128   Compile example (all the modules and SIP server core in a tar.gz):
129      gmake bin radiusclient_ng=4 include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius postgres pa"
130
131   OpenBSD 3.7
132   -----------
133   - mysql-client-4.0.23 (/usr/ports/databases/mysql) for libmysqlclient
134   - expat-1.95.6 (/usr/ports/textproc/expat) for libexpat
135   - libxml-2.6.16p0 (/usr/ports/textproc/libxml) for libxml2
136   - radiusclient-ng-0.5.1 from
137    http://download.berlios.de/radiusclient-ng/radiusclient-ng-0.5.1.tar.gz
138    (you need to download and install it, since there is no "official"
139    openbsd port for it) for libradiusclient-ng
140   - sqlite3-3.35.5 (/usr/ports/databases/sqlite3) for libsqlite3
141
142   Compile example (all the modules and SIP server core in a tar.gz):
143      gmake bin include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius pa"
144
145   NetBSD 2.0
146   ----------
147   - mysql-client-4.1.12 (/usr/pkgsrc/databases/mysql4-client) for libmysqlclient
148   - expat-1.95.8nb2 (/usr/pkgsrc/textproc/expat) for libexpat
149   - libxml2-2.6.19 (/usr/pkgsrc/textproc/libxml2) for libxml2
150   - radiusclient-ng-0.5.1 (see OpenBSD)
151   - sqlite3-3.36.0 (/usr/pkgsrc/databases/sqlite3) for libsqlite
152
153   Compile example (all the modules and SIP server in a tar.gz):
154      gmake bin include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius pa"
155
156   Solaris 10
157   ----------
158   As above; you can use Solaris's yacc instead of bison. You might also
159   need gtar and ginstall. If you don't have ginstall you can use Solaris
160   install, just make sure it's in the PATH (it's usually in /usr/sbin) and
161   add INSTALL=install either to the environment or to the make command line
162   (e.g.: gmake INSTALL=install all).
163
164   Compile example (all the modules and SIP server in a tar.gz):
165      gmake bin INSTALL=install include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius postgres pa"
166
167   Linux
168   -----
169   Kamailio is part of the official Debian distribution. You can download binary modules
170   directly using normal packet management.
171
172   Needed packages for compiling all the modules:
173   * Debian:
174       - libmysqlclient-dev for libmysqlclient
175       - libpq-dev for libpq
176       - libexpat1-dev for libexpat
177       - libxml2-dev for libxml2
178       - libradiusclient-ng-dev for libradiusclient
179       - libsqlite3-dev for libsqlite
180           - other libraries are needed for some other modules,
181             see README of the module you want to use
182     Kamailio have APT deb repositories that allow you to
183         install the binaries easily - see the web site for more details:
184           - http://kamailio.org
185
186
187  Cygwin  (alpha state, partial support)
188  --------------------------------------
189  make sure make, bison, flex, minires and minires-devel (needed for the
190  resolver functions) are installed.
191
192  Only building Kamailio's core and some static modules is supported for now.
193  Stuff known not to work:
194            - IPv6 (cygwin doesn't support it yet)
195            - TCP (the tcp code heavily depends on file descriptor passing
196              between processes, which is not yet supported by cygwin)
197            - dynamic modules (non statically linked -- not supported because
198              backlinking doesn't work in windows by design)
199
200
201   Compile example (all the modules and Kamailio in a tar.gz):
202      make bin include_modules="mysql jabber cpl-c auth_radius group_radius uri_radius postgres pa"
203
204
205 2. Howto Build Kamailio From Source Code Distribution
206 -------------------------------------------------------
207
208 (NOTE: if make doesn't work try gmake instead)
209
210 2.1 Kamailio Fast Track Installation
211 ....................................
212
213
214 If you are familiar with Unix/Linux build tools aready and you installed
215 the required dependencies, then you can just follow this section, otherwise
216 skip over it.
217
218 To get Kamailio installed, in the folder with source code run:
219
220   make cfg
221   make all
222   make install
223
224 If you want to install with additional modules, for example with mysql and
225 tls, run:
226
227   make include_modules="db_mysql tls" cfg
228   make all
229   make install
230
231 2.2 Details - Installing From Source Code
232 .........................................
233
234 Build Commands
235
236   Kamailio is split in four main parts: The core, the modules, the
237   utilities, and the various scripts/examples.  When you build, you can decide to build
238   only the core, the modules, both, or all.
239
240 * Compile Kamailio core only:
241         make
242
243 Compile modules except some explicitly excepted (see below)
244         make modules  - all modules in the modules/ directory
245         make modules-all or make every-module  - all the modules
246
247 * Compile all:
248         make all
249
250 * Explicitly excepted modules:
251   By default make all will not build modules that require external libraries or
252   that are considered to be "experimental". For example, modules that have external
253   dependencies are: db_mysql, jabber, cpl-c, auth_radius, group_radius, uri_radius,
254   avp_radius, db_postgres, db_berkeley, carrierroute, ...
255
256 Including groups of modules:
257   Instead of compiling the default modules only, you can specify groups of
258   modules to include, according to their status:
259   - standard - Modules in this group are considered a standard part of Kamailio
260     (due to widespread usage) but they have no dependencies (note that some of
261     these interplay with external systems. However, they don't have compile
262     or link dependencies).
263
264   - db - Modules in this group use databases and need a database driver to run.
265     Included are drivers for the text mode db (dbtext) and for dumping
266     large amount of data to files (db_flatstore). See also the mysql, 
267     postgres, or sqlite groups.
268
269   - standard_dep -  Modules in this group are considered a standard part of Kamailio
270     (due to widespread usage) but they have dependencies that must be satisfied
271     for compilation.
272     NOTE! All presence modules (dialog, pa, presence_b2b, rls, xcap) have been
273         included in this group due to interdependencies
274
275   - stable - Modules in this group satisfy specific or niche applications,
276     and are considered stable for production use. They may or may not have dependencies
277
278   - experimental - Modules in this group are either not complete, untested, or
279     without enough reports of usage to allow the module into the stable group.
280         They may or may not have dependencies.
281
282 There is another set of groups mainly used by Kamailio, where modules
283 are grouped based on Debian packaging rules. For example:
284    - kstandard - Kamailio standard modules
285
286    - kpresence - Kamailio SIMPLE presence server modules
287
288 * To compile core with standard modules:
289         make group_include="standard" all
290
291 * To compile all modules (provided you have all the required libraries installed) use:
292         make group_include="standard standard-dep stable experimental" all
293
294   There are also in addition some "convenience" groups:
295
296         mysql           - Include all the db modules dependent and the MySQL db driver
297         postgres        - Include all the db modules and the PostgreSQL db driver
298         sqlite          - Include all the db modules and the SQLite db driver
299         radius          - Include all modules on radiusclient
300         presence        - Include all the presence modules
301
302   Ex. to make a standard installation with MySQL, use:
303         make group_include="standard mysql" all
304
305   In addition to group_include (or instead), you can use
306         include_modules="modA modB"
307   to specify exactly the modules you want to include, ex.
308         make include_modules="mymodule" modules
309
310   You can also explicitly skip modules using skip_modules. Let's say you want all
311   the standard and standard-dep modules except domain:
312         make group_include="standard standard-dep" skip_modules="domain" all
313
314   NOTE!!! As this mechanism is very powerful, you may be uncertain which
315   modules that will be included. Just replace all (or modules) with print-modules
316   and you will see which modules will be included and excluded, ex:
317         make print-modules
318   will show which modules are excluded by default.
319
320   If you want to install or to build a binary package (a tar.gz with
321   Kamailio core and the modules), substitute "all" in the above command with
322   "install" or "bin".
323
324
325 * More compile examples:
326
327   - compile with profiling
328         make PROFILE=-pg all
329   - compile debug mode version
330         make mode=debug all
331   - compile debug version with profiling
332         make mode=debug PROFILE=-pg all
333   - compile only the print module
334         make modules=modules/print modules
335   - compile by default only the print module, in debuging mode and with
336     profiling:
337         make cfg modules=modules/print mode=debug PROFILE=-pg
338         make all
339   - change & save the  modules list without rebuilding the whole config
340     (so that already compiled modules won't be re-compiled by
341     make all/make modules):
342         make modules-cfg include_modules="mysql postgress"
343   - change only the compile/build options, without changing the modules list:
344         make cfg-defs CPU=ultrasparc PROFILE=-pg
345   - compile by default all the usual modules + mysql and postgres, optimized
346      for pentium-m and for space (saves both the build options and the module
347      list)
348         make cfg include_modules="mysql postgres" CPU=pentium-m CC_EXTRA_OPTS=-Os
349         make all
350    - compile all the "default" modules except textops and vm
351         make skip_modules="textops vm" modules
352    - save the above option in the make config, so that all make commands
353      will use it by default:
354         make cfg skip_modules="textops vm"
355    - compile all default modules and include uri_radius (not compiled by default):
356         make include_modules="uri_radius" modules
357    - compile all the modules from the modules subdirectory (even the one excluded
358      by default):
359         make exclude_modules="" modules
360    - compile all the modules from the modules subdirectory excluding vm:
361         make exclude_modules=vm modules
362      or
363         make exclude_modules="" skip_modules=vm modules
364    - compile with the "tm" module statically linked and with profiling
365         make static_modules=tm PROFILE=-pg all
366    - compile with gcc-3.2 instead of gcc
367         make CC=gcc-3.2 all
368      or
369         CC=gcc-3.2 make all
370
371 Make targets:
372 =============
373
374 Make Local Build Config:
375 ------------------------
376
377   * make cfg or make config - force config and module list regeneration
378
379   Example:
380         make cfg include_modules=mysql mode=debug
381
382   All future make invocations will include the mysql module and will build in debug mode
383
384   Note: If config.mak doesn't exist (e.g. initial checkout or after a make
385   proper) or if Makefile.defs was changed, the config will be re-generated
386   automatically by the first make command. For example:
387         make cfg  include_modules=db_mysql; make all
388   is equivalent to
389         rm config.mak modules.lst; make include_modules=db_mysql.
390
391   * make cfg-defs  (force config regeneration, but don't touch the module list)
392
393   Example:
394         make cfg-defs CPU=ultrasparc CC_EXTRA_OPTS=-Os PROFILE=-pg
395
396         make modules-cfg
397   or
398         make modules-list
399   saves the module list, without regenerating the build config
400   Example:
401         make modules-list include_modules="tls" skip_modules="print"
402
403 Clean:
404 ------
405
406   * make clean          - clean the base and modules too
407   * make proper         - clean also the dependencies and the config, but not the module list
408   * make distclean      - the same as proper
409   * make maintainer-clean - clean everything, including make's config, saved
410                           module list, auto generated files, tags, *.dbg a.s.o
411   * make clean-all      - clean all the modules in modules/*
412   * make proper-all     - like make proper but for all the  modules in modules/*
413
414   Config clean:
415
416   * make clean-cfg       - cleans the compile config
417   * make clean-modules-cfg  - cleans the modules list
418
419   Reduced clean:
420
421   * make local-clean    - cleans only the core, no libs, utils or modules
422   * make clean-modules  - like make clean, but cleans only the modules
423   * make clean-libs     - like make clean, but cleans only the libs
424   * make clean-utils    - like make clean, but cleans only the utils
425
426
427 Compile:
428 --------
429   * make proper
430      optional: make cfg  <various cfg. options that should be saved>
431   * make proper-modules - like make proper, but only for modules
432   * make proper-libs    - like make proper, but only for libs
433   * make proper-utils   - like make proper, but only for utils
434   * make
435      or gmake on non-Linux systems
436   * make modules
437      or make modules exclude_modules="CVS print" etc.
438
439 Other Make Targets:
440 -------------------
441   Make tags:
442         make TAGS
443
444   Create a tar.gz with the sources (in ../):
445         make tar
446
447   Create a tar.gz with the binary distribution (in ../):
448         make bin
449
450   Create a gzipped solaris package (in ../):
451         make sunpkg
452
453   Create debian packages (in ../):
454         make deb
455
456   or
457         dpkg-buildpackage
458
459 Documentation:
460 --------------
461
462   Regenerate the README for all the "default" modules (include_modules,
463   skip_modules a.s.o can be used to alter the module list).
464         make README
465
466   Generates a manpage for all the modules that support it (.xml file in the
467   module directory).
468         make man
469
470   Generates README file for modules/foo.
471         make modules=modules/foo modules-readme
472
473 Install:
474 --------
475
476         make prefix=/usr/local  install
477
478   Note: If you use prefix parameter in make install then you also need
479   to use this parameter in previous make commands, i.e. make, make modules,
480   or make all. If you fail to do this then Kamailio will look for the default
481   configuration file in a wrong directory, because the directory of the
482   default configuration file is hardcoded into Kamailio during compile time.
483   When you use a different prefix parameter when installing then the
484   directory hard coded in Kamailio and the directory in which the file will be
485   installed by make install will not match. (You can specify exact location
486   of the configuration file using -f parameter of Kamailio).
487
488   For example, if you do the following:
489         make all
490         make prefix=/ install
491
492   Then the installation will put the default configuration file into
493   /etc/kamailio/kamailio.cfg (because prefix is /),
494   but Kamailio will look for the file in /usr/local/etc/kamailio/kamailio.cfg
495   (because there was no prefix parameter make all and /usr/local is the default value of prefix).
496
497   The workaround is trivial, use the same parameters in all make commands:
498         make prefix=/ all
499         make prefix=/ install
500   or save the desired prefix in the make config (e.g.: make cfg prefix=/).
501
502   That applies to other make parameters as well (for example parameters
503   "modules" or "excluded_modules").
504
505
506 3. Quick-Start Installation Guide
507 ---------------------------------
508
509 A) Getting Help
510
511   This guide gives you instructions on how to set up the Kamailio
512   on your box quickly. In case the default configuration does not fly, please
513   check the documentation at the Kamailio web site
514   http://www.kamailio.org to learn how to configure Kamailio for your site.
515
516   If the documentation does not resolve your problem you may try contacting
517   our user forum by E-mail at sr-users@lists.kamailio.org -- that is the
518   mailing list of the Kamailio community. To participate in the mailing list,
519   please subscribe at the following web address:
520
521   https://lists.kamailio.org/cgi-bin/mailman/listinfo
522
523 B) Disclaimers
524
525   Note well the default "quick-start" configuration is very simple in order
526   to be easily installable. It provides minimum features. Particularly,
527   authentication is by default disabled, which means anyone can register using
528   any name with the server. (This is on purpose to avoid installation
529   dependencies on a database, which is needed for storing user credentials.)
530
531 C) Quick Start
532
533   The following step-by step guide gives you instructions how to install the
534   SQL-free distribution of Kamailio. If you need persistence and
535   authentication, then you have to install additional database support --
536   proceed to section D) after you are finished with C).
537
538   1) Download an RPM or Debian package from the links on the wiki
539
540     https://www.kamailio.org/wiki/
541
542   If you don't use an rpm or debian based distribution, try our tar.gz'ed
543   binaries
544     https://www.kamailio.org/pub/kamailio/latest/src/
545
546   If you use Solaris 8 you can try our solaris package.
547   If you use Gentoo Linux you do not have to download a package.
548
549   2) Install the package
550         RPM:
551                 rpm -i <package_name>
552         debian:
553                 dpkg -i <package_name>
554         Solaris:
555                 gunzip <package_name>.gz ; pkgadd -d <package_name>
556         *BSD:
557                 pkg_add package_name
558
559   3) Start the server
560
561         RPM:
562                 /etc/init.d/kamailio start
563         debian:
564                 Kamailio is started automatically after the install
565                 (in case something fails you can start it with '/etc/init.d/kamailio start')
566         tar.gz:
567         Solaris:
568                 the tar.gz does not include an init.d script, you'll have to create one of
569                 your own or adapt one from the source distribution (pkg/debian/init.d,
570                 pkg/kamailio/rpm/kamailio.init, pkg/kamailio/deb/debian/kamailio.init, a.s.o.)
571                 You can start Kamailio directly with
572                         /usr/local/sbin/kamailio.
573
574   4) Optionally, watch server's health using the kamctl utility
575
576     - to do so, first set the environment variable SIP_DOMAIN to your domain
577       name, e.g., in Bourne shell, call
578         export SIP_DOMAIN="myserver.foobar.com"
579         - if you are using other than 'localhost' mysql server for maintaining
580           subscriber database, change the variable 'SQL_HOST' to the proper
581           host name in the kamctl script
582     - run the kamctl utility
583         /usr/sbin/kamctl moni
584       or
585         /usr/local/sbin/kamctl moni (if you installed Kamailio from a
586                 tar.gz or solaris package)
587
588   5) Connect SIP phones
589
590   Register with the server using your favorite SIP User Agent (phone).
591
592   In most cases, you need to set the following options:
593
594         Proxy server:   host name of your server
595         Domain:         the sip domain your server is configured to handle
596         User name:      the account name for your device
597         Auth user:      the ID used for authentication
598         Secret/Password:        The configured authentication password
599
600 D) Kamailio With Persistent Data Storage
601 ------------------------------------------
602
603   The default configuration is very simple and features many simplifications.
604   In particular, it does not authenticate users and loses User Location database
605   on reboot. To provide persistence, keep user credentials and remember users'
606   locations across reboots, Kamailio can be configured to use a database, like MySQL.
607
608   Before you proceed, you need to make sure MySQL is installed on your box. Your
609   MySQL server must be configured to deal with a large number of
610   connection. To increase it, set the following line in [mysqld] section
611   of your my.ini configuration file:
612
613    set-variable    = max_connections=500
614
615   1) Download the package containing mysql support for Kamailio from the links
616      you find on:
617         https://www.kamailio.org/wiki/
618
619     (rpm and deb provided, most of the binary tar.gz distributions and the
620      solaris package include it; if it is not present you'll have to rebuild
621      from the source).
622
623   2) install the package
624     rpm -i <package_name>
625     or
626     dpkg -i <package_name>
627         or
628         emerge kamailio
629         (if do not want to put 'mysql' into your USE variable you can type:
630          USE="mysql" emerge kamailio)
631
632   3) create MySQL tables for Kamailio
633         - if you have a previously installed Kamailio on your system, use
634         /usr/local/sbin/kamdbctl reinstall
635           to convert your Kamailio database into new structures
636         - otherwise, if this is your very first installation, use
637         /usr/local/sbin/kamdbctl create
638           to create Kamailio database structures
639      (you will be prompted for password of MySql "root" user)
640
641   4) configure Kamailio to use SQL
642     uncomment all lines in configuration file kamailio.cfg which are related to authentication:
643     - loadmodule "db_mysql.so"
644     - loadmodule "auth.so"
645     - loadmodule "auth_db.so"
646     - modparam("usrloc", "db_mode", 2)
647     - modparam("auth", "calculate_ha1", yes)
648     - modparam("auth_db", "password_column", "password")
649     - if (!www_authorize("example.com", "subscriber")) {
650         www_challenge("example.com", "0");
651         break;
652       }
653
654   5) be sure to replace realm, the first parameter in www_* actions,
655      with name of your server; some broken UAC implementations don't
656      authenticate otherwise; the authentication command in your
657      configuration script should look then like this:
658         if (!www_authorize("myserver.foobar.com", "subscriber")) {
659             www_challenge("myserver.foobar.com", "0");
660             break;
661         }
662
663   6) restart the server
664
665       /etc/init.d/kamailio restart
666
667   7) you can now start managing the server using the kamctl utility;
668      you need to first set the environment variable SIP_DOMAIN to your
669      local SIP realm, e.g.,
670        export SIP_DOMAIN="myserver.example.com"
671
672         a) watch the server status using 'kamctl moni'
673         b) try to login with your SIP client as user 'admin' with password 'heslo'
674         c) try adding new users using
675                 'kamctl add <username> <password>'
676
677
678 4. Troubleshooting
679 ------------------
680
681 Q: SIP requests are replied by Kamailio with "483 Too Many Hops" or
682    "513 Message Too Large"
683
684 A: In both cases, the reason is probably an error in request routing script
685    which caused an infinite loop. You can easily verify whether this happens
686    by watching SIP traffic on loopback interface. A typical reason for
687    misrouting is a failure to match local domain correctly. If a server
688    fails to recognize a request for itself, it will try to forward it to
689    current URI in believe it would forward them to a foreign
690    domain. Alas, it forwards the request to itself again. This continues
691    to happen until value of max_forwards header field reaches zero or
692    the request grows too big. Solutions is easy: make sure that domain
693    matching is correctly configured. A quick way to achieve that is to
694    introduce a config option to ser.cfg or kamailio.cfg: alias=domainname,
695    where domainname shall be replaced with name of domain, which you wish to
696    server and which appears in request-URIs.
697
698 Q: Where to report issues?
699
700 A: Use bug tracker at: https://github.com/kamailio/kamailio/issues
701
702 Q: Any F.A.Q. that could be helpful to check before reporting an issue?
703
704 A: See: https://www.kamailio.org/wiki/tutorials/faq/main