...
|
...
|
@@ -23,16 +23,15 @@ Table of Contents
|
23
|
23
|
=================
|
24
|
24
|
|
25
|
25
|
1. Supported Architectures And Requirements
|
26
|
|
-2. How-To Build SIP Server From The Source Code Distribution
|
|
26
|
+2. How-To Build Kamailio From The Source Code Distribution
|
27
|
27
|
2.1 Kamailio Fast Track Installation
|
28
|
28
|
2.2 Details Installing From Source Code
|
29
|
|
- A) Set SIP Server Flavour
|
30
|
|
- B) Build Commands
|
|
29
|
+ A) Build Commands
|
31
|
30
|
3. Quick-Start Installation Guide
|
32
|
31
|
A) Getting Help
|
33
|
32
|
B) Disclaimers
|
34
|
|
- C) Quick Atart
|
35
|
|
- D) SIP Server With Persistent Data Storage
|
|
33
|
+ C) Quick Start
|
|
34
|
+ D) Kamailio With Persistent Data Storage
|
36
|
35
|
4. Troubleshooting
|
37
|
36
|
|
38
|
37
|
|
...
|
...
|
@@ -45,6 +44,9 @@ Supported operating systems:
|
45
|
44
|
- Solaris
|
46
|
45
|
- OS/X, Darwin
|
47
|
46
|
|
|
47
|
+Note that some modules have dependencies on the Linux operating system.
|
|
48
|
+This is clearly noted in the README files.
|
|
49
|
+
|
48
|
50
|
Partially supported
|
49
|
51
|
- Windows+Cygwin (core + static modules only, no IPv6, no
|
50
|
52
|
TCP, no dynamic modules)
|
...
|
...
|
@@ -74,7 +76,7 @@ Requirements:
|
74
|
76
|
- libmysqlclient & libz (zlib) if you want MySQL support (the db_mysql module)
|
75
|
77
|
- libxml2 if you want to compile the cpl-c (CPL support) or pa (presence)
|
76
|
78
|
modules
|
77
|
|
-- libradiusclient-ng (> 5.0) if you need RADIUS support (the auth_radius,
|
|
79
|
+- freeradius or libradiusclient-ng (> 5.0) if you need RADIUS support (the auth_radius,
|
78
|
80
|
group_radius, uri_radius and avp_radius modules)
|
79
|
81
|
- libpq if you need PostgreSQL support (the db_postgres module)
|
80
|
82
|
- libexpat if you want the jabber gateway support (the jabber module) or the
|
...
|
...
|
@@ -85,8 +87,6 @@ Requirements:
|
85
|
87
|
with radius support - authentication, accounting, group support, etc
|
86
|
88
|
- unixodbc - libs and devel headers - if you want UNIXODBC support as
|
87
|
89
|
DB underlayer
|
88
|
|
-- libxmlrpc-c3 - libs and devel headers - if you want to have XML-RPC support
|
89
|
|
- for the management interface (MI)
|
90
|
90
|
- libperl - libs and devel headers - if you want the perl connector to support
|
91
|
91
|
perl scripting from your config file (perl module)
|
92
|
92
|
- libsnmp9 - libs and devel headers - if you want SNMP client functionality
|
...
|
...
|
@@ -101,6 +101,8 @@ Requirements:
|
101
|
101
|
- jdk and gcj for Java module
|
102
|
102
|
- the jansson library for the jansson module used for JSON document handling
|
103
|
103
|
|
|
104
|
+Some modules have other requirements on third-party libraries. This is documented
|
|
105
|
+in the README for the specific module.
|
104
|
106
|
|
105
|
107
|
OS Notes:
|
106
|
108
|
|
...
|
...
|
@@ -158,6 +160,9 @@ OS Notes:
|
158
|
160
|
|
159
|
161
|
Linux
|
160
|
162
|
-----
|
|
163
|
+ Kamailio is part of the official Debian distribution. You can download binary modules
|
|
164
|
+ directly using normal packet management.
|
|
165
|
+
|
161
|
166
|
Needed packages for compiling all the modules:
|
162
|
167
|
* Debian:
|
163
|
168
|
- libmysqlclient-dev for libmysqlclient
|
...
|
...
|
@@ -171,6 +176,7 @@ OS Notes:
|
171
|
176
|
install the binaries easily - see the web site for more details:
|
172
|
177
|
- http://kamailio.org
|
173
|
178
|
|
|
179
|
+
|
174
|
180
|
Cygwin (alpha state, partial support)
|
175
|
181
|
--------------------------------------
|
176
|
182
|
make sure make, bison, flex, minires and minires-devel (needed for the
|
...
|
...
|
@@ -215,13 +221,13 @@ tls, run:
|
215
|
221
|
make all
|
216
|
222
|
make install
|
217
|
223
|
|
218
|
|
-2.2 Details Installing From Source Code
|
|
224
|
+2.2 Details - Installing From Source Code
|
219
|
225
|
.......................................
|
220
|
226
|
|
221
|
227
|
Build Commands
|
222
|
228
|
|
223
|
229
|
Kamailio is split in four main parts: The core, the modules, the
|
224
|
|
- utilties, and scripts/examples. When you build, you can decide to build
|
|
230
|
+ utilities, and the various scripts/examples. When you build, you can decide to build
|
225
|
231
|
only the core, the modules, both, or all.
|
226
|
232
|
|
227
|
233
|
* Compile Kamailio core only:
|
...
|
...
|
@@ -399,23 +405,24 @@ Clean:
|
399
|
405
|
|
400
|
406
|
Config clean:
|
401
|
407
|
|
402
|
|
- * make clean-cfg (cleans the compile config)
|
403
|
|
- * make clean-modules-cfg (cleans the modules list)
|
|
408
|
+ * make clean-cfg - cleans the compile config
|
|
409
|
+ * make clean-modules-cfg - cleans the modules list
|
404
|
410
|
|
405
|
|
- Reduced" clean:
|
|
411
|
+ Reduced clean:
|
406
|
412
|
|
407
|
413
|
* make local-clean - cleans only the core, no libs, utils or modules
|
408
|
414
|
* make clean-modules - like make clean, but cleans only the modules
|
409
|
415
|
* make clean-libs - like make clean, but cleans only the libs
|
410
|
416
|
* make clean-utils - like make clean, but cleans only the utils
|
411
|
|
- * make proper-modules - like make proper, but only for modules
|
412
|
|
- * make proper-libs - like make proper, but only for libs
|
413
|
|
- * make proper-utils - like make proper, but only for utils
|
|
417
|
+
|
414
|
418
|
|
415
|
419
|
Compile:
|
416
|
420
|
--------
|
417
|
421
|
* make proper
|
418
|
422
|
optional: make cfg <various cfg. options that should be saved>
|
|
423
|
+ * make proper-modules - like make proper, but only for modules
|
|
424
|
+ * make proper-libs - like make proper, but only for libs
|
|
425
|
+ * make proper-utils - like make proper, but only for utils
|
419
|
426
|
* make
|
420
|
427
|
or gmake on non-Linux systems
|
421
|
428
|
* make modules
|
...
|
...
|
@@ -503,7 +510,7 @@ A) Getting Help
|
503
|
510
|
mailing list of the Kamailio community. To participate in the mailing list,
|
504
|
511
|
please subscribe at the following web address:
|
505
|
512
|
|
506
|
|
- http://lists.sip-router.org/cgi-bin/mailman/listinfo
|
|
513
|
+ https://lists.sip-router.org/cgi-bin/mailman/listinfo
|
507
|
514
|
|
508
|
515
|
B) Disclaimers
|
509
|
516
|
|
...
|
...
|
@@ -522,11 +529,11 @@ C) Quick Start
|
522
|
529
|
|
523
|
530
|
1) Download an RPM or Debian package from the links on the wiki
|
524
|
531
|
|
525
|
|
- http://www.kamailio.org/wiki/
|
|
532
|
+ https://www.kamailio.org/wiki/
|
526
|
533
|
|
527
|
534
|
If you don't use an rpm or debian based distribution, try our tar.gz'ed
|
528
|
535
|
binaries
|
529
|
|
- http://www.kamailio.org/pub/kamailio/latest/src/
|
|
536
|
+ https://www.kamailio.org/pub/kamailio/latest/src/
|
530
|
537
|
|
531
|
538
|
If you use Solaris 8 you can try our solaris package.
|
532
|
539
|
If you use Gentoo Linux you do not have to download a package.
|
...
|
...
|
@@ -537,15 +544,13 @@ C) Quick Start
|
537
|
544
|
debian:
|
538
|
545
|
dpkg -i <package_name>
|
539
|
546
|
gentoo:
|
540
|
|
- emerge ser
|
541
|
|
- or
|
542
|
|
- emerge kamailio
|
543
|
|
- (or if use only stable packets: ACCEPT_KEYWORDS="~x86" emerge ser
|
544
|
|
- or ACCEPT_KEYWORDS="~x86" emerge kamailio)
|
|
547
|
+ emerge kamailio
|
|
548
|
+ (or if use only stable packets:
|
|
549
|
+ ACCEPT_KEYWORDS="~x86" emerge kamailio )
|
545
|
550
|
tar.gz:
|
546
|
551
|
cd /; tar zxvf <package_name>_os_arch.tar.gz
|
547
|
552
|
(it will install in /usr/local/, and the configuration file in
|
548
|
|
- /usr/local/etc/ser/ser.cfg or /usr/local/etc/kamailio/kamailio.cfg)
|
|
553
|
+ /usr/local/etc/kamailio/kamailio.cfg)
|
549
|
554
|
Solaris:
|
550
|
555
|
gunzip <package_name>.gz ; pkgadd -d <package_name>
|
551
|
556
|
*BSD:
|
...
|
...
|
@@ -562,8 +567,7 @@ C) Quick Start
|
562
|
567
|
Solaris:
|
563
|
568
|
the tar.gz does not include an init.d script, you'll have to create one of
|
564
|
569
|
your own or adapt one from the source distribution (pkg/debian/init.d,
|
565
|
|
- pkg/rpm/ser.init.*, pkg/gentoo/ser.init, pkg/kamailio/rpm/kamailio.init,
|
566
|
|
- pkg/kamailio/deb/debian/kamailio.init, a.s.o.)
|
|
570
|
+ pkg/kamailio/rpm/kamailio.init, pkg/kamailio/deb/debian/kamailio.init, a.s.o.)
|
567
|
571
|
You can start Kamailio directly with
|
568
|
572
|
/usr/local/sbin/kamailio.
|
569
|
573
|
|
...
|
...
|
@@ -574,7 +578,7 @@ C) Quick Start
|
574
|
578
|
export SIP_DOMAIN="myserver.foobar.com"
|
575
|
579
|
- if you are using other than 'localhost' mysql server for maintaining
|
576
|
580
|
subscriber database, change the variable 'SQL_HOST' to the proper
|
577
|
|
- host name in the serctl script
|
|
581
|
+ host name in the kamctl script
|
578
|
582
|
- run the kamctl utility
|
579
|
583
|
/usr/sbin/kamctl moni
|
580
|
584
|
or
|
...
|
...
|
@@ -608,9 +612,9 @@ D) Kamailio With Persistent Data Storage
|
608
|
612
|
|
609
|
613
|
set-variable = max_connections=500
|
610
|
614
|
|
611
|
|
- 1) Download the package containin mysql support for Kamailio from the links
|
|
615
|
+ 1) Download the package containing mysql support for Kamailio from the links
|
612
|
616
|
you find on:
|
613
|
|
- http://www.kamailio.org/wiki/
|
|
617
|
+ https://www.kamailio.org/wiki/
|
614
|
618
|
|
615
|
619
|
(rpm and deb provided, most of the binary tar.gz distributions and the
|
616
|
620
|
solaris package include it; if it is not present you'll have to rebuild
|
...
|
...
|
@@ -634,7 +638,7 @@ D) Kamailio With Persistent Data Storage
|
634
|
638
|
- otherwise, if this is your very first installation, use
|
635
|
639
|
/usr/local/sbin/kamdbctl create
|
636
|
640
|
to create Kamailio database structures
|
637
|
|
- (you will be prompted for password of MySql "root" user)
|
|
641
|
+ (you will be prompted for password of MySql "root" user)
|
638
|
642
|
|
639
|
643
|
4) configure Kamailio to use SQL
|
640
|
644
|
uncomment all lines in configuration file kamailio.cfg which are related to authentication:
|
...
|
...
|
@@ -644,33 +648,33 @@ D) Kamailio With Persistent Data Storage
|
644
|
648
|
- modparam("usrloc", "db_mode", 2)
|
645
|
649
|
- modparam("auth", "calculate_ha1", yes)
|
646
|
650
|
- modparam("auth_db", "password_column", "password")
|
647
|
|
- - if (!www_authorize("sip-router.org", "subscriber")) {
|
648
|
|
- www_challenge("sip-router.org", "0");
|
|
651
|
+ - if (!www_authorize("example.com", "subscriber")) {
|
|
652
|
+ www_challenge("example.com", "0");
|
649
|
653
|
break;
|
650
|
654
|
}
|
651
|
655
|
|
652
|
656
|
5) be sure to replace realm, the first parameter in www_* actions,
|
653
|
|
- with name of your server; some broken UAC implementations don't
|
654
|
|
- authenticate otherwise; the authentication command in your
|
655
|
|
- configuration script should look then like this:
|
656
|
|
- if (!www_authorize("myserver.foobar.com", "subscriber")) {
|
657
|
|
- www_challenge("myserver.foobar.com", "0");
|
658
|
|
- break;
|
659
|
|
- }
|
|
657
|
+ with name of your server; some broken UAC implementations don't
|
|
658
|
+ authenticate otherwise; the authentication command in your
|
|
659
|
+ configuration script should look then like this:
|
|
660
|
+ if (!www_authorize("myserver.foobar.com", "subscriber")) {
|
|
661
|
+ www_challenge("myserver.foobar.com", "0");
|
|
662
|
+ break;
|
|
663
|
+ }
|
660
|
664
|
|
661
|
665
|
6) restart the server
|
662
|
666
|
|
663
|
|
- /etc/init.d/kamailio restart
|
|
667
|
+ /etc/init.d/kamailio restart
|
664
|
668
|
|
665
|
|
- 7) you can now start managing the server using the kamctl utility;
|
666
|
|
- you need to first set the environment variable SIP_DOMAIN to your
|
667
|
|
- local SIP realm, e.g.,
|
668
|
|
- export SIP_DOMAIN="myserver.foobar.com"
|
|
669
|
+ 7) you can now start managing the server using the kamctl utility;
|
|
670
|
+ you need to first set the environment variable SIP_DOMAIN to your
|
|
671
|
+ local SIP realm, e.g.,
|
|
672
|
+ export SIP_DOMAIN="myserver.example.com"
|
669
|
673
|
|
670
|
|
- a) watch the server status using 'kamctl moni'
|
671
|
|
- b) try to login with your SIP client as user 'admin' with password 'heslo'
|
672
|
|
- c) try adding new users using
|
673
|
|
- 'kamctl add <username> <password>'
|
|
674
|
+ a) watch the server status using 'kamctl moni'
|
|
675
|
+ b) try to login with your SIP client as user 'admin' with password 'heslo'
|
|
676
|
+ c) try adding new users using
|
|
677
|
+ 'kamctl add <username> <password>'
|
674
|
678
|
|
675
|
679
|
|
676
|
680
|
4. Troubleshooting
|
...
|
...
|
@@ -699,4 +703,4 @@ A: Use bug tracker at: https://github.com/kamailio/kamailio/issues
|
699
|
703
|
|
700
|
704
|
Q: Any F.A.Q. that could be helpful to check before reporting an issue?
|
701
|
705
|
|
702
|
|
-A: See: http://www.kamailio.org/wiki/tutorials/faq/main
|
|
706
|
+A: See: https://www.kamailio.org/wiki/tutorials/faq/main
|